Toobit futures trading, take-profit (TP) and stop-loss (SL) orders are essential tools for managing risk and securing profits. However, there may be instances when your order fails to execute even though the market price reaches your preset TP or SL level, and liquidation still occurs.
This may be due to various factors, including the trigger price type, order price type, market fluctuations, order book depth, order volume, and sufficient margin. Understanding how TP/SL orders work can help you optimize your trading strategy and better manage risk.
TP/SL trigger price ≠ Order price ≠ Filled price. It is important to understand how TP/SL orders work. For market orders, the system places the order at the best available price in the current market, and the final filled price depends on market conditions.。
This article explores common reasons why TP/SL orders may fail to execute or be only partially filled, helping you better understand mechanics and optimize your trading strategy. Below, we provide detailed explanations of three common scenarios where take-profit or stop-loss orders are not fully executed.
1. TP/SL trigger price not triggered
A TP/SL is only sent to the market after the trigger price is successfully reached. When setting a TP/SL order, you can choose between two types of trigger prices:
-
Last price
-
Mark price
You can view both price types on the candlestick chart and switch between them to compare historical price movements. If the selected trigger price never reaches your preset trigger level, the TP/SL order will not be activated.
Example: Assume you open an ETHUSDT perpetual futures long position with an average entry price of 2,300 USDT.
You set:
TP trigger price: 2,500 USDT
Trigger type: Mark price
TP order price: 2,500 USDT
If the last price briefly rises above 2,500 USDT and quickly falls back, but the mark price never reaches 2,500 USDT, the TP order will not be triggered.
As a result, no TP order will be submitted to the market, and the position will remain open.
2. Limit orders not filled
There are two types of TP/SL orders:
-
Market orders: Once triggered, these orders will be placed at the best available market price, helping you execute the trade quickly.
-
Limit orders: Once triggered, these orders are placed at the price you set (the highest buy price or the lowest sell price you are willing to accept).
By default, TP/SL orders are set as market orders, but you can choose to set them as limit orders.
To improve the fill probability of limit TP/SL orders:
-
Set the limit buy price slightly higher than the trigger price
-
Set the limit sell price slightly lower than the trigger price
Example:
Assume you open an ETHUSDT perpetual futures long position at 2,300 USDT and set:
SL trigger price: 2,290 USDT
Trigger type: Last price
SL order type: Limit order
Limit price: 2,290 USDT
When the last price falls to 2,290 USDT, the SL order is triggered, and the system places a limit sell order at 2,290 USDT.
However, if the market is volatile and the price drops rapidly, the order may not be fully executed because there may not be enough buyers at 2,290 USDT.
To improve execution probability, you may set the limit price lower, such as 2,288 USDT. This increases the likelihood that the order will match successfully after being triggered.
3. Orders are subject to position limits and matching priority
All orders must comply with the maximum order size limit and sufficient margin. If an order exceeds the maximum size or lacks sufficient margin at the time of triggering, it may fail to be placed.
After a TP/SL order is triggered, it is matched according to the exchange matching engine's:
-
Price priority
-
Time priority
Orders with better prices are matched first. If multiple orders have the same price, earlier orders receive execution priority.
As a result, even if your TP/SL order is successfully triggered and submitted to the market, it may still be partially filled or remain unfilled if:
-
Market liquidity is insufficient
-
Other orders have higher matching priority
-
The market moves too quickly
In summary, whether a TP/SL order can be fully executed depends on various factors, including the trigger price type, order type, market volatility, order book liquidity, order size, and the available margin. To improve execution reliability and better manage trading risk, it is recommended to carefully choose the appropriate TP/SL trigger type and order parameters based on current market conditions.



