Order Types Overview

Take Profit and Stop Loss (TP/SL)

logo
Last updated on 2026-10-02 10:55:01
Share

Take Profit (TP) and Stop Loss (SL) are tools for managing trading risk. With TP/SL, you can automatically close trades or positions when the market reaches your predetermined price levels. A TP order allows you to secure profits, especially in volatile markets, while an SL order helps limit potential losses when the market moves in an unfavorable direction.


The following sections explain how TP/SL works for both Spot and Futures trading.



  1. Differences Between Spot TP/SL and Futures TP/SL

  2. Spot TP/SL

  3. Futures TP/SL





Differences Between Spot TP/SL and Futures TP/SL

TP/SL works differently for Spot and Futures trading. The table below outlines the key differences:



TP/SL for Spot Trading

TP/SL for Futures Trading

Order Placement and Modification

Users can either:

  1. Place a TP/SL order directly in the order zone, or
  2. Preset TP/SL with a limit order.


TP/SL can only be modified for untriggered limit orders or the remaining portion of partially filled orders.

Users can set TP/SL for:

  1. Active positions
  2. Limit, market, and conditional orders

Users can modify TP/SL for unfilled and untriggered orders.


TP/SL can be applied to either the entire position or the current order/partial position.

Trigger Conditions

Direct TP/SL is executed once the preset trigger price is reached.

TP/SL limit orders can be triggered by:

  1. Change (%)
  2. P&L

The preset TP/SL price can be triggered by:

  1. ROI (%)
  2. Change (%)
  3. P&L

TP/SL for the entire position is executed as a market order.


TP/SL for the current order/partial position supports the following execution methods: Market, Limit, Slippage Limit, and Best Bid/Ask.

Reference Price Used

TP/SL can only be triggered when the Last Traded Price reaches the preset trigger price. The order is then executed as a limit or market order.

You can select the Index Price, Mark Price, or Last Traded Price as the reference price for triggering TP/SL. The order is then executed as a limit or market order.








Spot TP/SL

Similar to OCO and conditional orders, Spot TP/SL allows traders to automatically place buy or sell orders at preset price levels. However, these order types differ in how assets are reserved, as outlined below:


Order Type

Asset Reservation

TP/SL Order

For a direct TP/SL order, assets are reserved when the order is placed, before it is triggered. For TP/SL preset with a limit order, assets are reserved only for one side of the order.

OCO Order (One-Cancels-the-Other)

For an OCO order, assets are reserved only for one side of the order. For more information, please refer to One-Cancels-the-Other (OCO) Orders.

Conditional Order

For a conditional order, assets are not reserved until the underlying asset reaches the trigger price and the order is triggered.






Direct TP/SL via the Order Zone


Web

App



You can set the trigger price, order price (for limit orders), and order quantity for a TP/SL order. Assets are reserved when the TP/SL order is placed. Once the Last Traded Price reaches the preset trigger price, a limit or market order will be placed based on your order settings. For more information on how to set up TP/SL via the order zone, refer to this section.



Important Notes:

a. A market order will be executed immediately at the best available market price. All market orders follow the IOC (Immediate-or-Cancel) principle. Any portion that cannot be filled immediately due to insufficient market liquidity or price limits will be automatically canceled.


b. A limit order will be submitted to the order book for execution at the specified order price. If the best bid/ask price is better than the order price, the limit order may be executed immediately at the best available price. Limit order execution is not guaranteed and depends on price movements and order book liquidity.



Example

Assuming the current BTC price is 20,000 USDT, the following examples illustrate how TP/SL orders work with different trigger and order prices.


TP/SL Market Sell Order


Trigger Price: 19,000 USDT


Order Price: N/A

When the Last Traded Price reaches the trigger price of 19,000 USDT, a market sell order will be placed and executed at the best available market price.

TP/SL Limit Buy Order


Trigger Price: 21,000 USDT


Order Price: 20,000 USDT

