Limit order vs market order: the limit lost 9 comparisons out of 11
10 min read · Published 27 Oct 2026
Three times we built the same strategy: a limit order in the direction of the trend, waiting for a pullback to an “important level”. We changed only the source of the levels (the previous day’s levels, round numbers and a profile of real exchange volume), and each time we compared the result with a market entry, with the same stop and the same position management. On eight instruments this gave 11 comparisons, and the limit did worse in 9 of them. The phenomenon has a name: adverse selection of fills.
Abbreviations: a limit order is a pending order that buys below the current price (or sells above it) and is filled only when price reaches it. At market means entering immediately, at the current price. R is a result in units of risk (−1 R = a loss equal to the distance to the stop). PF is total gains divided by total losses; 1.00 means breaking even. ATR is the average candle range, a measure of volatility. H1 and M5 are hourly and five-minute candles.
Hypothesis
“Don’t chase price” is one of the most common pieces of advice in trading education. Instead of buying at market, place a limit order at the nearest support and wait for the market to come to you. You buy cheaper, and the level where your order is waiting is also supposed to “hold” price.
We tested this advice in its simplest, mechanical form. The hypothesis, frozen before each of the three tests, was this: a limit order in the direction of the trend, at a level no more than 2 ATR from price, gives a positive expected value after costs. It should also do better than the same mechanism at a pseudo-level the same distance away (placebo), and better than a market entry at the moment of decision, with the same stop and target. We wrote down our expectations before the start, and they were low: we put the chance of passing at 20–25%, because support and resistance as such had already failed in our earlier tests.
Our starting point was the grid of orders that our language model placed live (chapter 15). We turned it into rigid rules and then swapped out only the set of levels, so that each time only one thing changed.
How we tested it
One engine for all the tests:
- eight scans a day at fixed times, Monday to Friday;
- direction from the EMA50 on H1: price above the average means buys only, price below it means sells only;
- up to three levels in the direction of the trade, no further than 2 ATR(H1) from price, the deepest ones within reach;
- a stop 1 ATR(H1) beyond the level, and the position split into two halves, one with a 1 R target and one with a 2 R target; once the trade is 1 R in profit, the second half gets its stop moved to the entry price;
- an order lives for 240 minutes, and once one level is filled, the others are cancelled; at most three fills per day;
- fills and exits calculated on M5 candles; when both the stop and the target are hit within one candle, we count the stop.
Three sources of levels:
- The previous day’s levels: the high, the low, the pivot point and two levels derived from it, plus the Asian session range. Gold, 2018–2023 (more in chapter 15).
- Round numbers: multiples of a “three significant figures” step, which on gold above $1,000 means every $10. Eight instruments, 2018–2023 (chapter 12).
- A volume profile built from the real exchange volume of the gold futures contract: the price with the highest volume, plus the upper and lower bounds of the area in which 70% of the previous session’s volume traded. 2020–2023 (chapter 13). Alongside it, we calculated the same profile from time instead of volume, to check whether real volume adds anything.
Comparisons and criteria. The benchmark was a market entry at the moment of the scan, in the same direction, with the same stop and position management. The placebo shifted each level at random by 0.25–0.75 ATR, away from the real levels, while keeping the same average distance from price (100–200 draws). Costs came from ticks and ranged from 0.9% of risk on USD/JPY to 8.6% on the UK index. Correction of 28 Oct 2026: tick history does not include the markup our account charges, so costs on gold and USD/JPY were understated (on USD/JPY roughly six times). This does not change the limit-versus-market comparison, because both versions pay the same cost per trade, but results after costs on these two markets would be worse, and the only positive result in the table, the market entry on USD/JPY, would drop below zero. A clock check (chapter 2) was built into the script: gold’s volatility peak fell at 13:30 UTC, where it should. Passing required, among other things, a PF of at least 1.25, a result better than both the placebo and the market entry, and at least 60% of years in profit.
Result
No test passed, so we opened no holdout sample. The best PF, 0.99, came from the previous day’s levels on gold, and the other tests gave 0.83–0.93. The market entry had no edge either (PF 0.83–1.01), so the direction from the average contributed nothing here on its own. The most interesting part, though, is the direct comparison of the two ways of entering.
Average result per decision: limit vs market entry (training years):
| level source | instrument | filled limits | limit | at market | difference |
|---|---|---|---|---|---|
| previous day’s levels | gold | 2,883 | −0.005 R | −0.025 R | +0.020 R |
| round numbers | gold | 1,852 | −0.035 R | −0.025 R | −0.010 R |
| round numbers | broad US index | 2,594 | −0.097 R | −0.066 R | −0.031 R |
| round numbers | US technology index | 2,158 | −0.050 R | −0.025 R | −0.025 R |
| round numbers | index of 30 large US companies | 2,539 | −0.040 R | −0.010 R | −0.030 R |
| round numbers | German index | 2,013 | −0.052 R | −0.001 R | −0.051 R |
| round numbers | Japanese index | 3,025 | −0.068 R | −0.039 R | −0.029 R |
| round numbers | UK index | 3,002 | −0.080 R | −0.096 R | +0.016 R |
| round numbers | USD/JPY | 908 | −0.061 R | +0.006 R | −0.067 R |
| volume profile | gold futures contract | 1,331 | −0.046 R | −0.022 R | −0.024 R |
| time profile | gold futures contract | 1,254 | −0.036 R | −0.022 R | −0.014 R |
The limit did better in only two cases. On gold with the previous day’s levels it was better by 0.02 R, roughly half the transaction cost, and the real levels beat the placebo there (p = 0.04). On round numbers, no edge over the placebo survived the correction for eight tests. On the UK index the limit won because the market entry did worse there than anywhere else in the table, with costs at 8.6% of risk. In the other nine comparisons, waiting for the level cost between 0.01 and 0.07 R per decision. Orders were filled 43–64% of the time.
Why it doesn’t work
Same geometry, different moment. In both versions the stop sits 1 ATR from entry and the targets 1 and 2 R away, so a better entry price by itself does not change the result measured in R. The only difference is the choice of moments at which a trade happens at all. A market entry takes the market as it comes. A limit takes only the moments when price has moved against the trend all the way to the level.
Adverse selection of fills. Take an uptrend and a buy limit 1 ATR below price. There are three possible scenarios:
- price goes straight up, so the limit is not filled and we miss the best trade;
- price comes down to the level and bounces, so the limit is filled and makes money;
- price breaks through the level and keeps falling, so the limit is filled and loses.
A market entry gets all three scenarios. A limit loses the first and is left with a mix of the other two. In our data that mix was worse than the whole in 9 comparisons out of 11: if price had moved against the trend far enough to touch the level, it more often kept going. The market microstructure literature describes this as the adverse selection risk of limit orders (e.g., Handa and Schwartz, 1996). A caveat: this is our explanation, and it fits the numbers, but we did not measure it directly. For example, we did not calculate what a market entry would have given in exactly those scans where the limit was not filled.
The source of the level doesn’t save it. Three independent sources of levels — price itself, the roundness of a number and real volume — gave the same sign. The profile from real volume did no better than either the time profile or the market entry. The deepest levels in the trend worked worst: the lower bound of the value area from the volume profile (PF 0.75) and yesterday’s low (PF 0.79). Buying deep below price in an uptrend was like catching a falling knife.
A limit won’t fix a zero. A market entry in the direction of the average had no edge either. The limit added a small minus to a zero strategy and in no test turned it into a plus. Even in the best case, the previous day’s levels, PF would have been 1.03 with the cost cut in half.
The lesson for you
Patience at entry sounds like a virtue, but it is also a decision you can measure. For us, it usually cost money.
How to check whether waiting pays off:
- Compare the limit with a market entry at the same moments, with the same stop and target in R. Without that difference, you don’t know whether the level helps at all.
- Record the orders that were not filled, and what the market did afterwards. The trades that never happened are often your best ones.
- Count fills honestly. A buy limit is filled only when the price you buy at (the ask) reaches the level, not when a wick on a chart drawn from the bid touches it. A backtest that fills the limit on every touch is too kind to the limit.
- Don’t look for a better source of levels before you have checked the way you enter. For us, replacing price levels with round numbers and real volume did not change the sign of the result.
- Check whether the direction alone has an edge. If a market entry in the direction of the trend gives zero, a limit won’t fix it.
In your trading journal, note for every limit order the price at the moment of decision and whether the order was filled; after a few dozen entries you will see how much waiting costs you. The “Luck or edge?” calculator will help you judge whether the difference between the two versions stands out from chance.
Educational content, not investment advice. Past results do not guarantee future results. We describe the result of our reconstructions of a single, strictly defined limit-order mechanism on three sets of levels, on our data and with our costs — not an assessment of every way of trading with pending orders.