Back to Blog
Strategy

Fair Value Gaps: Building a Testable FVG Strategy from Scratch

FVGs are one of the most-discussed ICT concepts. Here's how to define one precisely enough to build a backtest, and what the data tends to show.

T
Tradelybox Team
Product
7 min read
Fair Value Gaps: Building a Testable FVG Strategy from Scratch

Fair Value Gaps (FVGs) are one of the core concepts in ICT methodology. The basic idea: when price moves so aggressively in one direction that a three-candle sequence leaves an imbalance — an area that was never properly traded through — that gap tends to act as a magnet for future price.

Defining an FVG precisely

  • Candle 1 has a high at price X
  • Candle 3 has a low at price Y
  • Y > X — meaning the low of candle 3 is above the high of candle 1
  • The gap between X and Y was never traded through

A bearish FVG is the mirror image: the high of candle 3 is below the low of candle 1.

The gap itself — the area between candle 1's high and candle 3's low — is the FVG zone. The hypothesis is that when price returns to this zone, it will react.

What "react" means in testable terms

This is where most FVG education falls apart. "React" is not a tradeable rule. A testable version requires:

  1. Entry: Price enters the FVG zone (touches the outer boundary)
  2. Direction: You take the trade in the direction of the original imbalance move (long for bullish FVG, short for bearish)
  3. Stop: Below the lowest point of the FVG (for longs), or above the highest point (for shorts)
  4. Target: A fixed R-multiple (1.5R, 2R, 3R), or the next swing high/liquidity level
  5. Invalidation: The FVG is "filled" — price trades completely through the gap — entry condition no longer valid

With these rules you can build the strategy in the canvas and run a backtest.

Building it in Tradelybox

In the strategy builder, connect:

  • Fair Value Gap block (from ICT Concepts) → detects FVG zones on the current timeframe
  • Session filter → London or New York only, to avoid low-liquidity periods
  • AND gate → both conditions must be true
  • Entry block → long (for bullish FVG), stop below the gap, take-profit at 2R

Save the strategy and run the backtest. Start with a 6-month range on H1 EURUSD. See how many trades fired, what the win rate was, and what the net P&L looks like.

What the data tends to show

FVGs on higher timeframes (H1, H4) tend to show better results than on lower timeframes. On M1 and M5, noise is too high — the gap gets filled immediately too often.

Adding a higher-timeframe trend filter (e.g., price is above the H4 EMA 50 for long entries only) typically improves results by eliminating counter-trend FVG trades. Counter-trend FVGs can work but they're lower probability in most market conditions.

Session filtering matters significantly. FVGs that form and get revisited within the London or New York session tend to work better than those that form in Asian hours.

The gap between the concept and the edge

FVGs are real structural phenomena. Price does return to imbalance zones. But not every FVG is worth trading, and the mechanical version of the rule will include a lot of low-quality setups that drag down the stats.

The job of the backtest is to find out how many of those low-quality setups your rules are including, and which filters eliminate them without eliminating the good ones. This is iterative work — you won't get it right in one pass.

After the backtest

Use Replay Mode to step through the actual trades the backtest identified. Look at each entry in context. Does the FVG look significant visually, or is it a tiny gap in a choppy range? Are the entries in obvious trend conditions or fighting the higher-timeframe structure?

The combination of backtest statistics and replay review gives you a much more complete picture than either alone.

ICTFair Value GapFVGStrategy BuildingBacktesting
T
Tradelybox Team
Product

We build Tradelybox for traders who want to test ideas rigorously without learning to code.