When the Last Traded Price reaches the trigger price of 21,000 USDT, a limit buy order at 20,000 USDT will be placed in the order book. Once the Last Traded Price reaches 20,000 USDT, the order will be executed.

TP/SL Limit Sell Order


Trigger Price: 21,000 USDT


Order Price: 21,000 USDT


When the Last Traded Price reaches the trigger price of 21,000 USDT, the TP/SL order is triggered.


If the best bid price is 21,050 USDT at the time of triggering, the limit sell order will be executed immediately at the better price of 21,050 USDT.


If the price falls below the order price upon triggering, a limit sell order at 21,000 USDT will be placed in the order book for execution.




Preset TP/SL With a Limit Order


Web

App



When placing a limit order, you can also preset TP/SL orders. Once the limit order is executed, the preset TP/SL orders are automatically placed based on the specified trigger prices and order quantity.


Unlike standalone TP/SL orders, which reserve assets immediately upon placement, TP/SL preset with a limit order follows the One-Cancels-the-Others (OCO) principle. Assets are reserved only for one side at a time. This allows you to preset both TP and SL as market or limit orders for the same asset. When one order is triggered, the other is automatically canceled.


For limit TP/SL orders, once either the TP or SL is triggered, the other order is canceled immediately, even if the triggered order has not been filled. This may increase risk during sudden price reversals, as the triggered limit order may remain unfilled while the other order has already been canceled.


For more information on how to set up TP/SL via the order zone, refer to this section.



Example

Trader A places a BTC limit buy order at 40,000 USDT and presets TP/SL as follows:

  1. Limit order price: 40,000 USDT
  2. Order quantity: 1 BTC
  3. TP limit: Trigger price at 50,000 USDT, and order price at 50,500 USDT
  4. SL market: Trigger price at 30,000 USDT


Assuming the BTC price reaches 40,000 USDT and the limit order is filled, the preset TP/SL orders are placed.


Scenario 1: The BTC price rises to 50,000 USDT. The TP is triggered, and a limit sell order at 50,500 USDT is placed in the order book for execution. The SL order is automatically canceled.


Scenario 2: The BTC price falls to 30,000 USDT. The SL is triggered, and a market sell order is placed. The 1 BTC is sold at the best available market price.



Important Notes:

a. For a TP/SL sell order attached to a Spot limit buy order, the TP trigger price must be higher than the limit order price, while the SL trigger price must be lower.


b. For a TP/SL buy order attached to a Spot limit sell order, the TP trigger price must be lower than the limit order price, while the SL trigger price must be higher.


c. For limit TP/SL orders, the order price must be within the price limit applicable to the trigger price. For example, if the price limit for BTC/USDT is 3%, the TP/SL buy order price cannot exceed 103% of the trigger price, while the TP/SL sell order price cannot be lower than 97% of the trigger price. Refer to the Spot Trading Rules for the price limits of each symbol.


d. If the order amount or value does not meet the minimum order requirement after the limit order is filled, the TP/SL order may not be placed or executed when triggered.


e. Spot limit and market orders have different maximum order sizes. If you attempt to preset a TP/SL market order when placing a limit order whose quantity exceeds the maximum market order size, the limit order will be rejected. For example, if the maximum limit order size is 1 BTC and the maximum market order size is 0.5 BTC, a 1 BTC limit order with a preset TP/SL market order will be rejected.








Futures TP/SL

In Futures trading, TP/SL orders are used to partially or fully close an active position. You can preset TP/SL when placing a limit, market, or conditional order via the order zone, and modify the preset TP/SL before the order is filled.


Bybit Kazakhstan offers the following TP/SL preferences for closing a Futures position:


TP/SL Preferences

Entire Position

Current Order

Partial Position

TP/SL Order Type

Only market TP/SL orders are supported.

Conditional market and conditional limit TP/SL orders are supported.

Position Size to Close

TP/SL applies to the entire position. When the trigger price is reached, the entire position is closed with a market order.

