Market structure·6 min read

Fair value gap (FVG)

In one sentence
A range of price left behind by three consecutive candles whose first and third wicks do not overlap — the market passed through it quickly and in one direction.

Also called Imbalance, Inefficiency, Liquidity void, BISI / SIBI — all covered here rather than on pages of their own.

Published 15 September 2026 · by the SageTradingJournal team

A fair value gap is defined by geometry, not by intent. Take any three consecutive candles. If the high of the first candle sits below the low of the third, there is a band of price between them that only the middle candle ever traded. That band is the gap. Reverse the comparison for a move down: the low of the first candle above the high of the third leaves the same kind of band.

That is the whole definition, and it is worth noticing how mechanical it is. The pattern can be found by a script, with no judgement involved — which is exactly why it became popular, and exactly why it is worth being careful about what people then attach to it.

Three candles, one gap
candle 1    high 2314.0   low 2309.5
candle 2    high 2327.8   low 2312.0   <- the fast one
candle 3    high 2331.0   low 2318.4

candle 1 high (2314.0) < candle 3 low (2318.4)
gap = 2314.0 .. 2318.4   (4.4 points, unopposed)

What the pattern actually shows

The measurable fact is one-sidedness over a short window. During those three candles, price covered a range that no opposing candle body or wick pushed back into. On a chart of executions, that is a period where one side found very little resistance at those prices.

What it does not show is who was trading, why, or in what size. A retail chart carries no order flow, no participant identity and no resting-order data, so any sentence beginning "this is where the large players…" is an inference layered on top of the three candles, not something the three candles contain. You can hold that inference if you find it useful. It is still an inference, and treating it as a fact is the single most common way traders convince themselves a pattern is working when their own record says otherwise.

How traders use it

The commonest use is as a reference level rather than a signal. A gap gives you a specific, non-arbitrary price band to watch: somewhere to place a limit order, somewhere to invalidate an idea, somewhere to measure a reaction from. Traders differ enormously on what they then do with it.

  • As an entry area. Wait for price to return into the band, and look for whatever else the plan requires before acting.
  • As a filter. Only take setups in the direction of the move that created the gap.
  • As an invalidation. Treat price passing fully through the band as the idea being wrong, and size the stop accordingly — the position size calculator turns that distance into a position.
  • As context only. Some traders record gaps on the chart and never act on them directly, using them to explain after the fact why a move stalled where it did.

Where the definitions diverge

"Fair value gap" is not a standardised term. Two traders can both be right about their own definition and produce completely different lists of gaps from the same chart — which matters a great deal if you are trying to compare your results to somebody else's.

QuestionOne answerAnother
Wicks or bodies?Compare candle 1 and 3 wicksCompare bodies only, treating wicks as noise
How big?Any non-overlap countsOnly gaps above some size, in points or ATR
When is it gone?The moment price touches the edgeOnly once price closes beyond the far edge
Which timeframe?One timeframe, consistentlyOnly gaps confirmed on a higher timeframe
Does the middle candle matter?No — geometry is geometryIt must be the largest of the three, or expansive

None of these is the correct one. They are five decisions, and the only way to know which version you are trading is to write it down before you test it — which is what a playbook rule is for.

Measuring it on your own trades

A pattern is worth what your own record says it is worth, and a record is only able to answer if the question was written down first. In Sage the sequence is ordinary: define the version of the gap you actually trade as a rule, tag the trades that used it, and read what comes back. The backtesting workspace replays candles one at a time so the gaps appear as they appeared live, not as they look on a finished chart.

What a gap costs you when you are wrong

Because the band gives such a specific invalidation, gap-based entries tend to produce tight stops, and tight stops produce two things at once: a better ratio when the idea works, and a higher rate of being stopped before it does. Both belong in the same conversation. The risk/reward calculator will tell you the win rate a given ratio needs to break even, which is usually the number that settles the argument.

The other cost is subtler. Gaps appear constantly, on every timeframe, in both directions. A trader who treats each one as an invitation will trade far more than their plan intended, and overtrading shows up in a journal long before it shows up in a P&L curve — see trading statistics that matter for which figures reveal it.

Where traders disagree

This vocabulary is not standardised. These are the live disagreements — worth knowing about before comparing your results with anyone else’s.

  • Whether wicks or bodies define the gap — the two rules disagree on a large fraction of candles, so results are not comparable across traders who have not said which they use.
  • What counts as the gap being "filled": a touch of the near edge, a 50% retrace, or a close beyond the far edge.
  • Whether a gap has any meaning at all outside the timeframe it formed on, and whether higher-timeframe confirmation is a real filter or a way of quietly discarding the losers.
  • Whether the pattern describes anything about market participants, or is simply a description of fast movement that would appear in any volatile series, including a random one.

Test it on your own trades

Whether this holds is a question about your record, not about the term. These are the steps that make the answer trustworthy.

  1. 1Fix your definition in writing first — wicks or bodies, minimum size, timeframe, what counts as filled — then count gaps under that one definition only.
  2. 2Replay the chart forward rather than scrolling back. A gap found after the outcome is known is not evidence.
  3. 3Record what happened to every gap you identified, not only the ones you traded. The ones you skipped are where the survivorship bias lives.
  4. 4Compare your expectancy in R on gap-tagged trades against your expectancy on everything else, with both sample sizes shown.
  5. 5Check the excursion figures: how far trades went against you before working (MAE) tells you whether your stop placement or the pattern is doing the work.

You will also need

Questions, answered.

Is a fair value gap the same as an imbalance?
Most traders use the two words interchangeably, along with "inefficiency" and "liquidity void". A few reserve "imbalance" for a volume-based measure taken from footprint or delta data, which is a different thing entirely and cannot be derived from a standard candle chart.
What timeframe should I look for them on?
There is no timeframe that is correct in general. Gaps form on every one, and the only way to decide is to pick the timeframe you actually trade, test that, and keep the two questions separate rather than switching timeframes when the result disappoints.
How do I know if it works?
Define your version, tag the trades that used it, and compare expectancy against your other trades with the sample size attached. Sage does the counting; what it will not do is tell you the pattern is good, because that is a conclusion your own record has to reach.
Do fair value gaps work on stocks and crypto as well as forex?
The geometry exists in any candle series, so the pattern can always be found. Whether it means anything is a separate question, and it is one that has to be answered per market and per timeframe rather than assumed to carry across.

Stop believing. Start counting.

Tag the trades that used this, and Sage reads back what they actually did — in R, against your own baseline, with the sample size attached. It will not tell you the pattern is good; your record will.

Free · no card · your data stays yours