- What is trailing take profit/stop loss (TP/SL)?
Trailing TP/SL allows users to preset orders within a price range defined by a fixed percentage from the market price during market fluctuations. After the market moves in a direction favorable to the user and then reverses, trailing TP/SL can limit losses and protect profits.
When the price moves in a favorable direction, the trailing TP/SL also moves by a fixed percentage. As long as the price continues to move in the user's favor, the position remains open and continues to lock in profits. The trailing TP/SL does not move in the opposite direction.
- Trailing TP/SL rules
1. When the user holds a long position, the parameters for trailing TP/SL are set as follows:
Activation price: 9,000
Callback rate: 5%
As the market fluctuates, the user's TP/SL order will undergo the following changes:
When the last price reaches 9,000, the system activates the trailing TP/SL order and the trigger price at this time is 9,000 * (1 - 5%) = 8,550.
If the price continues to rise and reaches a high of 9,500, the trigger price is then calculated as 9,500 × (1 - 5%) = 9,025.
If the price falls to 9,200, since the highest price is still 9,500 and the callback rate is less than 5%, the order is not triggered and the trigger price remains at 9,025.
If the price rises to 10,000, surpassing the previous high of 9,500, now the trigger price is 10,000 * (1 - 5%) = 9,500.
If the price falls to 9,500, the callback rate is met. The trailing TP/SL order is triggered and a market order is placed to close long.
2. When the user holds a short position, the parameters for trailing TP/SL are set as follows:
Activation price: 10,000
Callback rate: 5%
As the market fluctuates, the user's TP/SL order will undergo the following changes:
When the last price reaches 10,000, the system activates the trailing TP/SL order and the trigger price at this time is 10,000 * (1 + 5%) = 10,500.
If the price continues to fall and reaches a low of 9,500, the trigger price is then set at 9,500 * (1 + 5%) = 9,975.
If the price rises to 9,800, the lowest price remains at 9,500. The trigger price stays at 9,975, and since the 5% callback condition is not met, the order is not triggered.
If the price falls further to a new low of 9,200, the trigger price is updated to 9,200 * (1 + 5%) = 9,660.
If the price rises to 9,660, the 5% callback condition is met. The trailing TP/SL order is triggered and a market order is placed to close short.
- TP/SL examples
1. Closing a long position in a bullish market:
Based on recent market trends, price increases are typically followed by callbacks of no more than 3%. Therefore, the following assumption is made: In recent market conditions, callbacks within 3% are generally considered normal corrections, and the uptrend is expected to continue. However, if the callback exceeds a certain threshold (assumed to be 5%), it may indicate a potential trend reversal, suggesting that the bullish trend is ending and a sharp decline could follow. Positions need to be closed before a sharp market decline occurs.
Current position:
Position size: 2 BTC
Position direction: Long
Average open price: 40,000
Last price: 42,000
Based on the current position, unrealized PnL = (42,000 - 40,000) * 2 = 4,000
Trailing TP/SL parameters are set as follows:
Activation price: 43,000
Callback rate: 5%
At this time, when the last price rises to 43,000, the trailing TP/SL is activated and the trigger price is set at 43,000 * (1 - 5%) = 40,850. In subsequent market movements, if the callback rate reaches 5%, namely the price reaches 40,850, the trailing TP/SL order will be triggered and a market order will be placed to close long. The PnL is calculated as (40,850 - 40,000) * 2 = 1,700.
2. Closing a short position in a bearish market:
Based on recent market trends, price declines are typically followed by callbacks of no more than 3%. Therefore, the following assumption is made: In recent market conditions, callbacks within 3% are generally considered normal corrections, and the downtrend is expected to continue. However, if the callback exceeds a certain threshold (assumed to be 5%), it may indicate a potential trend reversal, suggesting that the bearish trend is ending and a sharp increase could follow. Positions need to be closed before a sharp market rise occurs.
Current position:
Position size: 2 BTC
Position direction: Short
Average open price: 40,000
Last price: 38,000
Based on the current position, unrealized PnL = (40,000 - 38,000) * 2 = 4,000
Trailing TP/SL parameters are set as follows:
Activation price: 36,000
Callback rate: 5%
At this time, when the last price drops to 36,000, the trailing TP/SL is activated and the trigger price is set at 36,000 * (1 + 5%) = 37,800. In subsequent market movements, if the callback rate reaches 5%, namely the price reaches 37,800, the trailing TP/SL order will be triggered and a market order will be placed to close short. The PnL is calculated as (40,000 - 36,750) * 2 = 6,500.
- Execution rules
Trailing TP/SL can only be used to close positions.
Activation price (optional): The activation price is the condition that triggers trailing TP/SL. When the market's last price reaches this level, the order becomes active. After activation, the system begins to calculate the actual trigger price for TP/SL. If the activation price is not specified, the order will be activated based on either the last price or the mark price at the time of placement. The system will then determine and calculate the corresponding trigger price for the TP/SL.
For long positions, the activation price must be higher than the last price or mark price.
For short positions, the activation price must be lower than the last price or mark price.
Callback parameters (required):
Callback rate: Set the callback rate to trigger TP.
Trailing distance: Set the trailing distance to trigger TP.
Trigger price calculation
Long position
Callback rate: Trigger price = Highest price * (1 - Callback rate)
Trailing distance: Trigger price = Highest price - Trailing distance
Short position
Callback rate: Trigger price = Lowest price * (1 + Callback rate)
Trailing distance: Trigger price = Lowest price + Trailing distance
Size (required): Set the order size for trailing TP/SL.
More order details
- Notes:
The position will not be frozen before the trailing TP/SL order is triggered.
Trailing TP/SL orders are not guaranteed to be triggered. Due to factors such as the contract being in a non-trading state, the order may fail to be placed. Once successfully triggered, the order is equivalent to a market order, but it may not be fully executed, and the actual execution depends on market conditions.
It is very difficult to set the optimal callback rate and activation price.
To make a trailing TP/SL order function effectively, the callback rate should neither be too small nor too large. Similarly, the activation price should not be set too close to or too far from the current price. When the callback rate is too small, or the activation price is too close to the current price, the trailing TP/SL will be too close to the entry price and may be triggered by normal market fluctuations before any significant favorable price movement occurs.In such cases, even minor price movements may trigger or close the order. If the market later recovers, the trade may result in a loss.
However, if the callback rate is too large, the trailing TP/SL will only be triggered under extreme market conditions, meaning users may be exposed to unnecessary large losses.
During periods of high market volatility, a higher callback rate may be more appropriate, while a lower callback rate is generally more suitable for normal market conditions.
There is no ideal or universally optimal callback rate or activation price. We recommend that users adjust their trailing TP/SL strategy according to changing market conditions in a timely manner. When placing orders, users should also consider their risk tolerance, investment experience, financial capacity, and other relevant factors. In determining the callback rate and activation price, in addition to price fluctuations, users should carefully evaluate their profit targets and loss tolerance.