FairValueGaps.comCheat sheet
Methodology

Methodology

One page that fixes the words used everywhere else on this site: what a gap is, how it is measured, when it is open, touched or filled, and what the counts do and do not say.

The rule

A fair value gap is found from three candles in a row by the wick rule. It is bullish when the low of candle 3 is above the high of candle 1, and bearish when the high of candle 3 is below the low of candle 1. The comparison is strict, and there is no minimum size. The rule is code with tests, and every chart and count here comes from it. The guide walks through it step by step.

Instruments

The definitions cover 28 currency pairs (the majors and their crosses) and gold (XAUUSD): 29 instruments. Indices and crypto are not covered.

The live scanner reads all 29. The archive pages use the 8 instruments in the archive: AUDUSD, EURUSD, GBPUSD, NZDUSD, USDCAD, USDCHF, USDJPY, XAUUSD. See the data coverage below.

Timeframes

Six timeframes are defined: 5 minutes, 15 minutes, 1 hour, 4 hours, 1 day and 1 week. The smallest is 5 minutes. There is no 1-minute timeframe anywhere. Longer candles are built from the 5-minute ones: the open of the first, the close of the last, and the highest high and lowest low between them.

A gap on one timeframe is a different gap from one on another timeframe, and counts are never mixed across them.

Pips and size

Size is the top of the gap minus its bottom, in pips. For a bullish gap the bottom is the high of candle 1 and the top is the low of candle 3. For a bearish gap the top is the low of candle 1 and the bottom is the high of candle 3.

Remaining to fill is the part of the gap that price has not traded into since it formed, in pips and as a percentage of the size. A new gap has all of it remaining.

States

The tests use wicks, not closes. A filled gap stays in the history with the time it filled. A state always belongs to a moment: a gap that is open now may be touched later. The glossary defines open, touched and filled gaps.

Sessions

The session of a gap is the session in which its third candle closed. Times are UTC and do not move with daylight saving.

Displacement

Displacement is the body of candle 2 relative to the instrument's average range. It is shown beside a gap as a description of the move. It is never scored, ranked or used as a sign of quality.

Source and delay

Source: Dukascopy public data feed, 5-minute candles, delayed about an hour. The live scanner reads 5-minute candles from Dukascopy's public data feed, builds the longer timeframes from them and runs the rule over the result. The pages show the gaps the rule derives and counts of them. They do not show or offer the candles themselves.

The feed is delayed. It reports a candle about an hour after the market closed it, and free accounts are shown a gap 15 minutes after that. Every live page says "delayed" and carries the time its data is as of: the latest read was made at 2026-11-09 08:23 UTC, and its data is as of 2026-11-09 08:04 UTC. The pages are rebuilt each time the site is deployed, and a visitor's browser refreshes the scanner's list of gaps from the same service, so a page can be newer than its build, never newer than the feed.

Because of the delay, this site makes no claim about latency at the candle close and no claim of real-time detection. The older archive pages state their own as-of time and are not live.

What is counted

The current sample is 1,500 windows from 2025-12-29 to 2026-10-30, each covering 06:00 to 18:00 UTC. It holds 14,276 gaps. Of the 11,764 gaps that were watched long enough, 8,872 of 11,764 (75%) were touched and 7,129 of 11,764 (61%) were filled within 120 minutes. This describes one sample under one rule.

What is never claimed

Data coverage today

The live scanner

22,608 gaps are stored across 29 markets. The deepest market is EURUSD, from 2026-03-04 (250 days); the others start later, most of them at the live feed. Most markets were switched on for the feed recently, and an older history is being loaded, newest days first, at a pace the data host allows. Only what is stored is counted: this page does not claim a depth that has not been loaded, and the table below is rebuilt with every deploy.

MarketStored since (earliest 1-hour gap on record)Gaps stored
EURUSD2026-03-0415977
GBPUSD2026-08-125555
AUDNZD2026-11-0949
GBPCAD2026-11-0931
AUDCAD2026-11-0939
AUDCHF2026-11-0953
AUDUSD2026-11-0949
CHFJPY2026-11-0935
EURAUD2026-11-0943
EURCHF2026-11-0943
EURNZD2026-11-0941
GBPAUD2026-11-0948
GBPCHF2026-11-0939
GBPNZD2026-11-0944
NZDCAD2026-11-0947
NZDCHF2026-11-0941
NZDUSD2026-11-0946
XAUUSD2026-11-0937
NZDJPY2026-11-0942
USDCAD2026-11-0945
CADCHF2026-11-0941
USDCHF2026-11-0938
CADJPY2026-11-0936
EURCAD2026-11-0933
USDJPY2026-11-0938
AUDJPYlive feed only, no 1-hour gap on record yet40
EURGBPlive feed only, no 1-hour gap on record yet18
EURJPYlive feed only, no 1-hour gap on record yet28
GBPJPYlive feed only, no 1-hour gap on record yet32

The earliest 1-hour gap is a stand-in for where a market's stored candles begin: they begin there or a little earlier. The statistics page uses the last 30 days of 15-minute gaps, and hides any figure resting on fewer than 5 gaps.

The archive

The archive is a set of 15-minute candles, kept as weekly files and published by Dukascopy. A script cuts it into windows of 06:00 to 18:00 UTC and runs the rule over them. Each chart has a provenance record under /charts/ naming its source and the date its data ends.

The archive covers 8 instruments, from 2025-12-29 to 2026-10-30. Its pages show the state of each gap as of the end of the archive, not the current market.

Keep reading