Execution & tools

OCO (One Cancels the Other)

One Cancels the Other: a linkage under which a specified activation or execution event for one order causes cancellation of an alternative order, according to the system’s rules. Triggering, partial fills, server-versus-client operation and cancellation timing must be checked. The linkage itself does not guarantee price or prevent every race condition.
Example.

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.

← Back to the full glossary

Jarosław Wasiński

Editor-in-chief, ForexMechanics.com • Macro & FX analyst

Independent analyst and practitioner with over 20 years of experience in financial markets. Actively involved in Forex since 2007, with a focus on fundamental analysis, OTC market structure, and disciplined capital risk management.

  • Creator and editor-in-chief of MyBank.pl, providing reliable financial education since 2004.
  • Author of hundreds of in-depth market commentaries, structural analyses, and educational materials for traders and investors.
  • Advocate for market transparency, promoting education grounded in hard data and institutional reports (BIS, ESMA, CFTC).

All content is educational and informational only – it does not constitute investment advice or a recommendation. Remember: leveraged trading (Forex/CFD) carries a high risk of rapid capital loss.