How it is calculated
Swings and liquidity as in liquidity_sweep. When a swing high is confirmed and an earlier high still untaken lies within tolerance times the ATR (Wilder, atr_length, at the confirming bar), the newest such high becomes a pool at its own price, the higher of the two. A pool is taken when a high trades above it. Lows mirror this. eqh is the lowest pool of highs, eql the highest pool of lows.
Reference: ICT liquidity concepts, from public descriptions (#546)
How to read it
The lines show the nearest pools above and below price; new is 1 on the bar that confirms the second swing, taken on the bar that trades through a pool. A pool shows length bars after the second extreme, never earlier.
In a strategy
Target the pool: with q = ctx.ind("equal_levels", length=3, tolerance=0.1) a long takes profit at q.eqh, just below the stops resting above the equal highs.
Inputs
| Input | Type | Default | Range or choices |
|---|---|---|---|
Swing bars each sidelength | Whole number | 3 | min 1, max 50 |
ATR lengthatr_length | Whole number | 14 | min 1, max 500 |
Tolerance (ATR)tolerance | Number | 0.1 | min 0, max 2 |
Zones kept per sidemax_zones | Whole number | 20 | min 1, max 500 |
What it draws
| Line | Drawn as |
|---|---|
| Equal highs | Steps |
| Equal lows | Steps |
Used in
No strategy template reads it yet.