· EXECUTION

OCO orders and how they cancel each other

An OCO order links two orders so a fill on one cancels the other. One ES position in Liquivue shows the cancel, a partial fill and the overfill risk.

SHORT ANSWER

An OCO order, short for one cancels other, is two linked orders where a fill on either one makes the platform cancel the other. On many platforms, a partial fill shrinks the other order to match. In a fast market both orders can fill before the cancel arrives. Liquivue lists OCO orders with chart and DOM order entry on supported futures accounts.

An OCO order, short for one cancels other, is two working orders linked so that a fill on one cancels the other. This note shows how OCO orders cancel each other, using one position in the E-mini S&P 500 future, ES. The note on bracket orders with one trade example covered an OCO pair attached to a new entry. This note starts from a position you already hold. It follows the cancel through a full fill, a partial fill and two fills a fraction of a second apart.

What an OCO pair is

An OCO pair has two orders and one rule. When either order fills, the system that holds the link sends a cancel for the other one. On a futures position, the pair is often a limit order on the winning side and a stop order on the losing side.

A limit order rests in the book at a set price or better. A stop order waits off the book until price trades at its trigger, then becomes a market order. The note on stop market versus stop limit orders explains why a stop can fill past its trigger.

The example position

The numbers below are an example of the mechanics, not a trade plan. ES moves in ticks of 0.25 points, and one tick is worth US$12.50 per contract.

You are long 3 ES contracts at 5,060.00. You send this OCO pair.

OrderSideTypePriceContracts
TargetSellLimit5,066.003
StopSellStop market5,056.003

The target sits 24 ticks above the entry. A full fill there gains 24 times US$12.50 times 3, or US$900 before fees. The stop sits 16 ticks below. A fill at the trigger loses 16 times US$12.50 times 3, or US$600, and a fill below the trigger loses more.

How the cancel works on a full fill

Price trades up to 5,066.00 and buyers take all 3 contracts from your target. The exchange reports the fill. The platform reads the fill and sends a cancel for the stop at 5,056.00. The exchange confirms the cancel, and you are flat with no working orders.

Two messages travel in that sequence. The fill comes from the exchange to you, and the cancel goes from you back to the exchange. A platform can hold the link on its own server near the exchange, or in the software on your computer. A link on your computer cannot send the cancel while your connection is down.

What a partial fill does

Now suppose only 2 of your 3 contracts fill at 5,066.00 before price trades lower. You are still long 1 contract. Neither order filled in full, so the platform has to decide what to do with the stop.

A common rule reduces the stop to 1 contract. The target stays working for its last contract, and the stop now protects 1 contract instead of 3. If price then falls to 5,056.00, the stop sells 1 contract and the platform cancels the last contract of the target.

If a platform left the stop at 3 contracts, a later stop fill would sell 3 contracts against a 1-lot position. You would end up short 2 contracts. That is why the partial fill rule is the first thing to test on a new platform.

When both sides fill

ES can trade 10 points in a few seconds around a scheduled data release. Suppose price spikes to 5,066.00, fills your target, then drops to 5,056.00 within 200 milliseconds. If the stop triggers before the cancel reaches the exchange, both orders fill. You sold 6 contracts against a 3-lot position and you are now short 3.

Traders call this an overfill. A link held on a server near the exchange shortens the time between fill and cancel, but that time never reaches zero. The risk grows with the speed of the market and the distance the messages travel.

The same pair in Liquivue

Liquivue lists order entry from the chart, the DOM and an order panel, with brackets, OCO and trailing stops. In this example you place the sell limit at 5,066.00 and the sell stop at 5,056.00 from the Liquivue DOM as an OCO pair. Both orders show on the ladder, and position tracking shows the 3-lot size, the entry price and the open profit or loss.

The Liquivue heatmap shows the resting size at 5,066.00 before your target reaches it. Suppose 700 contracts already rest on the offer there. Your 3 contracts join the back of that queue, so price may trade at 5,066.00 for a while before your order fills. The trade bubbles show how many contracts print at that price while you wait.

Liquivue session risk controls apply to every order in the session. A max session loss rule cancels working orders, closes positions and locks trading for the session. Liquivue covers futures through Rithmic or the NinjaTrader bridge, and the vendor says live-account acceptance over the bridge is unverified. Test the partial fill case in simulation first.

OCO on other platforms

Sierra Chart lists a Trade DOM for order entry. Bookmap lists live futures execution on its Global+ plan with an eligible broker. Each platform documents its own partial fill rule and where it holds the link. The glossary defines the order types used here.

A check you can run

In a simulation account, open a 3-lot position and attach an OCO pair. Move the limit close to the market so that only part of it is likely to fill. When 1 or 2 contracts fill, read the size on the stop. If the stop shrank to match the open position, your platform adjusts the pair on a partial fill.

Questions

What does OCO mean in trading?

OCO stands for one cancels other. It links two working orders so that when one fills, the platform or the exchange cancels the other.

What happens to an OCO order after a partial fill?

Many platforms reduce the other order by the filled amount. If 2 of 3 contracts fill on the target, the stop shrinks to 1 contract. Check your platform's documentation, because the rule varies.

Can both sides of an OCO order fill?

Yes, in a fast market. The cancel takes time to reach the exchange, and if the other order fills first, both sides execute and the position can reverse.

Does Liquivue support OCO orders?

Yes. Liquivue lists chart, DOM and panel order entry with brackets, OCO and trailing stops on eligible accounts. The vendor says live-account acceptance over the NinjaTrader bridge is unverified and suggests starting in simulation.

Educational content about market data and charting software. It is not trading or investment advice. Trading involves risk.

MORE NOTES