Charts See the terminal

Premium script

Imbalances

Fair value gaps, inverse gaps, balanced price ranges, volume imbalances, liquidity voids and opening gaps in one script, each held until price trades back through it.

SMC / ICT Sign up for Altrady $12 one-time

Live Imbalances preview · BTC/USDT on Binance · 1h, history up to a day ago

What is Imbalances?

Imbalances draws the spans of price the market crossed without trading in them. Each one is a box that extends to the right and is watched as a level price may be drawn back to. When price trades back through it far enough, the zone is spent and removed.

It carries six imbalance types in one script, each with its own toggle. Fair Value Gaps are on by default. Inverse FVGs, Balanced Price Ranges, Volume Imbalances, Liquidity Voids and Opening Gaps are off until you turn them on. Zones left by an up move are coloured as bullish and watched as support; zones left by a down move are bearish and watched as resistance.

This is a closed-source premium script. It runs on Altrady's servers, so only its output reaches your chart and its code is not published.

Components

Imbalances combines 6 tools in one script. Each one has its own switch in the settings.

  • Fair Value Gaps. Three bars where the outer two never overlap, the untraded span a strong bar leaves, held until price trades back through it. On by default.
  • Inverse FVGs. A fair value gap price traded through, kept as a level with its polarity reversed. A filled bullish gap becomes resistance and a filled bearish one support.
  • Balanced Price Ranges. The overlap where a bullish and a bearish fair value gap cover the same prices.
  • Volume Imbalances. Two adjacent candle bodies that gap while their wicks still overlap. Only appears on markets that gap.
  • Liquidity Voids. The close to close span of a displacement leg, ground price crossed without any candle settling inside it.
  • Opening Gaps. The span between one session's last close and the next session's open, as a New Day or New Week Opening Gap. Empty on markets that never close.

How to use Imbalances

  • Price returning to a gap. A fair value gap below price is where traders look for a pullback to find buyers, and one above price for sellers. Many enter at the gap's midpoint, ICT's consequent encroachment.
  • A filled gap flips. Once price trades through a gap, the inverse FVG reads it with its polarity reversed. A filled bullish gap becomes resistance.
  • Overlapping gaps. A balanced price range is where an up gap and a down gap cover the same prices, ground crossed too fast in both directions. Traders treat the overlap as a strong reaction zone.
  • Choosing the mitigation rule. Mitigation Basis and Level decide when a zone is spent, on a touch, at 50% or only when fully traded through. Traders disagree here, so the choice is yours.

Settings

Components

SettingDefaultRangeWhat it changes
Show Fair Value GapsOn Three bars where the outer two never overlap: the untraded span a displacement bar leaves, held until price trades back through it.
Show Inverse FVGsOff A fair value gap price traded THROUGH, kept as a level with its polarity reversed: a filled bullish gap becomes resistance, a filled bearish one support.
Show Balanced Price RangesOff Where a bullish and a bearish fair value gap cover the same prices: ground the market crossed too fast in both directions. The overlap is the zone.
Show Volume ImbalancesOff Two adjacent candle bodies that gap while their wicks still overlap. Needs a market that gaps: a continuous spot feed never produces one.
Show Liquidity VoidsOff The close-to-close span of a displacement leg: ground price crossed without any candle settling inside it.
Show Opening GapsOff The span between a session's last close and the next session's open (New Day / New Week Opening Gap). Empty on a market that never closes.

Data

SettingDefaultRangeWhat it changes
TimeframeChart Chart, 15m, 30m, 1h, 4h, 1DRead gaps, imbalances and voids from a higher timeframe while trading a lower one. The chart's own period must divide it exactly. Sizes and ATR are then measured on that timeframe; price trading back into a zone is still judged on the chart's own bars. Opening Gaps ignore it: their sessions are already defined in absolute time.

Zones

