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
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Show Fair Value Gaps | On | Three bars where the outer two never overlap: the untraded span a displacement bar leaves, held until price trades back through it. | |
| Show Inverse FVGs | Off | 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 Ranges | Off | 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 Imbalances | Off | 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 Voids | Off | The close-to-close span of a displacement leg: ground price crossed without any candle settling inside it. | |
| Show Opening Gaps | Off | 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
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Timeframe | Chart | Chart, 15m, 30m, 1h, 4h, 1D | Read 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
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Min Gap (ATR x) | 0.25 | 0 to 10 | A 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 Basis | Body | Wick, Body, Close | What 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 Level | Full | Touch, 50%, Full | How 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 Zones | 20 | 1 to 100 | The 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
| Setting | Default | Range | What it changes |
|---|---|---|---|
| IFVG Fill Basis | Body | Wick, Body, Close | What counts as price being in the original gap. |
| IFVG Fill Level | Full | Touch, 50%, Full | How 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 Basis | Close | Wick, Body, Close | What 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 Level | Full | Touch, 50%, Full | How 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 Zones | 20 | 1 to 100 | The 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
| Setting | Default | Range | What it changes |
|---|---|---|---|
| BPR Pair Within (bars) | 50 | 2 to 500 | How 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 Zones | 20 | 1 to 100 | The oldest range is dropped past this. |
Volume Imbalances
| Setting | Default | Range | What it changes |
|---|---|---|---|
| VI Min Size (ATR x) | 0.1 | 0 to 10 | An 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 Zones | 30 | 1 to 200 | The oldest is dropped past this. Higher than the other gap components because volume imbalances are far more common. |
| VI Show Labels | Off | Off by default: these are small and numerous, and a label on each one buries the chart. |
Liquidity Voids
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Void Leg Basis | Closes | Closes, Candles | How 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 20 | A 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 Bars | 1 | 1 to 50 | A run must be at least this many bars. One is the classic case: a single candle away from a level. |
| Void Max Voids | 20 | 1 to 100 | The oldest void is dropped past this. |
| Void Label Size | Small | Tiny, Small, Normal, Large, Huge |
Opening Gaps
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Opening Gap Session | Day | Day, Week | Which 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 10 | A 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 Zones | 20 | 1 to 100 | The oldest is dropped past this. Lower than the Volume Imbalances component's because there is at most one of these per session. |
Display
| Setting | Default | Range | What it changes |
|---|---|---|---|
| Show Labels | On | A caption on each zone: FVG, IFVG, BPR, Void, NDOG / NWOG. Volume imbalances have their own switch (VI Show Labels). | |
| Show Border | On | ||
| Shrink To Unfilled | Off | 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 Mitigated | Off | 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 Pane | Off | 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
| Setting | Default | Range | What 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.
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.