- What Is an OCO Order?
- Components of an OCO Order
- Setting Up an OCO Order on the Binance APP
- OCO Buy Orders (Bottom Fishing / Momentum Buying)
- Viewing and Managing OCO Orders
- When to Use OCO Orders
- OCO Orders vs. Separate Take-Profit and Stop-Loss Orders
- Important Notes When Setting Up OCO Orders
- Frequently Asked Questions
What Is an OCO Order?
OCO stands for "One Cancels the Other." It is a combination order — you place two orders simultaneously (typically a take-profit order and a stop-loss order), and when one is triggered and filled, the other is automatically canceled.
Here's a practical example: You bought BTC at 65,000 and want to take profit if it rises to 70,000, or cut your losses if it falls to 62,000. With one OCO order, you cover both scenarios:
- BTC rises to 70,000 → Take-profit order fills → Stop-loss order automatically canceled
- BTC falls to 62,000 → Stop-loss order fills → Take-profit order automatically canceled
No matter which direction the price moves, you have a plan in place. Once you've set your OCO order, you can step away from the screen without worry.
Components of an OCO Order
An OCO order consists of two sub-orders:
- Limit Sell Order (take-profit portion): A sell price set above the current market price
- Stop-Limit Order (stop-loss portion): A trigger price and a limit price, both set below the current market price
Both sub-orders share the same position assets. When one executes, the system immediately cancels the other.
Setting Up an OCO Order on the Binance APP
Steps
- Open the Binance APP → Trade → Spot
- Select a trading pair (e.g., BTC/USDT)
- Switch to the Sell tab
- Tap the order type dropdown and select OCO
- Configure the following parameters:
Take-Profit portion (Limit Order):
- Price: Your take-profit target price (e.g., 70,000 USDT)
- Amount: The quantity you want to sell
Stop-Loss portion (Stop-Limit Order):
- Stop (Trigger Price): The price that activates the stop-loss (e.g., 62,000 USDT)
- Limit: The price at which the sell order is placed once triggered (e.g., 61,800 USDT)
- Confirm all parameters
- Tap Sell BTC
- Review the information in the confirmation pop-up and tap Confirm
Parameter Settings Explained
Using a BTC purchase at 65,000 as the example, here's a complete OCO sell order:
| Parameter | Value | Description |
|---|---|---|
| Take-Profit Price | 70,000 | Automatically sells for profit when this price is reached |
| Stop-Loss Trigger Price | 62,000 | Activates the stop-loss when the price drops to this level |
| Stop-Loss Limit Price | 61,800 | Places a sell limit order at this price once triggered |
| Quantity | 0.01 BTC | The shared sell quantity for the entire OCO order |
Important: The stop-loss limit price should be set slightly below the trigger price (for sell orders), leaving room for the order to fill. If both prices are set identically, the order may not fill during a rapid price drop.
OCO Buy Orders (Bottom Fishing / Momentum Buying)
OCO orders aren't just for selling — they can also be used for buying. The scenario: you want to buy at a dip to a certain level, or buy on a breakout above a certain level.
For example, with BTC currently at 65,000:
- If it drops to 62,000, you want to buy the dip
- If it breaks above 67,000, the uptrend is confirmed and you want to buy the breakout
Set an OCO buy order:
- Limit buy price: 62,000 (dip buy order)
- Stop-buy trigger price: 67,000; Limit price: 67,200 (breakout buy order)
Whichever condition is triggered first, the other is automatically canceled.
Viewing and Managing OCO Orders
Viewing
After submitting an OCO order, it appears in the Open Orders list with an "OCO" label. Expand it to see the details of both sub-orders.
Canceling
To cancel an entire OCO order:
- Find the OCO order in "Open Orders"
- Tap the Cancel button
- Both sub-orders are canceled simultaneously
Note: You cannot cancel just one sub-order of an OCO. It's all or nothing.
Partial Fills
If an OCO order is partially filled (for example, if the take-profit order has partially executed), the remaining portion and the corresponding stop-loss order remain active. Only when one side is completely filled does the other get canceled.
When to Use OCO Orders
Scenario 1: Position Management
The most common use case. After buying, immediately set an OCO order covering both take-profit and stop-loss scenarios, enabling hands-free position management.
Scenario 2: Breakout Trading
When a price is consolidating in a range and you're not sure which direction it'll break, set an OCO buy order with an upside breakout buy above the range and a dip buy below it (though you'll want to decide which direction you actually think is more likely).
Scenario 3: Event-Driven Trading
Before a major event (such as a Federal Reserve meeting or ETF approval decision), set an OCO order. Regardless of whether the news is bullish or bearish, you'll have a corresponding trade plan ready.
Scenario 4: Scaling Out
Combining multiple OCO orders allows for a graduated exit. For example, if you hold 1 BTC:
- First OCO: 0.3 BTC — take-profit at 70,000 / stop-loss at 62,000
- Second OCO: 0.3 BTC — take-profit at 75,000 / stop-loss at 62,000
- Third OCO: 0.4 BTC — take-profit at 80,000 / stop-loss at 62,000
This allows you to gradually lock in profits at different price levels.
OCO Orders vs. Separate Take-Profit and Stop-Loss Orders
You might wonder: can't I just place a separate limit sell order for take-profit and a separate stop-limit order for stop-loss? Isn't the effect the same?
No, it's not. If you place two independent orders, here are the problems:
- Double asset lock-up: Both sell orders would lock up your BTC, requiring you to hold twice the quantity
- Manual cancellation required: After your take-profit fills, you'd need to manually cancel the stop-loss order (if you forget, it could trigger unexpectedly while you're not watching)
- Operational risk: If you're away or asleep, you may not be able to cancel the other order in time
An OCO order handles all of this automatically: only one set of assets is locked, one fill automatically cancels the other, and no manual intervention is required at all.
Important Notes When Setting Up OCO Orders
-
Price logic must be correct:
- OCO sell order: The limit (take-profit) price must be above the current price; the stop-loss trigger must be below the current price
- OCO buy order: The limit (dip buy) price must be below the current price; the stop-buy trigger must be above the current price
- If the price logic is incorrect, the system will return an error
-
Stop-loss limit price settings:
- For sell stop-losses, the limit price should be slightly below the trigger price (e.g., trigger at 62,000; limit at 61,800)
- For buy stop-entries, the limit price should be slightly above the trigger price
- Setting the gap too wide reduces your fill quality; setting it too narrow risks the order not filling
-
Fee considerations: An OCO is technically two orders, but only one ultimately executes, so you pay fees only once
-
Market depth: If you're trading a low-liquidity token, insufficient depth could cause significant price deviation on the fill
Frequently Asked Questions
Q: Do Binance futures contracts support OCO? A: The TP/SL (Take-Profit/Stop-Loss) feature in Binance's futures interface works similarly to OCO. When you set both a take-profit and a stop-loss on a futures position, triggering one automatically cancels the other. It's just not called "OCO" — it's integrated directly into the TP/SL workflow.
Q: How many OCO orders can I have per trading pair? A: You can set multiple OCO orders per trading pair, but the total number of open orders is subject to the maximum open order limit for that pair.
Q: Can I modify an OCO order? A: Not directly. If you need to adjust the parameters, cancel the existing OCO order and create a new one.
Q: What happens if both conditions are triggered simultaneously? A: The system executes the one that triggered first and cancels the other. In extreme market conditions (such as a flash crash followed by a rapid recovery), both conditions may be touched within a very short window, but the system processes them strictly in chronological order.
OCO orders are a standard tool for advanced traders. Once you develop the habit of immediately setting an OCO after every entry, your trading discipline and capital protection will improve significantly.
Register on Binance | Download Binance APP
Download Binance App
Click to download — available on all platforms
Register Now
Register via our exclusive link and download the Binance app to enjoy permanent trading fee discounts