TP/SL Orders FAQ: Why Take Profit and Stop Loss Orders Trigger, Fill or Fail
This FAQ answers common questions about take-profit (TP) and stop-loss (SL) orders on Perpetual Contracts, including why a TP/SL did not trigger, why it did not fully fill, and why the system rejected a price. For step-by-step setup, see How to Set Take Profit and Stop Loss.
Basics: what TP and SL do
A take-profit (TP) order closes a position automatically when the price reaches a profit target. A stop-loss (SL) order closes a position automatically when the price moves against you and reaches a loss limit. Both are triggered by a preset trigger price. After the trigger, the system submits a close order.
Example: XAUUSD is at 3,300 USD and you open a long position. You set a Take Profit at 3,350 USD and a Stop Loss at 3,260 USD. If the market rises to 3,350 USD, the TP triggers and the system submits a close order. If the market falls to 3,260 USD, the SL triggers and the system submits a close order.
Setup types
The platform supports three TP/SL setting methods:
- Set TP/SL at order placement. You set TP and SL when you submit the opening order. The settings take effect after the order fills. The close order defaults to a market order.
- Partial TP/SL on a position. You close only part of an existing position when the trigger price is reached. You can use a market or limit close.
- Position TP/SL on a position. You close 100% of an existing position when the trigger price is reached. The close is always a market order.
Long and short position directions
- Long position: the TP is set above the current or entry price, and the SL is set below it. A rising price means profit; a falling price means loss.
- Short position: the TP is set below the current or entry price, and the SL is set above it. A falling price means profit; a rising price means loss.
Example for a short position opened at 3,300 USD: TP at 3,250 USD and SL at 3,340 USD.
Are TP/SL orders guaranteed to fill?
No. A triggered TP/SL does not guarantee a fill at the trigger price.
- Market close: the order fills at the best available price, which may differ from the trigger price. The faster the market moves and the thinner the order book, the greater the difference.
- Limit close: the order is placed at your specified price. It fills only when market conditions allow, so it may stay unfilled or fill only partly.
Trigger questions
Why didn’t my TP/SL trigger? A TP/SL may not trigger for these reasons:
- The market price has not reached the trigger price.
- The TP or SL direction is wrong. For example, a TP was set in the wrong direction for a long position.
- The market moved briefly but did not meet the trigger condition.
- The position was closed manually or no longer exists.
- The contract is suspended, under maintenance, or restricted.
- The TP/SL setting was not created successfully, or it was cancelled.
Why is the fill price different from the trigger price? The trigger price only starts the close order. It is not the guaranteed fill price. A market close fills at the best available price. A limit close fills at your order price only when market conditions allow it.
Fill questions
Why didn’t my TP/SL fully fill after it triggered? A TP/SL may not fully fill for these reasons:
- The triggered order is a limit order, and the market did not reach the limit price.
- The market moved quickly and deviated from the limit price shortly after the trigger.
- Order book depth was insufficient, so the order partly filled.
- The order size is large and filled only partly.
- A change in position size, account status, or trading rules prevented normal execution.
Setting questions
When does a TP/SL set at order placement take effect? Only after the opening order fills and a position is formed. If the opening order does not fill, its TP/SL settings do not take effect. If the opening order partly fills, the TP/SL usually applies to the position formed by the partial fill.
Does a TP/SL set at order placement support limit orders? No. A TP/SL set at order placement defaults to a market close. To use a limit close, add a Partial TP/SL on the position after it forms and select the limit method.
What is the difference between Partial TP/SL and Position TP/SL? - Partial TP/SL closes only part of a position and supports market and limit methods. It suits staged profit-taking, staged stop-loss, or flexible position management. - Position TP/SL closes 100% of the position with a fixed market order. It suits one unified exit condition for the whole position.
Can I set both TP and SL at the same time? Yes. For example, on a XAUUSD long position you can set a Take Profit at 3,350 USD and a Stop Loss at 3,260 USD. Whichever triggers first causes the system to submit its close order. If the position closes, any remaining untriggered TP or SL may become inactive or be cancelled. Check the position page for the current status.
Can I set more than one Partial TP/SL? Generally, yes, to close a position in stages. For example, on a 10-lot XAUUSD long position, you could close 3 lots at 3,340 USD, 3 lots at 3,350 USD, and 4 lots at 3,360 USD. The total close quantity must not exceed the quantity currently available to close.
Can I modify or cancel a TP/SL? Before it triggers, you can usually modify or cancel it from the relevant order list or the position page. After a successful modification, the new trigger price, close quantity or order method applies. After a successful cancellation, the TP/SL no longer triggers.
Can TP/SL orders prevent forced liquidation? No. TP/SL orders help you manage risk, but they cannot fully protect against forced liquidation. In fast markets, low depth, insufficient margin, or large price gaps, a Stop Loss may not fill at the expected price, and the position may still be liquidated.
Should I choose a market or limit TP/SL? - Choose market if execution speed is the priority. It closes at the best available market price but may incur slippage. - Choose limit if price control is the priority. It may not fill, or may fill only partly.
Price and quantity errors
Why does the system say the TP/SL price is invalid? The system checks the trigger price against the position direction.
- Long position: the TP should be above the current price, and the SL below it.
- Short position: the TP should be below the current price, and the SL above it.
For example, with XAUUSD at 3,300 USD: a long can use a TP at 3,350 USD and an SL at 3,260 USD; a short can use a TP at 3,250 USD and an SL at 3,340 USD. If the direction is unreasonable, the TP/SL may trigger immediately when set, or the submission may fail.
Why does the system say the close quantity exceeds the available amount? A Partial TP/SL cannot close more than the position’s current available close quantity. Pending close orders, other Partial TP/SL orders, or a change in position size can reduce the available quantity. Re-enter the quantity based on the amount shown on the page.
Why can’t I set a Position TP/SL for part of my position? A Position TP/SL always closes 100% of the position when triggered. To close part of a position, use Partial TP/SL.
Why does Position TP/SL only support a market close? Position TP/SL is designed to exit the whole position as quickly as possible once the condition is met, so the platform uses a fixed market close. To control the close price with a limit order, use Partial TP/SL and select the limit method.
Points to note
- After a TP/SL triggers, the final fill price may differ from the trigger price.
- A TP/SL set at order placement defaults to a market close.
- Partial TP/SL on a position supports market and limit methods.
- Position TP/SL uses a fixed market order to close 100% of the position.
- A market close prioritizes speed but may have slippage.
- A limit close prioritizes price control but may not fill.