Two Buy Orders at the Same Price on an IDX Stock Don't Fill in Random Order. Price-Time Priority Is the Actual Rule
4 min read
4 min read
You place a buy order for a stock at Rp2,500. So does someone else, at the exact same price, a few seconds later. When a matching sell order shows up for less than both of you want, only one order gets filled. It isn't random, and it isn't decided by order size or which broker you use. The exchange's matching engine follows a fixed rule called price-time priority, and it treats every identical-price order the same way: first come, first served.
IDX (Bursa Efek Indonesia) matches every buy and sell order through its own electronic matching engine, JATS. The engine ranks orders using two criteria, applied in a strict order, according to IDX's own trading-mechanism documentation (IDX):
Say Bank Central Asia (BBCA) is trading with a best bid of Rp2,500. Andi places a buy order for 10 lots at Rp2,500 at 09:31:02. Budi places a buy order for 10 lots at the same Rp2,500 at 09:31:08, six seconds later. A seller then sends in a sell order for only 10 lots at Rp2,500.
Andi's order fills in full. Budi's order stays in the queue at Rp2,500, waiting for the next matching seller, purely because Andi's order reached the exchange six seconds earlier. Neither order size nor which securities firm placed the order changed the outcome. You can see live prices and the queue this logic applies to on NetWort's BBCA asset page.
Your position in the queue isn't permanently locked in. Two common actions change it in opposite ways:
This matters most in exactly the situations where you'd assume a rule like this is a technicality: a stock that trades close to its fraksi harga tick size, so there's little room to outbid anyone, or a stock that's thin enough that only a handful of lots trade at the best price all day. In both cases, whoever queued first at that price is the one who actually gets the fill, and everyone behind them in time is left holding an order that looks identical on paper but never executes.
It also explains something that confuses a lot of new IDX investors: an order that sits unfilled all session at what looks like a perfectly reasonable price. If your order landed after a large stack of earlier same-price orders, especially right after the market opens or right before a stock swings toward auto reject, you may simply be too far back in the queue for the available volume to ever reach you.
Before you assume an unfilled order means your price is wrong, check the order book depth on NetWort's Explore page to see how much volume is actually queued ahead of you at that price level. If a stock trades a large multiple of your order size at your exact price every session, patience alone may not be enough, and adjusting your price is a more realistic path to a fill than waiting out the queue.