TP/SL applies only to the order quantity specified at the time of order placement.

When the trigger price is reached, only the specified position size is closed with a market or limit order.

Available only for active positions. You can specify the position size to close, either partially or in full.

When the trigger price is reached, only the specified position size is closed with a market or limit order.

Maximum Number of TP/SL Orders

Only one TP/SL order per position is allowed.

Only one TP/SL order per position can be set during order placement. Supported execution methods include Market, Limit, Slippage Limit, and Best Bid/Ask.

Multiple TP/SL orders can be placed per position. Supported execution methods include Market, Limit, Slippage Limit, and Best Bid/Ask.

Changes to Position Size

The TP/SL order quantity adjusts automatically to match the position size.

For open orders: The TP/SL order quantity adjusts to match the order quantity.

For active positions: Changes to the position size do not affect the quantity of existing TP/SL orders.




Important Notes:

a. Futures TP/SL orders do not require additional margin. However, if the available margin becomes insufficient to maintain the position, such as due to sustained losses or margin adjustments, pending TP/SL orders will be canceled if the entire position is liquidated.


b. A TP/SL order may be partially filled or remain unfilled due to:

  1. Insufficient order book liquidity, especially for large positions.
  2. Extreme market volatility, where rapid price movements may reduce order book depth at the trigger price and result in slippage.
  3. The position being fully closed manually or by another TP/SL order before the preset TP/SL is triggered. Once the position is fully closed, any pending TP/SL orders are automatically canceled.


c. If you use Futures TP/SL to close a position that exceeds the maximum order size for the symbol, the system will automatically split the closing order into multiple smaller orders. Each resulting order will not exceed the maximum order size.


Example: Assume the maximum market order size for BTCUSDT is 150 BTC. If you place a market TP order to close a 300 BTC position, the system will split it into two market orders of 150 BTC each upon execution.


Maximum market and limit order sizes vary by symbol. For more information, refer to the Trading Parameters page.


d. For partial TP/SL, the closing quantity cannot be adjusted below the minimum position size. In this case, you may only be able to close the entire position.


e. You can place a TP/SL order for the entire position alongside multiple partial TP/SL orders. If the entire-position TP/SL order is filled first, the partial TP/SL orders will be automatically canceled.


f. If you have multiple partial TP/SL orders with different closing quantities, the position size will be reduced based on which TP/SL order is executed first. If the closing quantity of a remaining TP/SL order exceeds the current position size, the excess quantity will be canceled and the remaining position may be fully closed upon execution. For more information, refer to Scenario 1 below.








Example

The following scenarios illustrate how Futures TP/SL works.



Scenario 1: Multiple TP/SL orders

Assume the current BTC market price is $25,000. Trader A holds a 1 BTC long position with the following TP/SL orders:


TP/SL order A

  1. TP/SL preference: Partial position (via conditional market order)
  2. TP trigger price: $26,000
  3. Qty: 0.5 BTC


TP/SL order B

  1. TP/SL preference: Partial position (via conditional limit order)
  2. TP trigger price: $30,000
  3. Order price: $30,500
  4. Qty: 0.5 BTC


TP/SL order C

  1. TP/SL preference: Entire position
  2. SL trigger price: $23,000
  3. Qty: 1 BTC


The orders behave as follows under different market conditions:


a. When the BTC market price reaches $26,000, TP/SL order A is triggered and closes 0.5 BTC at the market price. Trader A has a remaining position of 0.5 BTC. TP/SL orders B and C remain active.


b. When the BTC market price reaches $27,000, Trader A manually closes 0.1 BTC, leaving a 0.4 BTC position. TP/SL Orders B and C remain active.


c. When the BTC market price reaches $30,000, TP/SL order B is triggered, and a TP limit order at $30,500 is placed in the order book for execution.

  1. If the price reaches $30,500, the TP limit order is filled and the remaining 0.4 BTC position is closed. TP/SL order C is then automatically canceled.
  2. If the price does not reach $30,500 and falls back to $23,000, TP/SL order C is triggered and the remaining 0.4 BTC position is closed at the market price. TP/SL order B and the excess 0.1 BTC of order C are then canceled.




