I am working bot to execute USD Futures leverage trades. This bot inserts TAKE PROFIT MARKET orders to take partial profits at different target prices. I expect such orders to be executed at a price very close to trigger price.
For instance a TAKE_PROFIT order to take profits on a LONG trade on BALUSDT with trigger price >= 8.365 had been executed at average price of 8.299 which is quite away!
This happens using either ‘MARK_PRICE’ or ‘CONTRACT_PRICE’ working type (see Binance API Documentation ) and ‘priceProtect’ set or not…
Any idea of what causes that?
This is may be due to the high volatility during that time when your price is triggered. The time where trigger price is reached to the time where the system places an market order may result in the price dropping from 8.365 to 8.299
One suggestion is to have a higher trigger price.
Thank you for your answer. I accept it since a you said nothing can prevent volatility to cause market order inserted when take profit market order is triggered to be executed at a different price.
However, I had not observed this behavior with take profit market orders manually inserted through the Binance app instead of API.
Because my trades have precise targets, I would rather use TAKE_PROFIT order with limit order price set to trigger price than trying to play with trigger price.