Login Page - Create Account

Support Board


Date/Time: Wed, 12 Mar 2025 06:39:07 +0000



Post From: flat to flat open position average price calculation

[2019-04-04 23:24:59]
User753428 - Posts: 171
Okay I can see why you are confused and this is not the biggest deal ever so no worries. Even if this is not implemented, SC is still the best retail platform out there, that is a fact.

To say that Sierra Chart does not calculate average price of a Position correctly

No, there are no errors in your calculation implementations, whether it's for FIFO, LIFO, Flat to Flat Open Position Average Price as you have defined them in your documentation. I use them extensively and they are all done correctly afaic.

does not offer what you want makes no sense at all

Okay so I'll try to be more clear here. Your 'Flat to Flat Open Position Average Price' method is quite different from the 'analogous" method offered in other platforms. As mentioned in the documentation for this method,
The Flat to Flat Average Price changes as new entry order fills are made. Exit order fills have no effect until the Trade Position goes to 0. Unlike the other average price calculations, this is not just an average of the remaining open fills which make up the current Trade Position.

The way other platforms usually calculate this sort of open position average price and that many people like me are accustomed to is this (I have simply edited the excerpt from your 'Flat to Flat Open Position Average Price' documentation and made the modifications so as to be extra clear):

The Average Price changes as new entry order fills are made. Exit order fills have no effect on the average price but decrease the weight (position size) at the average price. When exit order fills that do not bring the Trade Position to 0 are executed, and afterwards additional new entry order fills are made, the new average price is the weighted average of the previous average price and the prices of new entry order fills. Like the other average price calculations, this is an average of the remaining open fills which make up the current Trade Position.

I hope that makes sense. If it doesn't, just go back and re-read the trade example I posted in my OP. It should be pretty clear.

There are two standard methods of matching of fills in order to reduce the position quantity and therefore result in what order fills remain and therefore what fills will participate in the current position average price calculation. There is LIFO and FIFO. Both of these are fully supported and can be selected.

Yes, LIFO and FIFO are two of the standards. I am saying that the average price calculation I just described is also another standard that is commonly used, at least from my experience. The advantage that this method has over LIFO or FIFO or SC's 'Flat to Flat Open Position Average Price' is that it displays the exact price at which you will break-even for the cumulative PnL of ONLY the remaining open trades.

That is why I brought up the whole scaling-in and scaling-out thing and why that's relevant; b/c sometimes, traders, after having locked in some profits after partially scaling-out, prefer to know at which price they will break-even for ONLY their remaining open trades so that their total Net PnL will never go below the profits that they locked-in from the previous partial scaling-out.

I know for a fact that this is the only average price calculation method that is used in crypto exchanges/platforms (bitmex, bitfinex, bitstamp, etc.) since I only traded crypto from 2012 till 2018 until I also started trading futures.

I live in S.Korea and I have mostly used only South Korean futures brokers and their platforms. For whatever reason, this is the only average price calculation method that is used in every single trading platform here so naturally, I thought this was the norm. Perhaps that is not actually the case so sorry if there was any confusion.