I have read that MOC (Market on Close) orders "Won't be executed until shortly before the current market session closes". This seems rather vague.

I know that during a session there is an order book with bids and asks from market makers, limit orders, etc. in which the sequence in which orders are received plays an important role in how fills occur.

How do Market on Close orders actually get executed? Do they all get queued up and then instantly turned into market orders 1 second or 1 minute before the market closes? Or are they all crossed at the instant the market closes? Is there any mechanism in place to make sure that all these orders get executed? What if the price rises or falls too much and trigger a halt? Or do all MOC close orders all get executed simultaneously at the same price?

1 Answer 1


I have mentioned before in previous answers that I have a background in direct exchange feeds. I am more on the tech side but have gone through full market cycles in Europe and the US.

Market on Close orders first of all have to be in the order book at least 10 minutes before market close. Some exchanges have this set at 15 minutes.

The execution time of these orders is often after market but really varies by exchange. The earliest I have seen them executed is about 1 minute before close but most start at normal hour closing time. Most exchanges have a grace period for these trades and other wrap up situations where we would get activity from "normal exchange hours" compared to after hours. Most exchanges this last 10-15 minutes. On our servers we have to actually configure for this grace period and an exchange might send a signal one a year or so to change their own times.

Realistically on a normal trading day the MOC orders will get executed almost right at closing. I could actually look at a log from today and see probably most of them executed within a few seconds of close. On a particular heavy day or a day in which the exchange might have a few issues it might happen 5-10 minutes after close.

To go even further every exchange will have their own rules about what order they will execute trades and when they will start MOC orders. Some exchanges don't even have MOC orders. I will leave you with this thought. There are at least 100 large companies getting direct exchange feeds where they get data milliseconds quicker than the average joe. They have servers that try to guess when these MOC orders will execute so that their algorithms can decide if they should buy/sell before/during/after MOC executions. Most of the time their computers are right but there is no exact science to this.

  • ah okay, thanks for sharing. it's interesting that this happens differently on a per-exchange basis. it seems that even computers can't predict with 100% certainty what is really going to happen all the time.
    – user12515
    Jan 16, 2015 at 17:52
  • @Michael - When I stopped writing software for feed servers we had well over 120+ exchanges, with different software, and vastly vastly different settings. These settings reflect exchange rules, hours, after hours, and so on.
    – blankip
    Jan 16, 2015 at 18:01

You must log in to answer this question.