SettingDefaultRangeWhat it changes
Min Gap (ATR x)0.25 0 to 10A three-bar gap smaller than this much ATR is ignored. Almost every bar leaves a sliver; this keeps the ones worth seeing. Fair value gaps, inverse gaps and balanced ranges all read the same gaps, so one threshold serves all three.
Mitigation BasisBody Wick, Body, CloseWhat counts as price being in a fair value gap, balanced range, volume imbalance, void or opening gap: the bar's wick, its body, or only its close. Inverse FVGs have their own rules.
Mitigation LevelFull Touch, 50%, FullHow far in it has to reach. Touch spends a zone on any entry; 50% is ICT's consequent encroachment; Full holds it until price has traded all the way through. Traders genuinely disagree here, so pick rather than inherit.
Max Zones20 1 to 100The oldest fair value gap is dropped past this. Each component has its own cap; together they are the drawing budget (see the header).

Inverse FVGs

SettingDefaultRangeWhat it changes
IFVG Fill BasisBody Wick, Body, CloseWhat counts as price being in the original gap.
IFVG Fill LevelFull Touch, 50%, FullHow far through the original gap price must go for it to flip. Full is the conservative reading: the gap is only inverted once it has been entirely traded through.
IFVG Invalidation BasisClose Wick, Body, CloseWhat counts as price reclaiming the flipped level. Close by default: a wick back through a reclaimed level is common and usually means nothing.
IFVG Invalidation LevelFull Touch, 50%, FullHow far back through the flipped level price must go to retire it. Separate from Fill Level on purpose: these are opposite events and deserve their own answers.
IFVG Max Zones20 1 to 100The oldest inverse gap is dropped past this. Gaps waiting to fill are capped at four times this.
IFVG Resistance #f23645 A filled bullish gap, now read as resistance.
IFVG Support #089981 A filled bearish gap, now read as support.

Balanced Price Ranges

SettingDefaultRangeWhat it changes
BPR Pair Within (bars)50 2 to 500How far back a new gap looks for an opposite one to overlap with. Two gaps far apart that share a price are a coincidence rather than a range. Counted in bars of the timeframe the gaps are read on, so raising Timeframe does not silently tighten the window.
BPR Max Zones20 1 to 100The oldest range is dropped past this.

Volume Imbalances

SettingDefaultRangeWhat it changes
VI Min Size (ATR x)0.1 0 to 10An imbalance smaller than this much ATR is ignored. These are the smallest of the gap patterns, so the default is lower than the Fair Value Gaps component's. Raise it to keep only the ones worth seeing.
VI Max Zones30 1 to 200The oldest is dropped past this. Higher than the other gap components because volume imbalances are far more common.
VI Show LabelsOff Off by default: these are small and numerous, and a label on each one buries the chart.

Liquidity Voids

SettingDefaultRangeWhat it changes
Void Leg BasisCloses Closes, CandlesHow a bar's direction is read when a run is assembled. Closes compares each bar to the previous close; Candles reads each bar's own body. They disagree on a bar that opens below the last close and closes above it (§4.10).
Void Min Size (ATR x)2 0 to 20A leg must travel at least this much ATR, close-to-close, to leave a void. The default is Displacement's, so the two tools mark the same legs.
Void Min Bars1 1 to 50A run must be at least this many bars. One is the classic case: a single candle away from a level.
Void Max Voids20 1 to 100The oldest void is dropped past this.
Void Label SizeSmall Tiny, Small, Normal, Large, Huge

Opening Gaps

SettingDefaultRangeWhat it changes
Opening Gap SessionDay Day, WeekWhich boundary opens a session. Day is ICT's New Day Opening Gap, Week the New Week Opening Gap. The weekly one is the bigger level and the rarer one. Both are UTC and neither follows an exchange's own calendar.
Opening Gap Min Size (ATR x)0.05 0 to 10A gap smaller than this much ATR is ignored. The default is low because an opening gap is meaningful at a size an intraday imbalance would not be: it is the only thing at that seam.
Opening Gap Max Zones20 1 to 100The oldest is dropped past this. Lower than the Volume Imbalances component's because there is at most one of these per session.

Display

