OCO (One Cancels the Other)
A hypothetical bracket has an exit limit at 1.1050 and an ordinary sell stop at 1.0980 for one long EUR/USD position. An acknowledged full fill of one exit should cause the linked alternative to be cancelled under the specified OCO rules. Partial fills and cancellation races need separate rules.
Linked instructions
OCO is a relationship between orders: one event specified by the implementation cancels the other. It may be used for exits or alternative entries. A bracket can also link a parent entry to child exits; that is an additional lifecycle, not implied by the three-letter label alone.
Where the link operates
The mechanism can be server-, venue- or client-side. If local software implements it, connectivity failure may stop the cancellation logic. Triggering, execution and acknowledgement are distinct events, and partial fills can resize or cancel the other leg according to the system. Verify the actual rule rather than assume identical behaviour everywhere.
Reconcile after execution
Check the surviving position, remaining quantities and both order states. If cancellation and execution cross in time, unintended exposure may need management. OCO neither guarantees the stop price nor creates a profitable target. In a simulation include gaps, delayed messages and partial executions rather than representing both exits as perfect instantaneous fills.
FAQ
Does every pair of SL and TP automatically form native OCO?
No. Position-attached protections and independent linked orders can have different implementations.
Can OCO remove slippage on the stop leg?
No. Cancellation linkage does not guarantee that exit’s execution price.