All posts
Fair Value GapFVGprice actionindicatorbacktestUSDJPY

Fair Value Gap Settings: 99% Fill, and So Does Every Other Bar

Fair value gaps open on a fifth of USD/JPY bars and 96-99% get filled. Bars that opened no gap were revisited just as often, and the median wait was two bars. Measured.

A fair value gap (FVG) is a three-candle pattern. If the first candle's high and the third candle's low do not overlap, the price range between them is read as territory the middle candle crossed without trading back against it — an imbalance price is said to return to.

It does return. On USD/JPY, 96.2-99.4% of gaps were revisited.

The problem is that this number says nothing about fair value gaps. A bullish gap's ceiling is the third candle's low, so "the gap was filled" is word-for-word the same event as "price came back to that candle's low." And every candle has a low.

96%97%98%99%100%M15 2025M15 2024H1 2025H1 2024H4 2025H4 2024share the level was revisited
bars that opened a gapevery other barUSD/JPY — share whose low (bullish) or high (bearish) price came back to
The gap bar is revisited slightly less often than an ordinary bar, in all six cells.

What a fair value gap actually tests

One comparison between two candles, done once:

  • Bullish: third candle's low > first candle's high. The band sits between those two prices
  • Bearish: third candle's high < first candle's low. Same, inverted

The middle candle does not appear. It is not in the expression, so a wide-range bar and a doji produce the same verdict.

How often the condition fires on USD/JPY:

TimeframeYearBarsGapsShare of barsBand width (median)
15-minute202524,9035,61022.53%2.95 pips
15-minute202424,9995,45521.82%2.70 pips
Hourly20256,2261,31221.07%6.85 pips
Hourly20246,2501,27120.34%5.80 pips
4-hour20251,61036822.86%15.75 pips
4-hour20241,61636922.83%13.50 pips

One bar in five opens a gap. This is not a rare configuration. On the 15-minute chart, 82-89 gaps a year were under a tenth of a pip wide, which draws as a dashed line rather than a band.

99% get filled, and so does every other bar

Here is the fill rate beside the rate at which price came back to the low or high of bars that opened no gap — bars where the first and third candles overlapped.

TimeframeYearBars that opened a gapEvery other bar
15-minute202599.36%99.37%
15-minute202499.19%99.39%
Hourly202598.55%98.71%
Hourly202498.27%98.82%
4-hour202597.01%97.18%
4-hour202496.21%97.79%

That table is the figure at the top. In all six cells the gap bar is the lower of the two. The median wait before the level was reached was two bars for both groups.

"Fair value gaps get filled" is a correct observation, but not because they are gaps. In a market that ranges, the high and low of any bar is eventually traded through. The indicator has put a name on that general property.

The median wait is two bars

Timing the fill makes it harder to use, not easier.

TimeframeYearMedianOn the next barWithin 3 bars90th percentile wait
15-minute20252 bars44.03%63.31%44 bars
15-minute20242 bars46.07%64.02%41 bars
Hourly20252 bars45.32%62.57%43 bars
Hourly20242 bars43.55%62.37%40 bars
4-hour20252 bars45.10%63.59%29 bars
4-hour20242 bars41.97%63.10%54 bars

More than four in ten are filled on the bar immediately after the gap forms. The band appears on the chart the moment the third candle closes and is gone on the next one — that is the single most common outcome.

"Wait for price to return to an unfilled gap, then enter" does not survive this distribution. Close to half of the gaps are finished between the band appearing and an order reaching the market.

Some do stay open. Across all of 2025, the gaps still unfilled at the end of the year numbered 36 on the 15-minute chart (of 5,610), 19 hourly (of 1,312) and 11 on the 4-hour (of 368).

The band has no inside

A band has width, so "touched the edge" and "filled to the far side" should be different events. Measuring how far the first bar that arrives reaches into the band — 0 is the near edge, 1 the far one:

TimeframeTouchesDepth reached (median)Reached halfwayClosed it fullyOvershot by half a band
15-minute5,5741.1270.58%53.07%42.07%
Hourly1,2931.0666.82%51.35%40.84%
4-hour3570.9766.11%49.30%39.78%

The median is about 1.0. The typical behaviour is that the arriving bar goes straight through, and about half close the band completely in that single bar. Four in ten carry half a band's width past it.

Price entering the band and stalling there did not show up in the data.

