FIFO rule kills futures traders profits!

I have no background in using Motivewave, Tradovate and Tradingview. Can’t help you there.

If someone held a gun to my head and forced me to manually scalp ES and NQ, I would lease the highest speed line I could get, I would clear an FCM directly (Advantage, Dorman, Rosenthal Collins, RJ O’Brien), and I would use TT X-Trader.

I’ve sat next to some seven figure scalpers on Eurex and Globex years ago - but they were all considerably more selective than you are. Your broker must love you.

And they usually got fired for adding because that takes no particular art or skill - any monkey can fade a market.

Ok thank you very much. TBH i am not using market orders. My strategy is usually market making strategy to protect myself against the slippage.

Averaging down is included my strategy. I "usually" don't lose any *positions* but of course i have some losing contracts. I have tried to explain this.

Market does same thing over and over again and if you know how to see those so called hidden patterns then you are good to go.
 
First of all, what you are describing is just different accounting. Fifo does not produce different final pnl than Lifo. Secondly, IB among many others update the cost basis if you add to positions (long or short) and do not adjust cost basis when you reduce positions. Just as it should be done. Any platform that does not do such does it the non conventional way. But no matter what, it does not make a difference to your actual pnl.

Hi Traders,

FIFO: First in first out
LIFO: Last in first out


I'm a futures trader and tried many brokers. All of them use FIFO rule and it kills me. Trading is hard (and hardest way to make money). FIFO rule makes it harder.

I never ever enter full lot. Let's say i am trading 10 lots ES. I usually start with 3 or 5 lots and average my position as it goes against me. I will give you an example why FIFO is evil.

I will use round numbers for the simplicity.

1. I go long ES at 3500
2. ES goes 10 pts against me and i add at 3490
3. Now my avg entry is 3495 which is equal to Entry = 3495
4. Now price goes 10 pts against me and i added 1 more at 3480
5. Now my entry is 3490 "(3480 + 3490 + 3500) / 3 = 3490"

I hope all is clear now. Now price starts to go my direction. Here's what i do...

1. Price hits 3490
2. I only leave 1 contract and take others off. I close 2 lots
3. Now my platform gives me 1 losing trade and 1 breakeven (and commissions) because of FIFO rule and my platform moves my entry from 3490 to the last entry which is 3480 and i will see 10 pts profit as my open P&L. (This is not TRUE)
4. Price goes back to 3480 and i add one more now my platform will show me 3480 x 2 lot.

Here we go. The reality is my entry should be (3480 + 3490) / 2 = 3485

I totally understand this approach but this is wrong. They have to keep the average entry until we close entire position.

Do you there's a way to do this? I use Motivewave, Tradovate and Tradingview but i couldn't find any solutions.

Why is that important?

I want to see my average entry plotted on chart until i close my entrie position and i want to see my real average entry not the ones left.

What do you think???
 
I think you still don't get it. This is an accounting issue not an execution or routing issue.

Please correct me if I'm wrong - but don't you have to route your trades through Sierra for the Trade Activity Log to work?
 
First of all, what you are describing is just different accounting. Fifo does not produce different final pnl than Lifo. Secondly, IB among many others update the cost basis if you add to positions (long or short) and do not adjust cost basis when you reduce positions. Just as it should be done. Any platform that does not do such does it the non conventional way. But no matter what, it does not make a difference to your actual pnl.
That confuses me and i believe i couldn't explain my problem due to language barrier.
 
I think I understood you perfectly and I described how it should be done. If you buy 1 your cost basis (=avg px) will be updated, with 1 lot just the actual execution price. Buy another lot and your cost basis gets updated again. Sell one lot and it does not get updated. Buy 5 lots and it gets updated. Sell another 3 lots and it does not get updated. Do you get my drift? Whenever you move away from the zero position line your avg px needs to get updated. When you move closer to the zero position line it does not get updated. If you hold net 5 long and sell 10 then for 5 lots your avg px does not get updated but the remaining 5 that you are now short update the avg px to the avg fill of those 5 last lots. That's how it must be done and is done by any professional trading software application or middle office. If your app or broker does not do that then you have 2 choices
1 leave the broker or app and choose one that suits your needs
2 or access their api and write or let someone write an app that updates your true avg cost basis in real time upon each fill.

