Fair Value Gaps: How to Define One and Whether They Fill

9 min readQuantParadox research

The fair value gap is one of the more precisely defined ideas in modern chart analysis, which makes it unusually easy to test — and unusually easy to test incorrectly, because the failures leave the chart quietly.

The short answer

A fair value gap is the unfilled range between the first and third candle of a three-candle sequence where price moved fast enough to leave no overlap, and measuring how often they fill requires counting the ones that never did.

What is a fair value gap?

A fair value gap is the space left when price moves so quickly through an area that three consecutive candles fail to overlap: the high of the first candle sits below the low of the third, or the low of the first sits above the high of the third.

That definition is genuinely mechanical, which sets it apart from most chart-pattern concepts. There is no judgement about whether a move counts as impulsive and no ambiguity about which candles are involved. Given three bars, the answer is arithmetic.

The idea behind it is that a fast move leaves unsatisfied interest in the skipped range, and that price tends to return to trade through areas it passed over. Whether that tendency exists at a rate worth trading is exactly the sort of thing a long history can answer.

Note the vocabulary overlap. What this concept calls a gap is not the same as an equities opening gap, where the market literally did not trade for hours. Here price did trade through the range — it simply did so within a single candle rather than spending time there.

How often do fair value gaps actually fill?

Measuring fill rates honestly requires a fixed horizon and a count of the gaps that never filled inside it, which is precisely what informal analysis leaves out.

The trap is subtle. If you scroll back through a chart and check whether the gaps you can see got filled, you will find that most of them did — because unfilled gaps are the ones sitting in areas price has since left behind, often far above or below the current range where you are not looking. The visible sample is biased toward fills by construction.

The correct procedure is mechanical enumeration. Walk the history, record every three-candle sequence that meets the definition, and grade each one at a fixed horizon: filled, partially filled, or unfilled at expiry. Report all three. A fill rate quoted without a horizon is not a number, because given infinite time most gaps eventually fill and the statistic degenerates to something near certainty while being useless for trading.

The horizon has to be chosen before you look, too. Trying twelve horizons and reporting the one with the most attractive fill rate is a search, and the number it produces describes your search rather than the market.

Do fair value gaps work as entry zones?

As an entry location the concept is testable, and the honest way to frame it is the same as for any zone: the gap tells you where, and something else has to tell you when.

The naive version — place a limit order in the gap and a stop beyond it — is easy to test and easy to make look good by accident, because the stop is close and same-bar ambiguity favours whichever assumption your tester makes. Verify how your tool resolves a bar containing both the entry and the stop before believing any result from this family of strategies.

A more defensible version requires a reaction inside the gap before entering, which sacrifices price for evidence. Compare both against the same history rather than assuming the limit entry is better because it fills at a nicer number; the fills you miss are part of the comparison and are invisible on the chart.

Consider also the direction context. A gap left by a move in the direction of the higher-timeframe trend is a different animal from one left by a counter-trend spike, and pooling them hides whichever effect exists. Splitting by context costs sample size, which is the recurring tax on every honest refinement.

How big does a gap need to be to matter?

Size has to be normalised by volatility, because a ten-pip gap on a quiet EUR/USD afternoon and a ten-pip gap during a volatile session are not the same event despite the identical number.

Expressing the threshold as a multiple of ATR makes the rule portable across instruments and across regimes, which matters if you intend to scan more than one market. It also stops a common failure mode where a strategy silently becomes a volatility filter: without normalisation, a fixed pip threshold selects almost exclusively for high-volatility periods, and the results end up describing those periods rather than the pattern.

There is a lower bound below which the concept stops meaning anything. A gap of a fraction of the typical spread is not a market structure feature, it is a rounding artefact, and including those will swamp the sample with noise that dilutes any real effect toward zero.

As always, the threshold is a parameter. Fix it on one part of the history, and if you try several, say how many.

Questions people actually ask

Is a fair value gap the same as an imbalance?

The terms are used interchangeably in most modern material, and both describe the same three-candle non-overlap condition. Older technical analysis described similar events without either name, usually as a fast move or a runaway gap. The geometry is what matters for testing, and the geometry is identical whichever word is used.

Should I trade the gap fill or the gap as support?

Those are two different strategies and they need separate tests. Trading the fill means expecting price to return into the gap, which is a mean-reversion bet. Treating the gap as support means expecting price to react at its edge and continue, which is a continuation bet. They can both be true at different horizons, and a single test that conflates them will report a muddle.

Do fair value gaps appear on every timeframe?

The three-candle condition can be evaluated on any timeframe, so gaps appear everywhere, but they are far more frequent on lower timeframes where individual candles cover less price. That frequency is a mixed blessing: more occurrences means a larger sample, and it also means the average gap carries less structural significance. Measuring per timeframe rather than pooling is the safer approach.

The only backtest that settles it is yours.

Build a strategy from a sentence, paste your own Python, or import your live trade history and have it graded. Five full backtests free, no card, and we'll tell you plainly when the result is indistinguishable from luck.

We publish research and tooling, not trading advice, and we make no claim about future returns. Everything above describes how to test an idea — not a reason to trade one.