"Gaps always fill" is one of those trading sayings everyone has heard and nobody can source. The trade built on it sounds reasonable: when a stock jumps up overnight, the space it skipped becomes support, so when price comes back down into that space, you buy.
We tested exactly that on Trade Manager on 3 October 2026, across every stock in the S&P 500. It took 1,964 trades and won 36% of them. With the exits we used, it needed 37.5% to break even. So it lost, but only just, and the reason it lost turned out to be more interesting than the loss.
Turning "buy the gap fill" into a rule
A chart lets you see a gap and decide it matters. A backtest needs a definition, so the test used one block, on the daily timeframe:
- The gap — a gap up of at least 1%. A day that opened at least 1% above the previous day's high, inside the last 24 trading days, that price has not already come back and filled.
- The trigger — price dips into the gap. The first day price trades back down into that empty space. The trade is bought at the next day's open.
- Exits — a 5% target and a 3% stop.
That is the whole strategy. No indicator on top, no filter. We wanted to test the idea itself, not the idea plus a pile of things that might be doing the real work.
The result
| Metric | Value |
|---|---|
| Trades | 1,964 across 478 stocks |
| Won | 708 |
| Lost | 1,256 |
| Win rate | 36.0% |
| Win rate needed to break even | 37.5% |
| Average trade | −0.14% |
| Average hold | 3 days |
| Universe and window | 503 of 503 stocks, April to October 2026 |
Real trades from the run, both kinds: CEG stopped out at −3%, ARE hit its +5% target, TMO stopped out, OXY hit target, MTD stopped out, TSLA hit target.
We are leading with the average trade rather than a total return on purpose. Nearly two thousand trades compounded one after another turns a small average loss into a frightening headline number, and that number says more about compounding than about gaps. The honest summary is this: on average, each trade lost a seventh of a percent, before commissions and slippage.
Close to break-even is still a loss
A 36% win rate sounds bad. It is not, on its own. With a 5% target and a 3% stop, each winner is worth more than each loser, so you can lose most of your trades and still make money. The line is:
Break-even win rate = stop ÷ (target + stop) = 3 ÷ 8 = 37.5%
The strategy missed that line by 1.5 percentage points. That is close enough that it would be tempting to keep tweaking until it clears. Before doing that, it is worth asking whether the setup has any edge at all, or whether it simply rides the market. The next two sections answer that.
Does a bigger gap help?
A common refinement is to only trade large gaps, on the theory that a big jump marks a more important level. We ran the identical test again with one change: the gap had to be at least 3% instead of 1%.
| Gap of 1% or more | Gap of 3% or more | |
|---|---|---|
| Trades | 1,964 | 543 |
| Stocks that traded | 478 | 244 |
| Win rate | 36.0% | 37.0% |
| Needed | 37.5% | 37.5% |
| Average trade | −0.14% | −0.04% |
Bigger gaps cut the number of trades by almost three quarters and nudged the win rate up by one point. The average loss per trade shrank to almost nothing. That is an improvement, but look at what it improved to: a coin flip. Nothing in that column says "edge".
The month mattered more than the setting
Here is the part that changes how to read everything above. Split the 1,964 trades by the month they were taken:
| Month (2026) | Trades | Win rate | Average trade |
|---|---|---|---|
| April | 133 | 38.3% | +0.07% |
| May | 319 | 32.9% | −0.37% |
| June | 365 | 40.5% | +0.24% |
| July | 464 | 43.1% | +0.45% |
| August | 380 | 30.5% | −0.56% |
| September | 298 | 28.5% | −0.87% |
The same rule, on the same stocks, won 43% of its trades in July and 28.5% in September. That swing is about fifteen times larger than the difference between the 1% and 3% versions of the strategy.
That is what a missing edge looks like. Buying dips into a gap works when the market is buying dips, and stops working when it isn't. Someone who started this in June would be convinced it works. Someone who started in August would be sure it doesn't. Both would be reading the market, not the strategy.
What would actually make it worth trading
If you still like the idea, the useful next step is not a smaller gap size or a slightly wider target. It is a condition that tells the strategy which kind of market it is in, so it stops taking trades in months like August and September. Two things worth testing:
- A trend filter. Only take the trade when the stock is above a longer moving average, so you buy pullbacks in things that are already going up.
- A relative-strength filter. Only take the trade when the stock is outperforming the S&P 500, so the dip is in something buyers already favour. In Trade Manager that is the Market Benchmark block.
We have not tested those here, and we are not going to claim they fix it. They are the right question to ask next, and each one is a single block and a single backtest away.
Run it yourself
- Open the strategy from the button on this page. It is the exact 1% test above.
- Look at the Gap Fill block: gap up, price enters gap, 1% minimum, 24-day window.
- Work out stop ÷ (target + stop) for your exits and write it down before running.
- Run the backtest. Then add a trend or relative-strength filter and run it again.
- Compare the two win rates to your break-even number. That comparison is the result.
Backtests replay bar by bar using the same evaluation code as the live scanner, so a strategy that tests one way behaves the same way once alerts are switched on. If a version clears your break-even with real margin, you can switch it on and get an alert when a stock dips into a gap, instead of checking charts for it. See how to work out your break-even win rate and the support bounce test, a pullback strategy that did clear it.
The caveats, which both flatter this result
Survivorship bias. The test uses S&P 500 membership as it stands today. Companies removed from the index during the period are missing, and removals skew toward poor performers.
Frictionless fills. Trades are assumed to fill exactly at the target or the stop, with no slippage and no commissions. Across nearly two thousand trades, real costs would push an average of −0.14% further down.
One window. Six months of one market. The month table above is the warning: a different six months could look better or worse. That is exactly why a strategy needs a reason to win that does not depend on which months you happened to test.