I can't describe it any better.

That confuses me and i believe i couldn't explain my problem due to language barrier.
 
Hi Traders,
.....
I want to see my average entry plotted on chart until i close my entire position and i want to see my real average entry not the ones left.

What do you think???

I understand, this is not the best "visually" for a scalper who uses charts with multiple entries. Since the FIFO rule is used in the US, I doubt that you will find a platform that would show an entry price average.
A solution could be to see all trades really independent to each other, with different logics, entry and exit prices. That would require you to consider that your first trades could be wrong (early entries).
Another solution could be to use an API + your program skills..

I don't scalp that way, but I definitely use more than one entry to build a position (see the Tradestation attached picture). I always (forced myself to) see different trades with different results when that happens.

Best!
 

Attachments

  • TSImage.jpg
    TSImage.jpg
    18.8 KB · Views: 74
I also recommend SierraCharts. You can set it up as you wish. If it is not implemented, you can implement it as a custom indicator. But I quickly checked and you can adjust it to Last In First Out fill matching for open position average price.
Also, I use SierraCharts in Linux, so Mac should not be a big problem to set it up.

OpenPOsitionAveragePrice.png
 
Hi Traders,

FIFO: First in first out
LIFO: Last in first out


I'm a futures trader and tried many brokers. All of them use FIFO rule and it kills me. Trading is hard (and hardest way to make money). FIFO rule makes it harder.

I never ever enter full lot. Let's say i am trading 10 lots ES. I usually start with 3 or 5 lots and average my position as it goes against me. I will give you an example why FIFO is evil.

I will use round numbers for the simplicity.

1. I go long ES at 3500
2. ES goes 10 pts against me and i add at 3490
3. Now my avg entry is 3495 which is equal to Entry = 3495
4. Now price goes 10 pts against me and i added 1 more at 3480
5. Now my entry is 3490 "(3480 + 3490 + 3500) / 3 = 3490"

I hope all is clear now. Now price starts to go my direction. Here's what i do...

1. Price hits 3490
2. I only leave 1 contract and take others off. I close 2 lots
3. Now my platform gives me 1 losing trade and 1 breakeven (and commissions) because of FIFO rule and my platform moves my entry from 3490 to the last entry which is 3480 and i will see 10 pts profit as my open P&L. (This is not TRUE)
4. Price goes back to 3480 and i add one more now my platform will show me 3480 x 2 lot.

Here we go. The reality is my entry should be (3480 + 3490) / 2 = 3485

I totally understand this approach but this is wrong. They have to keep the average entry until we close entire position.

Do you there's a way to do this? I use Motivewave, Tradovate and Tradingview but i couldn't find any solutions.

Why is that important?

I want to see my average entry plotted on chart until i close my entrie position and i want to see my real average entry not the ones left.

What do you think???
If I'm getting what you're saying, I agree. I realized that recently because I trade the same way. So what I do now is I make sure I don't sell any of the contracts until I'm at least into the green of where I bought the first contract, at the highest price. So I don't lose any money when I sell.
 
If I'm getting what you're saying, I agree. I realized that recently because I trade the same way. So what I do now is I make sure I don't sell any of the contracts until I'm at least into the green of where I bought the first contract, at the highest price. So I don't lose any money when I sell.
Do you scale out of losing positions or close the position all at once?
 
.... So what I do now is I make sure I don't sell any of the contracts until I'm at least into the green of where I bought the first contract, at the highest price. So I don't lose any money when I sell.

That is my deepest dream, not to lose any money when I sell.. ;)
 
Back
Top