If we have a One cancels Other (OCO) order strategy , this is a strategy placing order, where you can place 2 orders, and when one of them gets filled, then the other will get canceled, and vice versa.

So, let's say I place an OCO with 2 buy orders to purchase x amount of shares in some company at a given place, lower than the market price. The first of these orders is a limit buy order. The limit order is at a fixed price, let's say $10 . The limit buy order will not get filled at a price greater than $10. It could potentially get filled at a price lower than $10. My other order in my OCO chain is a Stop Market buy order. A stop Market buy order , relies on a trigger price. Once this trigger price is reached, the stop market buy order will get activated, by placing a buy order at the current market price. Let's say that we set the trigger price for the stop market buy order to be also $10. This means if $10 gets reached, then a market buy order will get activated. So, if we have $10 on the BID, and $10.35 on the ASK, then the stop market buy order will fill me with shares at $10.35.

So now my question is : When I use the OCO chain strategy to place the limit and stop market buy orders both at the same price , $10. Then which one of these orders will get activated first, and how will this procedure be executed ?

I understand some parts of my question. The parts, I understand are the following. I know that when I place the limit buy order at $10, I will be sitting on the BID que at $10, and there will be other people sitting on the BID at $10 as well. So if I am not the first on that $10 BID que, then once $10 is reached, there will be shares acquired by some other people first, which will not activate the Limit order, but it will activate the Stop Market buy order, which will result me in purchasing shares at the current market price.

Let's now say that I am the only one on the BID at $10. Then when the price falls, and someone sells me shares at $10, but they are less then my quantity on the BID, then will I get a partial fill at $10, which will come from the Limit order, and then will the Stop market buy order get activated, resulting me in purchasing the resulting shares at the current market price, or will my remaining shares maintain at $10 on the BID ? I know that the OCO only works, when one of the orders gets filled, but a partial fill, does not count as a 'fill'.

Also, if the seller is selling the same or more than the quantity of shares that I have on the BID at $10, then I will assume that the Limit order will get filled, and I will acquire the shares at $10, and then the stop market order will get canceled, by the OCO strategy.

What do you guys think ?

  • 1
    The stop market buy will always be hit first because of how the stop is defined: if the bid/ask is $10 or higher the stop order will be triggered. A stop buy should be placed above the current market price.
    – hroptatyr
    Commented Sep 11, 2017 at 5:31

1 Answer 1


Some of this may be specific to your broker's order routing system. They will process the rules in the order that they think is most appropriate (or perhaps not), so experience may serve as a guide.

The first question is whether the Stop Market Buy order uses the bid price, the ask price or the last trade price as the trigger price. If it uses the last trade price then it is not clear which one would execute first.

Top of Book

Imagine you place a limit order at $10.00, then a Stop Market Buy order also at $10, your buy could be on the top of the book. So if the market starts trading at $10, some of, if not all of your Limit Order could be executed. If the trigger is the last trade price, then that would trigger the Stop Market Buy order. If the broker's order logic is fast enough and not 'best effort', the partial or full execution of the limit order should cancel out the Stop Market Buy order.

Below the Top of Book

However, if you are not on the top of the book (someone else's limit order at $10.00 is in front of you) then that may execute, in turn triggering your stop market buy order.

Market Orders and Stop Orders are Risky

The other danger with stop orders is sometimes the market can move quickly - it might jump down to $10.00 and then suddenly jump back up to $12.00 or more. If your broker's or exchange systems slow down at that point it could cause your Stop Market Buy to execute at $12.00 rather than $10.00.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .