Level Scope › Fair value gaps
Fair value gap formed
A three-bar imbalance just completed its third bar: the middle bar ran far enough that the outer two do not overlap. Only gaps of at least one ATR are shown.
What it looks like on a chart
A shaded band between the two edges of the gap, extended forward.
| Timeframe | Bars of history it reads | Settings | Events, last 30 days |
|---|---|---|---|
| M15 | 120 | three-bar gap, at least 1 ATR(14) | 495 |
| M30 | 120 | three-bar gap, at least 1 ATR(14) | 252 |
| H1 | 120 | three-bar gap, at least 1 ATR(14) | 121 |
| H4 | 120 | three-bar gap, at least 1 ATR(14) | 44 |
| D1 | 120 | three-bar gap, at least 1 ATR(14) | 7 |
What we measured
This is the one where the literature and the measurement part company. Over 275,000 hourly gaps against controls matched on distance and volatility: gaps close within 24 bars 75.9% of the time, and a matched non-gap bar at the same distance closes 75.8%. The famous 70–90% is real and it is entirely the distance — the gap itself adds under a point, and the sign is not stable across timeframes. Worse for the doctrine: gaps of 1+ ATR, the ones a displacement story is told about, close 2 to 4 percentage points less often than their matched control from 8 bars out to 120, on both H1 and H4.
What it does not claim
So it ships as an event with that number attached, and never as a setup. If you trade gap fills, the measurement says you are trading the distance.
Where the definition comes from
the same condition reach/fvg_fill.py measured