"My OCO order's take-profit side clearly filled, so why is the stop-loss side still sitting in my open orders? Why wasn't it cancelled automatically?" — This happens more often than you might think, and it's usually not a system glitch.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
Core Point: OCO "Auto-Cancel" Has Only One Trigger
The logic of OCO (One-Cancels-the-Other) is: two orders are linked together, and when one side fills or is triggered, the other side is automatically cancelled.
The key phrase is "fills or is triggered," not "price touched the level."
If you see one side filled while the other remains, the most likely reason is: these two orders are not actually linked as an OCO pair. They are simply two independent orders you placed separately.
Step 1: First Confirm Whether the Two Orders Are Actually "Linked"
[What to do]: Check the order details to see whether your take-profit and stop-loss orders are part of the same OCO group.
[How to do it]:
Open your trading app or web platform and go to the "Open Orders" or "Working Orders" page.
Find your take-profit and stop-loss orders and check their order properties.
Case A: Both orders show the same "OCO ID" or "Linked ID," or the order details clearly state "paired order."
This is a true OCO link. If one side filled and the other did not cancel, it is a system issue that needs further investigation.
Case B: The two orders do not share a common linked ID and appear independently in the list.
They are not an OCO order at all. You may have placed a take-profit first and then separately placed a stop-loss. These two orders are "independent orders" that do not know each other. When one fills, the other will not be cancelled automatically.
[Completion standard]: Find the "Linked ID" or "OCO ID" field on the order details page and confirm whether it exists.
Step 2: If It Is an OCO Order, Check Common Reasons Why the Other Side Was Not Cancelled
Reason 1: The Triggered Side Was "Triggered but Not Filled"
OCO cancellation happens when one side actually fills, or fills completely. If the price only briefly touched your take-profit trigger price and activated the conditional order, but the order did not actually fill (for example, a limit order price did not match the order book at that moment), the other side will not be cancelled.
The trigger price was reached, and the system sent your take-profit order to the market.
But there was no counterparty in the order book to fill your limit order, so it did not execute.
This order remains in a "triggered but unfilled" state. Because it has not filled, the OCO condition for "cancelling the other side" is not met, so the stop-loss order remains active.
Reason 2: The OCO Order Only Partially Filled
If your OCO order size is large and the take-profit side only filled partially (for example, you placed a take-profit for 10 units but only sold 3), the other side will not be cancelled directly. The system will reduce the quantity of the other side based on the filled ratio, rather than cancelling it outright.
Reason 3: Platform OCO Mechanism Differences
Different platforms have slightly different OCO trigger logic. For example, some platforms clearly state that OCO "trigger" and "fill" are separate events, and when a conditional order is triggered but not executed, the corresponding paired order will be cancelled. But other platforms only cancel the other side when the first side is "fully filled." You need to check the specific rules of your platform.
Step 3: If the Other Side Really Was Not Cancelled, Handle It Manually
[What to do]: Regardless of the reason, as long as one side has filled and the other side is still open, the safest action is to cancel it manually.
[How to do it]:
Go to "Open Orders" and find the order that was not cancelled.
Click "Cancel" or "Revoke."
Then evaluate your remaining position and set a new stop-loss if needed.
[Completion standard]: There are no old orders for that trading pair in the open orders list, and position protection has been re-established.
Risk warning: If one side of an OCO fills and the other side is not cancelled, and the price then reverses and touches the other side's trigger price, the system may open a new position in the opposite direction for you. Especially in hedge mode, this kind of accidental order could leave you holding both long and short positions at the same time, with margin tied up on both sides.
How to Avoid This Problem?
Confirm you are using "OCO" mode when placing the order: Do not place a take-profit first and then a stop-loss separately. Open the "OCO" or "Take Profit / Stop Loss" order panel and submit both take-profit and stop-loss at the same time. This ensures that the two orders are linked.
Check the order details to confirm the link status: After submitting, go to "Open Orders" and check whether the two orders share a common "OCO ID" or "Linked ID."
Regularly check your open orders list: Make it a habit to check whether the other side of an OCO order has been automatically cancelled after a take-profit or stop-loss is triggered. If it is still there, remove it manually.

A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!
FAQ
Q: In an OCO order, if one side is "triggered but not filled," will the other side be cancelled? Answer: Usually not. OCO cancellation logic is tied to one side being "filled," not just "triggered." If one side is triggered but does not fill due to insufficient market liquidity, the other side will remain until you handle it manually.
Q: In an OCO order, what happens to the other side if one side partially fills? Answer: The system will reduce the quantity of the other side based on the fill ratio. For example, if you set a take-profit and stop-loss for 10 units and the take-profit fills 3 units, the stop-loss order quantity may automatically be reduced to 7 units.
Q: Can OCO be used on all platforms? Answer: Most major trading platforms (Binance, OKX, Bybit, Gate, etc.) support OCO. However, the specific logic may differ slightly between platforms, so it is recommended to check the platform's official help documentation before placing an order.