SettingDefaultRangeWhat it changes
Show LabelsOn A caption on each zone: FVG, IFVG, BPR, Void, NDOG / NWOG. Volume imbalances have their own switch (VI Show Labels).
Show BorderOn
Shrink To UnfilledOff Redraw a partly-eaten fair value gap as the span still unfilled, so a half-consumed gap looks half-consumed. Display only: the zone still dies at Mitigation Level.
Show MitigatedOff Keep a filled fair value gap or void on the chart, muted and no longer extending. A filled gap is an inverse FVG, which some read as support turned resistance; a filled void is inefficiency resolved.
Show State PaneOff A sub-pane per component that is on, counting its live zones and pulsing on each new one. The tool's internal state, and what the automated checks read.

Colours

SettingDefaultRangeWhat it changes
Bullish #089981 A zone left by an up move, watched as support. Inverse FVGs have their own colours.
Bearish #f23645 A zone left by a down move, watched as resistance.
Mitigated #787b86 A filled gap or void, when Show Mitigated is on.
Label #b0b3b8

Alerts: fvg_new, fvg_filled, ifvg_new, ifvg_invalidated, bpr_new, bpr_mitigated, vi_new, vi_mitigated, void_new, void_filled, og_new, og_mitigated.

How it works

A fair value gap is only known on its third bar, because that bar proves the first and third do not overlap. So gaps, inverse gaps and balanced ranges appear one bar after the move that made them. A volume imbalance confirms on the bar that made it, and a liquidity void one bar after its leg ends. Gaps smaller than a set share of the average true range are ignored.

A zone is drawn once and extended to the right. It is spent when price reaches into it by the chosen basis and level, Body and Full by default, and is then removed unless Show Mitigated keeps it muted on the chart. Inverse FVGs have their own two rules, one for when the original gap counts as filled and one for when the flipped level is reclaimed.

Each type has two alerts, one when a new zone forms and one when it is filled, mitigated or, for inverse gaps, invalidated. A type that is switched off fires no alerts. Each type also has its own Max setting for how many zones stay on the chart.

Limitations

  • One bar of confirmation. A fair value gap appears on the bar after the move. That is part of the definition, not a delay that can be removed.
  • Gaps can be noise. Almost every bar leaves a sliver. Min Gap filters by size, but a gap that is large enough is not automatically meaningful.
  • Some types are empty on crypto. Volume imbalances need bodies that gap, and opening gaps need a session that closes. Continuous crypto markets rarely or never produce them.
  • Mitigation is a choice. The same chart shows different live zones under Touch, 50% and Full. No setting is correct for every trader.
  • Higher timeframes need a matching chart. When reading gaps from a higher timeframe, the chart's own period must divide it exactly. Price trading back into a zone is still judged on the chart's own bars.

Get Imbalances

Premium scripts are a one-time purchase in the Altrady marketplace and need a paid Altrady plan to run.

  • Imbalances $12 This script on its own.
  • SMC / ICT bundle $35 7 premium scripts, Imbalances included.
  • Altrady Complete Suite $109 All 36 premium scripts.
Sign up for Altrady

Frequently asked questions

A three-bar pattern where the first and third bars do not overlap, leaving a span of price the middle bar crossed without trading back into it. ICT readers expect price to return to such gaps.

Fair Value Gaps, Inverse FVGs, Balanced Price Ranges, Volume Imbalances, Liquidity Voids and Opening Gaps. Only Fair Value Gaps are on by default.

No. Each zone is drawn once it is confirmed and then extended, not moved. The one display exception is Shrink To Unfilled, which redraws a partly filled gap as the span still unfilled.

Twelve, two per type: fvg_new and fvg_filled; ifvg_new and ifvg_invalidated; bpr_new and bpr_mitigated; vi_new and vi_mitigated; void_new and void_filled; og_new and og_mitigated.

Yes. Imbalances is a closed-source premium script. It runs on Altrady's servers, so only its output reaches your chart and the code is never shared. You buy it once in the Altrady marketplace, on its own, in the SMC / ICT bundle or in the Altrady Complete Suite, and it needs a paid Altrady plan to run. It is also included with your first annual Premium subscription.

Use the Get it in Altrady button on this page to open its listing in the Altrady marketplace. Once it is in your account, open the indicator picker on any chart in Altrady Charts and add Imbalances like any other indicator. Turn on the other imbalance types in its settings panel.

Sign up for Altrady