How to show fair value gaps on a chart

None of the platforms ship one, so every route takes a step:

  • MT4 / MT5: no fair value gap in the bundled indicator list. You put a custom indicator (.mq4 / .mq5) into the indicators folder and add it from the Navigator
  • TradingView: not in the built-in indicator list either; you search the public scripts and add one
  • Formiq: in the chart's indicator settings under the pattern group, with a toggle for showing only unfilled gaps and a minimum width in pips

Those two settings are the ones that matter. Gaps open on a fifth of all bars and 99% of them fill, so drawing every gap fills the chart with history rather than levels.

The middle candle is never read

The published reading calls the middle candle displacement and wants it large. The test does not look at it. Whether that costs anything is measurable.

Splitting the middle candle's body into ATR quartiles, then measuring how often price moved the gap's way over the ten bars after it returned to the level:

TimeframeQ1 (smallest)Q2Q3Q4 (largest)
15-minute49.68%47.02%51.76%49.32%
Hourly53.11%53.73%47.52%41.93%
4-hour44.32%47.19%49.44%52.81%

Bigger is not better. The best quartile is Q3 on the 15-minute chart, Q2 on the hourly — where it falls as the body grows — and Q4 on the 4-hour. The direction changes with the timeframe.

The boundary itself is worth one more step. Measuring the overlap between the first and third candles as a signed multiple of ATR, and keeping the negative side — the near misses, where the two candles do overlap and there is no gap:

40%45%50%55%gap starts here≤−1.0−1.0…−0.5−0.5…−0.2−0.2…00…0.20.2…0.50.5…1.0>1.0overlap between bar 1 and bar 3, in ATR (negative = they overlap)
M15H1H4USD/JPY 2025 — share that moved the gap's way 10 bars after price returned to the level
The vertical line is where the indicator says a gap begins. The curves do not notice it.

Nothing happens on either side of zero. The per-bin figures scatter between 41.46% and 55.87% across the 24 cells (three timeframes by eight bins), but the step across zero is −1.81 points on the 15-minute chart, +2.81 hourly and −4.35 on the 4-hour. The signs do not agree.

The line the indicator draws sits partway along a continuum.

How the backtest was set up

Everything above is about price. From here it is measured as a strategy.

ItemValue
PairUSD/JPY
Timeframes15-minute / hourly / 4-hour
Windows2025 (main), 2024 (out of sample), first and second half of 2025
Spread0.3 pips
Lot0.1
ExitOpposite signal (stops and targets measured separately)
ReadingsReturn to the gap / gap opens
Minimum gap size0, 0.25, 0.5, 1, 1.5, 2 x ATR
Valid for5, 10, 20, 50, 100 bars (return-to-the-gap only)

Two readings of one pattern:

  • Return to the gap: when price comes back to a band that is still unfilled, enter the way the band points (bullish gap = buy). This is the textbook reading
  • Gap opens: enter on the bar that creates the gap, in its direction. The same object read as displacement

The size floor is in ATR rather than pips because the median band runs from 2.95 pips on the 15-minute chart to 15.75 on the 4-hour. No single pip figure straddles all three.

Which timeframe survived

Settings that finished 2025 in profit:

ReadingTimeframe20252024Both yearsMedian (2025)
Return to the gap15-minute13/3020/306/30−426.3 pips
Return to the gapHourly6/3020/300/30−1,929.5 pips
Return to the gap4-hour5/3021/305/30−1,862.2 pips
Gap opens15-minute2/63/61/6−513.5 pips
Gap opensHourly3/66/63/6−79.7 pips
Gap opens4-hour1/66/61/6−1,584.7 pips

On the hourly chart, not one of the 30 return-to-the-gap settings was profitable in both years.

The two years also disagree sharply. In 2024 at least half the settings were profitable in every one of the six groups (20/30, 20/30, 21/30, 3/6, 6/6, 6/6); in 2025 the best group managed 13/30. The plain reading is that the market changed character.

Here is the setting the condition editor opens with — a 0.25x ATR floor, valid for 50 bars:

