Guide · Free indicator · TradingView

ICT Fair Value Gaps guide

How ICT Fair Value Gaps (multi-timeframe) finds a gap, what the defaults show on a fresh chart, and what each setting does, section by section. Written for v1.12, free on any TradingView plan.

What it draws

A fair value gap (FVG) is a three-candle pattern. This indicator builds it to ICT's 3-candle definition, including volume imbalance.

  • Bullish: candle 3's low is above candle 1's high. The zone spans candle 1's high to candle 3's low.
  • Bearish: the mirror. Candle 3's high is below candle 1's low, and the zone spans candle 3's high to candle 1's low.

Volume imbalance

A volume imbalance is a gap between candle bodies. If there is a body gap between candles 1 and 2, or between candles 2 and 3, the zone is widened to the body edge. A body gap between candles 1 and 2 also qualifies as a zone on its own, provided candle 3 does not trade back into it.

Closed candles only

Each timeframe's FVGs are detected only from that timeframe's closed candles. A higher-timeframe FVG appears once its third candle has closed.

Mitigation

An FVG is mitigated when a candle of its own timeframe closes beyond the far side of the zone: below a bullish FVG, above a bearish one. It then stops extending. By default a mitigated FVG is removed; the Mitigated FVGs settings can keep it as an outline instead.

What it is for. It marks price structure for you to read. It is not a signal.

Quick start

Add it

Use the Add to TradingView button above, or on TradingView open Indicators and search for ICT Fair Value Gaps. It is free and runs on any TradingView plan.

What the defaults show

On a fresh 1m chart you see 1m FVGs, plus 3m and 5m FVGs projected onto the chart. For each of those timeframes the Proximity Filter shows only the nearest un-mitigated FVG above price and the nearest below. An FVG that straddles price always shows.

Mitigated FVGs are hidden, FVGs made by session gaps are skipped, the 50% line and box borders are off, and each box carries a small timeframe label.

The 3m and 5m choice is only an example. You pick which higher timeframes to project, and projecting many brings the clutter back.

Add higher-timeframe context

To see, for example, 15m or 1h FVGs on your 1m chart, open the settings, find that row under Visibility & Projection, tick Project and enter 1m in the → box. Keep it to a few timeframes.

Settings, section by section

In the order they appear in the settings panel.

Proximity Filter

Proximity Filter settings: the checkbox Display X live FVGs on either side of price (per TF) is ticked, with X set to 1.

The anti-clutter control, at the top of the settings. For each timeframe shown, it keeps only the X nearest un-mitigated FVGs above price and the X nearest below. An FVG that straddles price always shows and does not use a slot. Distance is measured to the zone's near edge.

Hidden FVGs are not deleted. They keep tracking mitigation and reappear as price approaches, so boxes pop in and out as price moves. While hidden they stay out of the chart's price scale, so they do not squash the candles. Raise X for more context on each side, or untick the box to switch the filter off.

Visibility & Projection

Visibility and Projection settings, 18 rows from 1m to 12M. Every Show box is ticked. The 1m row has no Project box. The 3m and 5m rows have Project ticked with 1m in the arrow box; every other row has Project unticked and an empty arrow box.
All 18 rows. Scroll inside the panel, or open it full size.

The 18 timeframes sit in three groups: Intraday (1m, 3m, 5m, 15m, 30m), Hourly (1h, 90m, 2h, 3h, 4h, 7h, 12h) and Higher TF (1D, 3D, 1W, 1M, 3M, 12M).

Show draws a timeframe's FVGs on a chart of that same timeframe; 1m FVGs also draw on seconds charts. Unticking Show switches that timeframe off everywhere.

Project draws a higher timeframe's FVGs on a lower-timeframe chart. The → box limits which lower timeframes it projects to: leave it blank for all of them, or list the ones you want, separated by commas, for example 1m, 5m. Case matters for 1M, 3M and 12M: 1m is one minute, 1M is one month.

FVGs never project upward: a 1m FVG never appears on a 5m chart.

Session Gaps

Session Gaps settings: the checkbox Hide session-gap FVGs (NDOG / NWOG) is ticked.

