You set your take-profit or stop-loss (TP/SL), the market reaches your level, but your position is still open. Did the TP/SL fail?
Not necessarily.
A TP/SL has more than one step between being set and fully closing a position. The right price first needs to meet your trigger condition. Once that happens, the resulting closing order still needs to be executed.
This is why a TP/SL may sometimes appear not to trigger. In other cases, it may trigger successfully but leave part of your position open or execute at a different price than you expected.
So, what can happen along the way, and what should you check when your TP/SL does not work as expected?
Here is what you need to know.
How does TP/SL work?
A TP/SL is a conditional order that helps you manage when to close a futures position without having to watch every market move.
When setting one, you choose a trigger price and the price type used to determine whether that level has been reached. Once the selected price meets your trigger condition, the TP/SL is triggered and the corresponding closing order is submitted.
From there, the order still needs to be filled.
Think of it as two separate stages: triggering and execution. A TP/SL can trigger correctly without the resulting order being fully executed. Likewise, a price you see on the chart may reach your level without meeting the specific trigger condition you selected.
Understanding which stage caused the unexpected result is usually the first step toward figuring out what happened.
Why didn't my TP/SL trigger when the price reached my level?
If the market appears to have reached your TP/SL price but nothing happened, start by checking the trigger price type you selected.
The price you see moving on the chart may not be the same price your TP/SL is monitoring.
For example, suppose you set a take-profit trigger at 2,500 USDT using the mark price. The last price briefly reaches 2,505 USDT, while the mark price only reaches 2,495 USDT.
Your take-profit would not trigger in this case because the selected trigger price, the mark price, never reached 2,500 USDT.
This is easy to miss when you are watching a fast-moving chart. If your TP/SL appears to have skipped its level, check both the trigger price and the price type you selected before assuming something went wrong.
Why did my TP/SL trigger but my position stay open?
Once your TP/SL is triggered, the corresponding closing order is submitted. But that order still needs to be filled under the available market conditions.
If a limit order is used, for example, there needs to be enough liquidity at an eligible execution price. If the market moves away before the order can be filled, all or part of it may remain open.
Market orders can also be affected by available liquidity. In fast-moving or thin markets, an order may be partially filled or fail to fill completely.
In other words, your TP/SL may have triggered correctly even though the position itself has not been fully closed.
If your TP/SL shows as triggered but your position remains open, check the resulting order. Its status can tell you whether it was fully filled, partially filled, or remains unfilled.
Can other closing orders affect my TP/SL?
Toobit prioritizes triggered partial TP/SL and trailing TP/SL orders over other closing orders in the same direction.
When a TP/SL triggers, the system evaluates it based on your total position size and current order status. If other unfilled closing orders have reserved the position needed for the TP/SL, the system can automatically cancel those orders to release the required quantity.
When multiple closing orders need to be canceled, older orders are canceled first until enough of the position becomes available for the TP/SL.
For example, suppose you hold a 5 BTC long position and set a take-profit to close 100% of the position. Before it triggers, you place another closing limit order for 3 BTC, which remains unfilled.
When the take-profit triggers, the system can cancel the existing closing order to release the reserved quantity, allowing the TP/SL to execute against the full position.
This priority mechanism helps reduce situations where another closing order prevents a triggered TP/SL from accessing enough of your position. You can find the full priority and cancellation rules in Toobit’s TP/SL order execution mechanism update.
Can my TP/SL still be partially filled?
Yes. Prioritizing a triggered TP/SL over other closing orders does not guarantee that the resulting order will be fully executed.
Execution can still be affected by market volatility, available liquidity, order type, system processing delays, network latency, and other market conditions. Under extreme conditions, a TP/SL may be partially filled, delayed, or not fully executed.
This is why it is important to distinguish between having enough of your position available for the TP/SL and the resulting order actually being filled in the market.
If only part of your position closes after a TP/SL triggers, check the resulting order status and the market conditions around the time of execution.
Why didn't my trailing TP/SL trigger?
Trailing TP/SL works a little differently from a standard TP/SL because it follows favorable price movement and waits for a reversal before triggering.
For a long position, the tracked price can continue moving higher as the market reaches new highs. The trailing TP/SL triggers only when the price pulls back from the highest tracked level by the callback rate or trailing distance you set.
For a short position, the same idea works in reverse. The tracked price can continue moving lower, and the order triggers after the required rebound from the lowest tracked level.
This means the market can move well beyond the level you were originally watching while the trailing TP/SL continues to follow it.
If yours did not trigger when you expected, check its activation condition, callback setting, and the highest or lowest price reached after activation. The trailing TP/SL FAQ covers the specific trigger conditions and examples.
Can market volatility affect my TP/SL?
Yes. In a fast-moving market, a lot can happen between the trigger and the final fill.
Prices can move through several levels quickly, while available liquidity can change at the same time. This may affect both the price and quantity at which the resulting order is filled.
As a result, your actual execution price may differ from your trigger price, particularly during sharp market moves.
The key distinction is that your trigger price determines when the closing process begins. It does not guarantee the final price at which your position will be closed.
What should I check if my TP/SL didn't work as expected?
If your TP/SL behaves differently from what you expected, first work out whether the issue happened before or after the trigger.
You can then check:
-
the trigger price and price type you selected
-
whether the selected price actually reached your trigger level
-
whether the TP/SL was triggered
-
whether the resulting order was fully filled, partially filled, or remained unfilled
-
whether other closing orders were active at the time
-
whether rapid price movement or available liquidity affected execution
-
whether system or network conditions affected order submission or execution
Your order history can also help you trace what happened after the trigger condition was reached.
Understanding your TP/SL
A TP/SL does not guarantee that your position will close simply because a price on the chart reaches the level you entered. The selected price must first meet the trigger condition, and the resulting closing order must then be executed.
If something does not happen as expected, check the trigger condition first, then review the resulting order and the market conditions around the time it was triggered.
Understanding these steps can help you identify what happened and use TP/SL with clearer expectations the next time you trade.