ReadingTimeframeYearTradesWin ratePFNetRank
Return to the gap15-minute20251,33746.97%1.072+1,155.8 pips10/30
Return to the gap15-minute20241,28048.59%1.073+1,215.2 pips13/30
Return to the gapHourly202532141.43%0.687−3,051.7 pips28/30
Return to the gap4-hour20259643.75%0.631−2,146.3 pips19/30
Gap opens15-minute20251,21137.90%1.052+840.7 pips2/6
Gap opens4-hour20247341.10%1.751+2,852.4 pips1/6

Only the 15-minute chart is positive in both years, and it does so on more than 1,200 trades rather than on a handful.

The size floor is clearest there:

Minimum sizeMean netMean tradesProfitable
0 (off)+271.5 pips2,3223/5
0.25x ATR+1,344.4 pips1,2315/5
0.5x ATR+2,232.7 pips6055/5
1x ATR−593.2 pips1330/5
1.5x ATR−1,302.1 pips490/5
2x ATR−949.1 pips290/5

15-minute chart, 2025, return-to-the-gap. Discarding the thin gaps works; discarding too many leaves nothing.

Every best-of-2024 setting lost money in 2025

The test this series runs every time: take the best setting from one year and apply it, unchanged, to the other.

ReadingTimeframeBest of 2024Net that yearIn 2025Rank in 2025
Return to the gap15-minute1x / 100 bars+3,713.3 pips−1,103.4 pips25/30
Return to the gapHourly1x / 100 bars+3,968.4 pips−2,744.2 pips25/30
Return to the gap4-hour1.5x / 20 bars+2,946.3 pips−1,765.1 pips15/30
Gap opens15-minute1x+2,445.9 pips−136.7 pips3/6
Gap opensHourly1x+4,186.1 pips−1,017.3 pips6/6
Gap opens4-hour0.25x+2,852.4 pips−1,694.4 pips4/6

All six lost money. The hourly setting that made nearly 4,000 pips in 2024 finished 2025 at −2,744.2 pips, last of its six.

Rank correlation between 2024 and 2025 ran from −0.771 to 0.543. On the hourly chart it was −0.597 for return-to-the-gap and −0.771 for gap-opens, meaning last year's ranking, read in reverse, was closer to this year's than reading it forwards.

Splitting 2025 into halves instead gives −0.6 to 0.657. Neither a year nor six months carried a ranking forward.

No setting reached a 50% win rate

Restricted to settings that took at least 20 trades, zero settings in any of the six groups had a win rate above 50%.

ReadingTimeframeCellsMean win rateMean winMean loss
Return to the gap15-minute3043.57%76.90 pips−72.35 pips
Return to the gapHourly2039.98%79.44 pips−83.80 pips
Return to the gap4-hour2037.37%101.46 pips−132.54 pips
Gap opens15-minute638.78%77.89 pips−72.53 pips
Gap opensHourly438.52%92.30 pips−67.71 pips
Gap opens4-hour434.38%137.85 pips−120.82 pips

A win rate under half is the trend-following signature in this series, not the mean-reversion one — which is what "wait for price to come all the way back to the band" sounds like. The rank correlation between win rate and net was 0.143 to 0.531, positive in all six: the settings that won more often also made more. That is the opposite of what Williams %R and MFI showed, where the highest win rates lost the most money.

Filters, stops and the spread

Added to the editor's opening setting, 2025 throughout.

An ADX filter only trimmed the one group that was profitable:

ConditionTradesWin rateNet
Bare1,33746.97%+1,155.8 pips
ADX(14) ≥ 2094746.15%+500.9 pips
ADX(14) ≥ 2566346.46%+267.4 pips
07-16 UTC only64046.09%−1,013.2 pips
12-21 UTC only57549.04%+873.2 pips

One session window survives and the other does not. 12-21 UTC keeps +873.2 pips on 57% of the trades, while 07-16 UTC flips the sign to −1,013.2 pips. A filter that works one way and breaks the other is a partition of the sample, not a reason to use it.

Stops and targets barely move the 15-minute chart (+1,161.4 pips at 30/60, +1,187.9 at 50/100, against +1,155.8 bare) and shrink the losses on the 4-hour (−2,146.3 bare, −154.2 at 30/60). They make the losing groups lose less; they do not make them win.

The spread behaves the way it has in every article in this series:

ReadingTimeframeTradesSpread 00.3 pips1.0 pipsBreak-even
Return to the gap15-minute1,337+1,556.9 pips+1,155.8 pips+219.9 pips1.164 pips
Gap opens15-minute1,211+1,204.0 pips+840.7 pips−7.0 pips0.994 pips
Return to the gapHourly321−2,955.5 pips−3,051.7 pips−3,276.4 pips

