Equal highs and lows
All indicators

LibraryMarket structure

Indicator

Equal highs and lows

Liquidity pools: two or more swing highs (or lows) at about the same price, where the stops of many traders sit together and price is drawn to take them.

Market structureOn the price4 inputsEQH/EQL

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

InputTypeDefaultRange or choices
Swing bars each sidelengthWhole number3min 1, max 50
ATR lengthatr_lengthWhole number14min 1, max 500
Tolerance (ATR)toleranceNumber0.1min 0, max 2
Zones kept per sidemax_zonesWhole number20min 1, max 500

What it draws

LineDrawn as
Equal highsSteps
Equal lowsSteps

Used in

No strategy template reads it yet.

OrionQuant