Hide session-gap FVGs (NDOG / NWOG) is on by default. It skips FVGs made by the market closing and reopening: the daily reopen (NDOG), the weekend reopen (NWOG), holidays and halts. An FVG across a close is skipped when price reopened beyond the previous candle's high (bullish) or low (bearish), so the jump itself made the gap. A volume imbalance across a close is always ignored.

It applies to 1m to 12h; daily and higher timeframes are never filtered. Turn it off to draw every FVG, for example on stocks that trade regular hours only, where the overnight jump forms many higher-timeframe FVGs.

Mitigated FVGs

Mitigated FVGs settings: Show Mitigated FVGs (outline only) is unticked, an outline colour swatch, Width set to 1, and Max mitigated FVGs (most recent, global) set to 100.

By default mitigated FVGs are removed. Tick Show Mitigated FVGs to keep them as a faint outline with no fill and no label, in the outline colour and width set here. A separate cap keeps the most recent 100 by default.

Max FVGs Displayed

Max FVGs Displayed (most recent) settings: Intraday (1m, 3m, 5m, 15m, 30m) set to 20, Hourly (1h, 90m, 2h, 3h, 4h, 7h, 12h) set to 10, Higher TF (1D, 3D, 1W, 1M, 3M, 12M) set to 8.

The number of most recent un-mitigated FVGs kept per timeframe in each group: by default 20 for each intraday timeframe, 10 for each hourly timeframe and 8 for each higher timeframe. Older ones are deleted.

This cap applies before the Proximity Filter, which then picks the nearest of the FVGs kept.

Right Edge Offset

Right Edge Offset (bars) settings: Native offset (current TF) set to 3, Projection spacing (per HTF) set to 6.

Boxes extend to the live bar plus an offset. FVGs of the chart's own timeframe end Native offset bars (3 by default) right of the live bar. Each projected higher timeframe ends a further Projection spacing bars (6 by default) to the right, so the labels sit side by side, ordered by ascending timeframe among the projections that are live.

With the defaults on a 1m chart: 1m ends at +3, 3m at +9 and 5m at +15. Raise either value to push the boxes further right.

FVG Timeframe Label

FVG Timeframe Label settings: Show timeframe label is ticked, Text Size set to Small, a colour swatch, and Font set to Default.

Text to the right of each box naming its timeframe, for example "5m". It is on by default at Small. Size, colour and font (Default or Monospace) are adjustable.

50% Line

50% Line settings: Show 50% line inside FVG is unticked, a colour swatch, Style set to Dotted, Width set to 1.

An optional dotted midline inside each box, off by default. Colour, style and width are adjustable.

Box Borders

Box Borders settings: Intraday, Hourly and Higher TF rows, each unticked, each with a colour swatch and W set to 1.

One on/off switch, colour and width per group: Intraday, Hourly and Higher TF. Off by default. Turn a group on to outline its boxes.

Colours

Intraday Colours settings: a Bull colour swatch and a Bear colour swatch for each of 1m, 3m, 5m, 15m and 30m.

A bull fill and a bear fill for every timeframe, very transparent by default. 5m defaults to cyan and yellow so it stands apart. The snip shows the Intraday group only.

Three recipes

1m execution with hourly context

  • Open a 1m chart.
  • Under Visibility & Projection, tick Project on the 15m row and enter 1m in its → box.
  • Do the same on the 1h row.

Higher-timeframe map on a 15m chart

  • Open a 15m chart.
  • Tick Project on the 1h, 4h and 1D rows. Enter 15m in each → box, or leave them blank to project to every lower timeframe.
  • Lower timeframes never draw on a 15m chart, so no 1m, 3m or 5m FVGs appear there.

Everything, unfiltered for study

  • Untick the Proximity Filter.
  • Tick Show Mitigated FVGs.
  • Untick Hide session-gap FVGs.
  • Expect a busy chart. The Max FVGs Displayed caps and the mitigated cap still limit how many are kept.

Notes

It marks price structure for you to read. It is not a signal and carries no performance claim.

It is free on TradingView, on any plan, with no account with us needed.

It is based on publicly taught ICT concepts; we are not affiliated with ICT.

Support

Questions about a setting are welcome; send a screenshot.