Sometimes you place a limit order, the chart clearly shows price touching your level, and the order is still sitting there. Other times you set a limit to buy cheaper and it fills instantly.

Both stop being confusing once you know how a limit order works. This article covers how limit orders work, how they differ from market orders, and what to check when you actually place one.

A limit order sets the price and waits

A limit order is an order where you choose the price you buy or sell at. The order goes onto the order book and waits until the market reaches that price or a better one.

A market order is the opposite. You don't set a price; it fills right away, starting from the best price currently on the order book. A market order is certain to fill but its price isn't fixed, while a limit order has a fixed price but isn't certain to fill.

A limit buy never pays more than the price you set, and a limit sell never sells for less. In exchange, if the market never gets there, the order stays unfilled.

Buy limits go below, sell limits go above

Whether a limit order waits or fills at once depends on where your limit sits relative to the current price. Say ETH is at 2,400 USDT.

OrderCurrent priceLimit priceResult
Limit buy2,400 USDT2,200 USDTWaits until price drops to 2,200 or lower
Limit buy2,400 USDT2,600 USDTFills at once (from the best ask at or below 2,600)
Limit sell2,400 USDT2,600 USDTWaits until price rises to 2,600 or higher
Limit sell2,400 USDT2,200 USDTFills at once (from the best bid at or above 2,200)

Put a buy limit above the current price and it fills right away, because people are already offering to sell for less. Even then you don't buy at 2,600 USDT; you buy from the cheaper asks on the book in order. So to buy cheaper, place the limit below the current price; to sell higher, place it above.

Why didn't it fill when price touched my level?

The price on the chart is the last traded price. Price touching your limit means a trade happened at that price once, not that your order was filled too.

Exchanges usually fill orders at the same price in the order they arrived. If many buy orders are stacked at 2,200 USDT and only some volume is offered at that price, the earlier orders fill and yours can be left over. Binance's help center also explains that even when the market price reaches your limit, the order won't fill if there are no orders on the other side at that price.

Orders can also fill only in part (a partial fill). If you ordered 1 ETH and only 0.3 ETH filled, the remaining 0.7 ETH stays on the book as an open order. If you don't need the whole amount at that exact price, placing the limit a little less greedily is one way around this.

Maker and taker: where fees split

An order that rests on the book and fills later is a maker; an order that takes an existing order right away is a taker. A resting limit order is a maker, while a market order or a limit order that fills at once is a taker.

Exchanges charge the two separately, and many, such as Binance Futures, charge makers less than takers. Exact rates differ by account tier and product and can change, so check the exchange's fee schedule.

If you must enter as a maker, use the Post Only option. If the order would fill the moment it's placed, it is canceled instead, so you don't become a taker by mistake. On Binance Futures, the GTX (Good Till Crossing) time-in-force does this.

Time in force: GTC, IOC, FOK

A limit order carries a time-in-force setting that decides how long it stays open. If you don't choose one, it's usually GTC.

GTC (Good Till Cancel) stays open until it fills or you cancel it. According to Binance's futures API documentation, it's canceled automatically one year after placement. IOC (Immediate or Cancel) fills whatever it can right now and cancels the rest at once. FOK (Fill or Kill) fills only if the whole amount can fill immediately; otherwise the entire order is canceled.

GTC is enough for everyday use. Orders left open for a long time are easy to forget, so check the open orders tab now and then to make sure you still want them.

A limit order can't replace a stop-loss

What happens if you set a sell limit below the current price to cut a loss? As the table above shows, a sell limit below the current price fills at once. It isn't an order that waits for price to drop and then sells.

To sell once price drops, use a stop order. It sends the order only when price reaches a level you set (the trigger). A stop-limit sends a limit order after the trigger, so in a sharp drop price can jump past the limit and leave it unfilled. For a stop-loss that must cut the loss, a stop-market order, which is certain to fill, is the usual choice. We covered how to set the stop price in our leverage article.

Take-profits, on the other hand, suit limit orders well. For a long, a sell limit at your target closes the position at that price as price rises, and it fills as a maker. It helps to check the risk-reward ratio from your entry, stop and target first

FAQ

Do unfilled limit orders cost a fee?

No. Fees apply only to the amount that fills. Cancel before it fills and there's no fee; if it filled in part, you pay only on that part.

What happens to my funds while a limit order is open?

They're locked to the order and can't be used for other orders. Cancel the open order and they return to your available balance.

Sources