How to Use OCO Orders on Binance
What Is an OCO Order
OCO stands for "One Cancels the Other." In simple terms, an OCO order bundles two orders together — a take-profit order and a stop-loss order. When one is triggered and filled, the other is automatically canceled.
This is extremely useful in spot trading. Suppose you hold BTC and the current price is 50,000 USDT. You want to take profit if the price rises to 55,000 USDT, but you're also worried about losses if it drops below 48,000 USDT. With an OCO order, you can set both conditions simultaneously. Whichever price is hit first triggers that order, and the other is automatically canceled — no need to watch the market.
Components of an OCO Order
An OCO order consists of two parts:
Limit Order
This typically serves as the take-profit order. When the price reaches your target, the system sells (or buys) at your specified limit price or better.
Stop-Limit Order
This is the stop-loss component. It includes two prices:
- Stop Price: When the market price reaches this level, the stop-limit order is activated
- Limit Price: After the stop order is activated, this is the actual price at which the order is placed
How to Set Up an OCO Order on the App
- Open the Binance App and go to the spot trading page
- Select your trading pair (e.g., BTC/USDT)
- In the order area, tap the order type selector (which may default to "Limit")
- Select OCO from the dropdown menu
- You'll need to fill in the following parameters:
Sell OCO (Setting Take-Profit and Stop-Loss After Buying)
Price: The limit sell price for take-profit — should be above the current market price. For example, if BTC is at 50,000 USDT and you want to take profit at 55,000, enter 55,000.
Stop (Trigger Price): The price that triggers the stop-loss — should be below the current market price. For example, if you want to stop loss at 48,000, enter 48,000.
Limit (Stop Limit Price): The order price after the stop is triggered — usually slightly below the trigger price to ensure execution. For example, if the trigger is 48,000, set the limit to 47,800 for some buffer.
Amount: The quantity to sell.
- After confirming all parameters, tap "Sell" to submit the order
Buy OCO (For Entry Timing)
The logic is reversed for buy OCO orders:
- Price: Below the current price for limit buying (buying the dip)
- Stop (Trigger Price): Above the current price — triggers a buy when price breaks upward
- Limit: Slightly above the trigger price
Setting Up OCO Orders on the Web
- Log in to the Binance website
- Go to the spot trading interface
- Select "OCO" as the order type in the order area
- Fill in the fields the same way as on the app
Detailed Examples
Example 1: Take-Profit and Stop-Loss for BTC Holdings
You bought 0.1 BTC at 50,000 USDT and want to:
- Take profit at 55,000
- Stop loss at 47,000
OCO Order Setup:
- Price: 55,000 USDT (take-profit limit)
- Stop: 47,000 USDT
- Limit: 46,800 USDT (slightly below trigger to ensure execution)
- Quantity: 0.1 BTC
Once set, if BTC rises to 55,000, the system automatically sells at 55,000 and cancels the stop-loss. If BTC drops to 47,000, the stop-loss is triggered with an order at 46,800, and the take-profit is canceled.
Example 2: Waiting for a Buy Opportunity
ETH is currently at 3,000 USDT and you want to:
- Buy at 2,800 if it dips (buy the dip)
- Buy at 3,200 if it breaks out (breakout entry)
Buy OCO Setup:
- Price: 2,800 USDT (limit buy)
- Stop: 3,200 USDT
- Limit: 3,250 USDT
- Quantity: Based on your budget
Common Mistakes and Notes
Price Logic Errors
For sell OCO orders:
- Limit price (take-profit) must be above the current market price
- Stop trigger price must be below the current market price
- Stop limit price should be slightly below the stop trigger price
The system will reject the order if these conditions aren't met.
Stop Limit Too Close to Trigger Price
If the stop limit and trigger price are too close, during extreme volatility the price might skip past your limit, causing the stop-loss order to go unfilled. A 0.5%-1% gap between the two is recommended.
Forgetting to Account for Fees
Trading fees apply when OCO orders are executed. Remember to include fees in your profit/loss calculations. Using BNB for fee deduction offers a discount.
Partial Fills
The two sub-orders in an OCO share the same quantity. If the take-profit order is partially filled before the price reverses and triggers the stop-loss, the stop-loss will only process the remaining unfilled quantity.
When to Use OCO Orders
- Setting take-profit and stop-loss simultaneously after opening a position: The most common use case
- When you can't watch the market: Set up OCO and go about your day
- When your trading plan is clear: You've already determined your take-profit and stop-loss levels
- In volatile markets: Price may surge or plummet quickly — OCO automatically handles both scenarios
OCO Orders vs Regular Stop-Loss Orders
A regular stop-loss order only covers one direction (take-profit or stop-loss), while OCO covers both upside and downside simultaneously. With only a stop-loss order, you'd need to manually take profit when the price reaches your target. OCO automates the entire process.
To experience the convenience of OCO orders, register a Binance account through this registration link and use this practical order type in spot trading.
Register on Binance now and get 20% fee discount forever
Sign up through BinanceHelper's exclusive link to automatically enjoy fee discounts