TP/SL Order Introduction
What is Take Profit / Stop Loss (TP/SL)?
Take Profit / Stop Loss (TP/SL) is a widely used risk management tool. Users can set target price levels in advance. When the market reaches those levels, the system automatically submits a close order to lock in profits or limit losses.
In perpetual futures trading, TP/SL is typically applied to existing positions or positions about to be opened. Users can preset their profit targets and loss limits according to their trading plan.
Take Profit (TP)When the price moves in a favorable direction and reaches the target price, the system automatically submits a close order to lock in gains.
Stop Loss (SL)When the price moves in an unfavorable direction and reaches the preset level, the system automatically submits a close order to limit risk.
📚For example, a user opens a long position on the XAUUSD perpetual contract at 6,000 USD.
If the user wants to automatically close for profit when the price reaches 6,200 USD, they can set a Take Profit at 6,200 USD.
If the user wants to automatically close to limit losses when the price falls to 5,850 USD, they can set a Stop Loss at 5,850 USD.
How TP/SL Works
TP/SL orders work in two steps:
➡️Step 1: Set the trigger price.
Users set the TP or SL trigger price. When the market reaches this price, the TP/SL is triggered.
➡️Step 2: Submit a close order.
Once triggered, the system submits a close order according to the user's settings. The close order may be a market order or a limit order, depending on the TP/SL type selected.
*Note that triggering a TP/SL does not guarantee execution at the trigger price. The actual fill price depends on order type, market volatility, order book depth, and order size. TP/SL orders remain active indefinitely and are not subject to expiration cancellation, but will be automatically removed once the position is fully closed or liquidated.
What TP/SL Options Does the Platform Support?
The platform supports the following TP/SL setting methods:
1.Set TP/SL at Order Placement
2.Set Partial TP/SL on a Position
3.Set Position TP/SL on a Position
Each method suits different scenarios. Users can plan their TP/SL before opening a position, or adjust it after the position is established based on market developments.
Set TP/SL at Order Placement
Setting TP/SL at order placement means the user specifies TP and SL levels for the position when submitting the open order.
Once the open order is filled and a position is established, the TP/SL settings take effect. When the market reaches the trigger price, the system automatically submits a close order.
TP/SL set at order placement defaults to market order close. This means that when TP or SL is triggered, the system will close the position at the best available market price.
📚Example
The current XAUUSD perpetual contract price is 6,000 USD.
A user submits a buy order to open a long position and simultaneously sets:
Take Profit: 6,200 USD
Stop Loss: 5,850 USD
After the order is filled, if the market rises to 6,200 USD, the Take Profit is triggered and the system submits a market close order for the long position.
If the market falls to 5,850 USD, the Stop Loss is triggered and the system submits a market close order for the long position.
💡Use Case
Setting TP/SL at order placement is ideal for users who want to establish their exit strategy before or at the time of opening a position.
For example, a user who has already determined their profit target and maximum acceptable loss can set TP/SL simultaneously when opening the position, avoiding the risk of forgetting to set them later or being unable to react fast enough during rapid market moves.
Set TP/SL on an Existing Position
Setting TP/SL on an existing position means the user navigates to the position page while holding a position and configures TP/SL for that position.
The platform supports two types of position-level TP/SL:
1.Partial TP/SL
2.Position TP/SL
Partial TP/SL
Partial TP/SL allows users to set a TP or SL for a portion of the current position. When the trigger price is reached, the system partially closes the position by the specified quantity.
The platform's Partial TP/SL supports both market order and limit order close methods.
Partial TP/SL: Market Order
When the market order method is selected, upon triggering, the system closes the specified quantity at the best available market price.
This method prioritizes execution speed, though the final price may be affected by market volatility and order book depth.
Partial TP/SL: Limit Order
When the limit order method is selected, upon triggering, the system submits a limit close order at the user's specified price.
This method provides price control, but execution is not guaranteed. If the market moves sharply after the trigger or does not reach the limit order's fill conditions, the order may not fill or may only partially fill.
📚Example
A user holds a XAUUSD long position of 1 XAU.
The user wants to lock in partial profits by closing 0.4 XAU when the price reaches 6,200 USD. A Partial TP can be set as follows:
Trigger Price: 6,200 USD
Close Quantity: 0.4 XAU
Close Method: Market or Limit
When the market reaches 6,200 USD, the system closes 0.4 XAU according to the selected method. The remaining 0.6 XAU position is retained.
💡Use Case
Partial TP/SL is ideal for users who want to close positions in stages, take profit incrementally, or manage risk gradually.
For example, a user who does not want to close the entire position at once can set multiple Partial TP/SL orders at different price levels for more flexible position management.
Position TP/SL
Position TP/SL allows users to set a TP or SL for the entire position. When the trigger condition is met, the system closes 100% of the position.
Position TP/SL uses a fixed market order close. When triggered, the system closes the entire position at the best available market price.
📚Example
A user holds a XAUUSD long position of 1 XAU.
The user wants to close the full position to limit risk if the price falls to 5,850 USD. A Position Stop Loss can be set as follows:
Trigger Price: 5,850 USD
Close Ratio: 100%
Close Method: Market
When the market reaches 5,850 USD, the Position Stop Loss is triggered and the system closes the entire position at the best available market price.
💡Use Case
Position TP/SL is ideal for users who want to set a single, unified exit condition for their entire position.
For example, a user who has defined an overall profit target or maximum acceptable loss for a position can use Position TP/SL to exit the entire position in one action when triggered.
Differences: Order-Level TP/SL, Partial TP/SL, and Position TP/SL
Order-Level TP/SL is set simultaneously when placing the open order. It is suitable for users who want to plan their exit strategy upfront. It defaults to market order close.
Partial TP/SL is set on an existing position and allows closing only part of the position. It supports both market and limit close methods, making it suitable for staged profit-taking, staged stop-loss, or flexible position management.
Position TP/SL is also set on an existing position, but triggers a 100% full close with a fixed market order. It is best for users who want a single unified exit condition for the entire position.
TP/SL Direction for Long and Short Positions
Long Position TP/SL
When holding a long position, a price increase typically represents a profit and a price decrease represents a loss.
Therefore, the Take Profit price for a long position is typically set above the entry/current price.
The Stop Loss price for a long position is typically set below the entry/current price.
📚Example:
A user opens a long XAUUSD position at 6,000 USD.
Take Profit can be set at 6,200 USD.
Stop Loss can be set at 5,850 USD.
Short Position TP/SL
When holding a short position, a price decrease typically represents a profit and a price increase represents a loss.
Therefore, the Take Profit price for a short position is typically set below the entry/current price.
The Stop Loss price for a short position is typically set above the entry/current price.
📚Example:
A user opens a short XAUUSD position at 6,000 USD.
Take Profit can be set at 5,800 USD.
Stop Loss can be set at 6,150 USD.
Is TP/SL Guaranteed to Execute?
Triggering a TP/SL does not guarantee execution at the trigger price.
If the close order submitted after triggering is a market order, the system will execute at the best available price, but the final price may differ from the trigger price — especially during rapid market moves or when order book depth is low.
If the close order is a limit order, it will be filled at the specified price or better. However, if the market does not meet the fill conditions or moves away quickly after the trigger, the order may not fill or may only partially fill.
Frequently Asked Questions
Why Didn't My TP/SL Trigger?
A TP/SL order may not trigger for the following reasons:
a: The market price has not yet reached the trigger price.
b: The TP/SL direction is incorrect — for example, setting a Take Profit for a long position in the wrong direction.
c: The market briefly fluctuated but did not meet the system's triggering price condition.
d: The position has already been manually closed or no longer exists.
e: The account or contract is in an abnormal state, such as a suspended, under maintenance, or restricted contract.
f: The TP/SL parameters do not comply with platform rules, preventing successful creation or activation.
Why Didn't My TP/SL Fill Completely After Triggering?
A TP/SL may not completely fill after triggering for the following reasons:
a: The triggered close order is a limit order, but the market did not reach the fill condition.
b: The market moved quickly and the price deviated rapidly after the trigger.
c: Insufficient order book depth resulted in only a partial fill.
d: The order size is large and requires filling across multiple price levels.
e: Changes in position size, margin, or trading restrictions affected order submission or execution.
What to Note When Using TP/SL
a: After TP/SL is triggered, the final execution price may differ from the trigger price.
b: Market order TP/SL prioritizes execution speed but may incur slippage.
c: Limit order TP/SL allows price control but may not fill or may only partially fill.
d: TP/SL set at order placement defaults to market order close.
e: Partial TP/SL supports both market and limit orders, suitable for staged position management.
f: Position TP/SL uses a fixed market order for 100% close, suitable for full position exit.