What Are IRL and ERL in ICT?
Internal Range Liquidity (IRL) is liquidity inside the current dealing range — Fair Value Gaps, order blocks, and minor swings between the range extremes. External Range Liquidity (ERL) is liquidity at or beyond the range extremes — the old high, the old low, and the stop orders resting past them. Price alternates between the two forever: sweep ERL → retrace to IRL → expand to the opposing ERL.
Sixty of our sixty-eight articles reference IRL and ERL, because the pair sits underneath everything: target selection, entry location, the AMD cycle, the draw on liquidity, the partial-close framework. This is the dedicated treatment — what belongs to each category, the delivery cycle they create, the one question that identifies the market's current mode, and the trade management structure that falls out of it.
Classifying Every Level — What Is IRL, What Is ERL
The classification is relative to the dealing range — the span from the last significant swing low to the last significant swing high on your timeframe of analysis. Define the range first; the categories follow automatically.
ERL — the extremes and what lies beyond. The range high and range low themselves, plus the liquidity resting past them: buy stops above the old high (shorts' stop losses, breakout buy orders), sell stops below the old low. On the daily timeframe, the PDH and PDL relative to today's range; on the weekly, the prior week's extremes; on the monthly, the prior month's. ERL is sweep territory — where the Judas hunts and where deliveries terminate.
IRL — everything institutional inside the range. Unmitigated FVGs, order blocks, breakers, BPRs, and minor swing points that sit between the extremes. IRL is retrace territory — where price returns after sweeping an extreme, where entries fill, and where the first partial targets sit. The most important IRL reference in practice is the first presented FVG after a displacement, because that is the internal level the algorithm most consistently returns to.
| Level | Category | Role in the cycle | Used for |
|---|---|---|---|
| Old high / old low of the range | ERL | Sweep destination — where deliveries terminate | Final targets · sweep entries |
| Buy stops above / sell stops below the extremes | ERL | The order fuel that makes the extreme a target | Judas targets · T2/runner |
| Unmitigated FVG inside the range | IRL | Primary retrace destination after a sweep | Entries at the 50% CE |
| Order block / breaker / BPR inside the range | IRL | Secondary retrace destinations | Entries · confluence zones |
| Minor swing points, midnight open, NDOG | IRL | Internal pause points during expansion | T1 partial-close references |
| PDH/PDL, prior week high/low | Depends | Classified against the named range | ERL for today, often IRL for the week |
Two details that prevent misclassification. First, the categories are timeframe-relative: the PDH can be ERL for today's intraday range while being IRL inside the current weekly range — which is why the last row of the table above says "depends," and why every classification must name the range it is made against. Second, a swept extreme changes category: once the old high has been taken and the range expands, a new dealing range exists and every level reclassifies against it. The map is redrawn after every ERL event.
The ERL → IRL → ERL Cycle — How All Price Delivery Works
Here is the compression at the heart of the ICT framework. Price movement, at every scale, is one repeating sequence:
1. Sweep ERL. Price runs the range extreme — the old high or low — collecting the stop orders resting there. This is the liquidity sweep: the institutional order-filling event. On a session scale this is the Judas Swing; on a weekly scale it is the weekly manipulation phase.
2. Retrace to IRL. Having filled at the extreme, the algorithm retraces into the range — to the nearest unmitigated internal imbalance, almost always the FVG created by the post-sweep displacement. This retrace is not hesitation; it is the second fill, offering the institutional position a better average before the expansion. This is where you enter.
3. Expand to the opposing ERL. From the internal fill, price delivers across the range to the opposite extreme — the opposing ERL. That extreme gets swept in turn, a new range is defined, and the cycle restarts in the other direction or continues in trend.
Every named ICT structure is a piece of this loop. The AMD cycle is the loop with time labels: manipulation sweeps ERL, the retrace to IRL is the entry window, distribution expands to the opposing ERL. The 2022 Model is the loop as an entry recipe. The draw on liquidity is the loop's current destination. Nothing in the framework exists outside this sequence — which is why classifying levels as IRL or ERL is the fastest route to reading any chart cold.
The One Question — Is Price Seeking IRL or ERL?
The most practical output of this framework is a single diagnostic question you can answer on any chart in seconds: what did price just do? The answer tells you what it does next, because the modes strictly alternate.
Price just swept an external level → it is now seeking IRL. The old high or low was taken with a wick and rejected. The order-filling event is complete; the algorithm's next destination is internal — the retrace to the nearest unmitigated FVG or OB. Do not chase the reversal; the retrace is coming, and the internal level is where it fills. This is the patience phase of every setup: sweep confirmed, waiting for the pullback into the imbalance.
Price just filled an internal level → it is now seeking ERL. The FVG was respected at its CE, the OB held at the mean threshold. The second fill is complete; the next destination is external — the expansion toward the range extreme in the delivery direction. This is the phase where holding matters: the move from the internal fill to the external target is the entire profit of the trade, and exiting during it because "price paused" surrenders the expansion.
The most expensive intraday errors are mode errors. Shorting a bullish retrace to IRL because "price is falling" — when the falling is just the return to the imbalance after the sweep. Or taking profit two points into an expansion because the internal target already filled — when the market has switched to ERL-seeking and the real destination is the range extreme. Mode identification eliminates both: after a sweep, expect retracement; after an internal fill, expect expansion.
The ERL→IRL→ERL loop is the AMD cycle stripped of its time labels. Manipulation sweeps the external level, the entry window is the internal retrace, and distribution is the expansion. The two frameworks are one framework.
Read the AMD Guide →The Trade Management Framework IRL/ERL Produces
The reason sixty of our articles reference this pair: the entire ICT position management structure is the IRL/ERL classification applied to a live trade.
Entry — at IRL. The retrace into the internal imbalance after the ERL sweep. Limit at the FVG's 50% CE or the OB's mean threshold. You are entering where the algorithm takes its second fill.
Stop — beyond the swept ERL. The wick extreme of the sweep, plus a small buffer. If price trades back through the external level it just swept, the sweep thesis is dead. The stop is not a pain threshold; it is the structural point where the cycle reading was wrong.
T1 — the nearest opposing internal reference. A minor pool, the midnight open, an old internal swing — the first institutional pause point inside the range on the way to the extreme. Standard practice: close 50% here, stop to break-even. Delivery to internal references frequently produces consolidation; banking the partial funds the patience for the rest.
T2 — the opposing ERL. The range extreme in the delivery direction: the real destination, the level the entire cycle exists to reach. The runner holds to here. And because the framework nests, today's T2 may itself be classified against the weekly range — if today's ERL target is merely IRL inside the weekly dealing range, the weekly runner case exists beyond it.
That nesting is worth one more sentence, because it answers the "when do I hold overnight" question mechanically rather than emotionally: hold beyond T2 only when the level you just reached is internal on the next timeframe up. If today's delivery terminated at a weekly extreme — true ERL on both scales — the cycle is complete and the runner closes. If it terminated at a level that is internal to the week, the weekly expansion may continue and the runner has a structural reason to stay.
NQ Walkthrough — Reading the Modes Live
Pre-session: Daily dealing range: low 21,296 (yesterday's session low, daily ERL below), high 21,640 (PDH, daily ERL above). Internal: unmitigated 15M FVG at 21,398–21,436. Weekly context: prior week high 21,840 — today's range high is IRL relative to the week. Bias bullish; draw: PDH (daily ERL) then 21,840 (weekly ERL).
9:34 AM — ERL event: NQ sweeps the daily range low — wick to 21,278, body closes 21,322. External liquidity collected. Mode switch: price is now seeking IRL. No chasing the reversal — the retrace to the internal imbalance is the expectation.
9:47 AM — IRL fill: the post-sweep displacement (21,322 → 21,462) creates a fresh FVG at 21,368–21,428; price retraces to the 50% CE at 21,398 inside the 9:50 macro. Long fills 21,398. Stop below the sweep wick: 21,270 (128 pts). Mode switch: internal filled — price is now seeking ERL.
Delivery: T1 at the midnight open 21,486 (internal reference, 88 pts, 0.7R — 25% off). T2 at the daily ERL — PDH 21,640 (242 pts, 1.9R) hit 11:26 AM, 50% closed, stop to BE. The nesting decision: the PDH is IRL inside the weekly range with the weekly ERL at 21,840 still unswept and the weekly profile in distribution — the runner holds. Weekly ERL hit Thursday: 442 pts, 3.5R. Cycle complete on both scales; flat.
EUR/USD Walkthrough — The Mode Error and Its Correction
Setup: EUR/USD London session. Daily range: 1.08290 (ARL, ERL below) to 1.08640 (ARH, ERL above). Internal: bearish-origin FVG at 1.08430–1.08466. Bias bullish, draw at the ARH.
2:04 AM: the ARL is swept — wick 1.08252, body closes 1.08334. ERL collected; mode is now IRL-seeking. The displacement up leaves an FVG at 1.08356–1.08412.
The error window: between 2:10 and 2:25 AM, price falls 40 pips from the displacement high — and this is where traders who cannot classify the modes short the "weakness." But nothing external was swept up there, and nothing internal has filled yet: the fall is the retrace to IRL, the expected second act of the cycle. Shorting the retrace is trading against the sequence at its most predictable moment.
2:26 AM — IRL fills: long entry at the FVG CE, 1.08384. Stop 1.08240 (144 pips). Mode switches to ERL-seeking. Delivery runs to the ARH — 256 pips, 1.8R — hit at the 4:03 AM macro. The premature shorts covered into the expansion, adding fuel to the exact move they faded.
Common IRL/ERL Mistakes
Classifying without defining the range. IRL and ERL only exist relative to a named dealing range. "Is the PDH internal or external?" has no answer until you state the range — it is external to today, often internal to the week. Define the range on the timeframe you are trading, out loud if necessary, before labelling anything.
Fading the retrace to IRL. The EUR/USD error above, and the single most common mode mistake: reading the post-sweep pullback as reversal weakness and trading against it. After an ERL sweep, the retrace is the expectation, not a warning. It is the entry delivery, not the exit signal.
Exiting the expansion at internal noise. The mirror error: mode is ERL-seeking, price pauses at some minor internal level, and the position gets closed "because it stalled." Internal pauses during expansion are normal — the delivery destination is the external level, and the trade's whole thesis is the distance between the two. Partial at T1, yes; abandoning the runner at every internal wobble, no.
Treating a stale range as live. Once an extreme is swept, the old range is finished — a new one exists and every classification updates. Traders who keep trading yesterday's range boundaries after this morning's sweep are entering at levels the algorithm has already reclassified. Redraw the map after every ERL event; it takes thirty seconds and it is the difference between trading the current cycle and the previous one.
Frequently Asked Questions
What is Internal Range Liquidity (IRL)?
What is External Range Liquidity (ERL)?
What is the ERL to IRL to ERL cycle?
How do you know which mode the market is in?
Is the draw on liquidity IRL or ERL?
When should the runner hold beyond the daily target?
1 — Define the dealing range first: IRL is everything institutional inside it (FVGs, OBs, minor swings); ERL is the extremes and the stops beyond them. The categories are timeframe-relative and reset after every sweep. 2 — All delivery is one loop: sweep ERL → retrace to IRL (entry) → expand to opposing ERL. The AMD cycle is this loop with time labels. 3 — One diagnostic question: what did price just do? Swept external = seeking internal (expect retrace). Filled internal = seeking external (expect expansion). Never fade the mode. 4 — Management is the classification applied: enter at IRL, stop beyond the swept ERL, partial at internal references, run to the external target — and hold beyond it only when that target is internal on the next timeframe up.
We formalised the mode question — "seeking IRL or seeking ERL?" — as a mandatory journal field on every NQ trade for six months, forcing a written answer before entry. The effect showed up in the losers, not the winners: trades entered against the current mode (shorting an IRL-bound retrace, buying mid-expansion chasing) made up 62% of our losing trades but only 31% of our entries. Mode-aligned entries — long at the internal fill after the external sweep — won at 72%. Nothing about our levels changed; the classification alone filtered out the structurally wrong trades.
The nesting rule rebuilt our runner statistics. Previously we closed runners at the daily target by default. After adopting the check — hold only when the daily target is IRL on the weekly range — we held 28 of 74 runners past the daily level over the tracking period. Of those 28, the weekly ERL was reached in 21 cases (75%), and the held portion averaged an additional 1.6R beyond the daily target. The 46 runners we closed at true dual-scale ERL would have added almost nothing: in 39 of 46 cases price reversed within one session of the external level. The classification told us, mechanically, which runners had somewhere left to go.