Scenario 2: An existing TP/SL order and a new order with TP/SL

Assume the current BTC market price is $25,000. Trader A holds a 1 BTC long position with the following TP order:


TP/SL order A

  1. TP/SL preference: Partial position (via conditional market order)
  2. TP trigger price: $26,000
  3. Qty: 0.5 BTC


Trader A then places an additional 1 BTC limit order to increase the long position at $24,000, with TP/SL preset for the current order as follows:

  1. TP trigger price: $27,000
  2. SL trigger price: $22,000
  3. Qty: 1 BTC


The orders behave as follows under different market conditions:


a. The BTC market price drops to $24,000. Due to market volatility, only 0.5 BTC of the limit order is filled, increasing the position size to 1.5 BTC. A new TP/SL order is placed for the filled quantity:


TP/SL order B

  1. TP/SL preference: Partial position
  2. TP trigger price: $27,000
  3. TP Qty: 0.5 BTC
  4. SL trigger price: $22,000
  5. SL Qty: 0.5 BTC


b. When the BTC market price rises to $26,000, TP/SL order A is triggered and closes 0.5 BTC at the market price, leaving a 1 BTC position. TP/SL order B remains active.


c. When the BTC market price drops back to $24,000, the remaining 0.5 BTC of the limit order is filled, increasing the position size to 1.5 BTC. Another TP/SL order is placed for the newly filled 0.5 BTC:


TP/SL order C

  1. TP/SL preference: Partial position
  2. TP trigger price: $27,000
  3. TP Qty: 0.5 BTC
  4. SL trigger price: $22,000
  5. SL Qty: 0.5 BTC


Trader A now holds a 1.5 BTC long position with two separate TP/SL orders, orders B and C.



Scenario 3: An existing TP/SL order and a new order with SL for the entire position

Assume the current BTC market price is $30,000. Trader A holds a 1 BTC long position with the following TP/SL order:

  1. TP/SL preference: Entire position
  2. TP trigger price: $35,000
  3. SL trigger price: $20,000
  4. Qty: 1 BTC


Trader A then places an additional 0.5 BTC limit order to increase the long position at $28,000 with the following SL preset:

  1. TP/SL preference: Entire position
  2. SL trigger price: $18,000
  3. Qty: 0.5 BTC


When the BTC market price reaches $28,000, the limit order is fully filled, increasing the position size to 1.5 BTC. The new SL order replaces the existing TP/SL order, and the existing TP and SL are canceled. The new SL order is updated as follows:

  1. TP/SL preference: Entire position
  2. SL trigger price: $18,000
  3. Qty: 1.5 BTC




Scenario 4: An order with TP/SL preset for the current order at placement

Trader A places a 0.8 BTC limit order to open a long position at $30,000 with TP/SL preset for the current order as follows:


TP/SL order A

  1. TP/SL preference: Current order
  2. Quantity: 0.8 BTC
  3. TP (limit): Trigger price = $40,000; Order price = $41,000
  4. SL (market): Trigger price = $20,000


Assume the BTC price reaches $30,000 and the limit order is filled. The TP (limit) and SL (market) orders are then placed.


a. When the BTC price reaches $40,000, the TP is triggered and a limit close order at $41,000 is placed in the order book for execution. The corresponding SL (market) order with a trigger price of $20,000 is canceled immediately, even if the TP limit order has not yet been filled.


This is because the system treats the TP and SL as a single set. Once the TP trigger price is reached, the trigger condition is considered fulfilled and the corresponding SL order is canceled.



b. To prevent the SL order from being canceled when an unfilled TP limit order is triggered, Trader A can either:

  1. Set the TP and SL orders separately, or
  2. Use Close by Limit Order under the Positions tab to set a TP order.



Was it helpful?