To set take-profit and stop-loss at the same time when buying spot on Binance, you use an OCO (One-Cancels-the-Other) order. But first, one thing needs to be clear: OCO is a sell-side tool. Its standard use is that after you already hold a coin, you place a take-profit limit sell order and a stop-loss limit sell order at the same time. If either one is filled, the other is automatically canceled.

The world's largest cryptocurrency exchange by trading volume,leading in security and liquidity.
New user benefit: Enjoy 20% off trading fees upon registration!
If you do not have a position yet and want to set up the sell conditions at the same time as your buy, Binance offers an OTOCO structure: you first place a limit buy order. After that buy order is fully filled, the system automatically places an OCO combination of take-profit and stop-loss orders. The "TP/SL" checkbox in the web order form works this way.
If you already hold spot: use OCO to set take-profit and stop-loss together
Go to the spot trading page and select OCO from the order type dropdown menu. The form will ask you to fill in four price-related fields:
Limit price for the take-profit part: This is your target sell price and should be higher than the current market price. For example, if you bought ETH at 3,200 and want to take profit at 3,800, enter 3,800 here.
Stop price for the stop-loss part: This is the price that activates the stop-loss order and should be lower than the current market price. For example, if ETH is now 3,500 and you are willing to trigger a stop-loss when it drops to 3,320, enter 3,320.
Limit price for the stop-loss part: After the stop price is reached, this is the actual sell order price placed on the order book. Usually you set it slightly lower than the stop price, such as 3,300, to leave some room for the order to be filled.
Amount: The quantity of the coin you want to sell.
After filling in the details, click sell. Once the OCO is active, if the price first rises to 3,800, the take-profit order is filled and the stop-loss order is automatically canceled. If the price first drops to 3,320, the stop-loss order is activated and the take-profit order is automatically canceled.
If you just bought and want to preset the sell conditions
Binance OTOCO orders allow you to complete "limit buy + preset take-profit and stop-loss" in one operation. The process is:
First place a limit buy order, for example buying ETH at a certain price. This buy order will not immediately trigger the sell logic. Only after it is fully filled and you actually receive the coins will the system automatically place the take-profit and stop-loss OCO.
On the web spot order form, select "Limit" and then check the TP/SL option. The form will then show input fields for the take-profit price and stop-loss price. The advantage of this method is that you do not need to manually come back and place sell orders after your buy is filled, which reduces the time you need to watch the market.
One thing to note is that the main order in an OTOCO is usually a limit order, not a market order. If you buy with a market order, your position will increase immediately after the fill, but the market order itself does not have a structure to trigger follow-up orders. You would need to manually use an OCO order to set take-profit and stop-loss after the fill.
Stop-loss execution details: stop price and limit price are different
This is an easy place to make mistakes in practice. The stop price and limit price of the stop-loss part are separate:
Stop price: When the market price touches this number, the stop-loss order is activated. Before that, it stays in a "waiting to trigger" state.
Limit price: After activation, this is the actual sell price placed on the order book.
If the market drops quickly and the price falls through the stop price and keeps going lower, your stop-loss limit order may be placed but no one takes it. For example, if the stop price is 3,320 and the limit price is 3,300, but the price suddenly crashes to 3,250, your 3,300 sell order may not be filled in time and gets left behind. To reduce this risk, you can set the stop-loss limit price lower than the stop price, or consider using a market stop-loss type with slippage tolerance.
Fill amount is affected by fees
There is another detail worth noting. Binance spot trading usually deducts fees from the coins you receive, unless you enable BNB fee deduction. For example, if you buy 1 BNB, the actual amount you receive may be 0.999 BNB. If you enter 1 as the amount in your OCO sell order, the system may reject the sell order because of insufficient balance.
Before placing a take-profit and stop-loss order, check the actual credited amount in your current holdings and use that number for the sell amount, or leave a little margin.

The world's largest cryptocurrency exchange by trading volume,leading in security and liquidity.
New user benefit: Enjoy 20% off trading fees upon registration!
References
- Binance Support·What is an OCO order and how to use it?, page published or updated: 2019-08-18; checked: 2026-10-03.
- Binance Academy·OCO Order, page published or updated: 2023-04-16; checked: 2026-10-03.
- Binance Academy·How to Place an OTOCO Order With the Binance API?, page published or updated: 2026-06-16; checked: 2026-10-03.
- Binance Support·What are take-profit/stop-loss orders and common questions, page published or updated: 2020-09-01; checked: 2026-10-03.
- Binance Support·Introduction to market take-profit and stop-loss orders, page published or updated: 2024-07-15; checked: 2026-10-03.