What the spread takes is the trade count times the spread. Predicted and observed agreed within 0.1 pips in all six cases. The two profitable 15-minute settings disappear above 1.164 and 0.994 pips of spread — real USD/JPY leaves room, but not much for something trading more than 1,200 times a year.

What this test supports

  1. "Gaps get filled" is not a property of gaps. 96.2-99.4% were filled, but bars that opened no gap were revisited 97.2-99.4% of the time, and the gap bars were the lower of the two in all six cells
  2. The median wait is two bars. Two in every cell, with more than four in ten filled on the very next bar. There is no interval for "wait for the return" to occupy
  3. The band has no inside. The first bar to arrive reaches a median of 0.97-1.12 band widths, and about half close it outright
  4. Nothing happens at the boundary. Binning the overlap by ATR, the change across zero has a different sign on each timeframe (−4.35 to +2.81 points)
  5. Only the 15-minute chart survives as a strategy, with a 0.25-0.5x ATR size floor, profitable in both years. But all six best-of-2024 settings lost in 2025, so picking by last year's result is not supported

For related shapes: promoting a drawing tool to a testable condition is the same move as Fibonacci retracement; counting a base rate before evaluating a filter comes from GMMA; and an indicator turning out to be something already known is CCI.

Limits of this test

  • USD/JPY only. Another pair may differ, and band width in particular scales with how much a pair moves
  • Two years, 2024 and 2025 — and they disagree. In 2024 at least half the settings in every group were profitable; in 2025 the best group reached 13/30. Nothing here decides which year is typical
  • Exits are the opposite signal. People who trade this pattern often place a stop beyond the far edge of the band, or hold to a prior swing. Those shapes are not measured
  • "Returned" means touched the near edge. Some definitions require a close inside the band, which would change the figures
  • The session filter uses one of the two available windows. Other hours than the two tested here exist
  • Higher-timeframe gaps traded on a lower chart are not covered. Each timeframe is measured within itself

Questions people ask

Do fair value gaps really get filled?
They do. On USD/JPY, 96.2-99.4% were revisited across six cells (15-minute, hourly and 4-hour charts over 2024 and 2025). But that number says nothing about gaps. A bullish gap's ceiling is the third bar's low, so 'the gap was filled' and 'price came back to that bar's low' are the same sentence. Counting the same thing on bars that opened no gap gives 97.2-99.4%, and in all six cells the gap bars were revisited slightly less often than the ordinary ones.
How long does a fair value gap take to fill?
The median wait was two bars, in all six cells. Between 41.9% and 46.1% were filled on the very next bar, and 62.3-64.1% within three. The step where you wait for price to return to the gap mostly involves no waiting at all. Gaps that were still open when the year ended numbered 36-44 on the 15-minute chart and 11-14 on the 4-hour.
What is the most important fair value gap setting?
The minimum gap size. On the 15-minute chart, reading the gap as a level to return to, a floor of 0.25x ATR and 0.5x ATR were both profitable in 5 of 5 cells, no floor at all in 3 of 5, and 1x ATR or more in 0 of 5. That only held on the 15-minute chart: hourly and 4-hour lost across the board except at settings that took three or four trades a year. How long a gap stays valid mattered much less.
Does a bigger middle candle make a better fair value gap?
It made no consistent difference. Splitting the middle candle's body into ATR quartiles and measuring how often price moved the gap's way over the ten bars after it returned gives 47.0-51.8% on the 15-minute chart, 41.9-53.7% hourly and 44.3-52.8% on the 4-hour. The best quartile was Q3, Q2 and Q4 respectively — no direction survives across timeframes. The three-bar test never reads the middle candle in the first place.
Can I show fair value gaps in MT4 or TradingView?
Neither ships one. MT4 and MT5 have no bundled fair value gap indicator, so you install a custom one into the indicators folder and add it from the Navigator. TradingView has none in its built-in list either; you add a community script. Formiq's chart has it under the pattern group, with two settings that matter here: show only gaps that are still unfilled, and drop gaps below a minimum width. It is also available as a backtest condition.

Formiq is a free browser-based FX terminal with replay practice and no-code backtesting. Open the chart or see what the free plan includes.