I have seen in futures perpetuals that the formula for entryprice is a little different than other futures exchanges, but which has a huge impact in price !
Right now the formula for LONG positions if initialPosAmount > rebuyAmount , and if the InitialEntryPrice > rebuyPrice is like this :
EntryPrice = rebuyPrice + ( ( ( ( InitialPosAmount + RebuyPosAmount ) / 2 ) / InitialPosAmount ) * ( ( InitialEntryPrice - rebuyPrice )/ 2 ) )
What it should be by my proposal:
EntryPrice = EntryPrice - ( ( RebuyPosAmount / InitialPosAmount ) * ( ( InitialEntryPrice - rebuyPrice ) / 2 ) )
For example , if we open a LONG position of 0.7 BTC at 48000 BTC/USDT price, then after that we open another LONG position of 0.3 BTC at 45000 BTC/USDT price, with actual formula it goes like this:
EntryPrice = 45000 + ( ( ( ( 0.7+ 0.3 ) / 2) / 0.7 ) * ( ( 48000 - 45000 ) / 2 ) ) = 46071.4286
EntryPrice = 45000 + ( ( 0.5 / 0.7 ) * 1500 ) = 46071.4286
As you can see, we rebought 0.3 BTC in the second trade, but the formula calculates as if we bought 0.5 BTC, which is not normal, and the Price impact is more than 1000 USDT comparing to other futures exchanges or to be more exact :
47357.1429 - 46071.4286 = 1285.7143 !.
But by the proposal formula it would be :
EntryPrice = 48000 - ( ( 0.3 / 0.7 ) * ( ( 48000 - 45000 ) / 2 ) ) = 47357.1429
EntryPrice = 48000 - ( ( 0.3 / 0.7 ) * 1500 ) = 47357.1429
Which is more realistic to the amount you buy, and doesn’t add up more amount to the calculation than the actual one you bought.
The proposed formula is in all other futures exchanges, that’s why it confused me when I saw this one in Binance futures !
Hope you take this in consideration, and make the change. Thanks very much if you do.!