MSL Liquidity Zones
- Indicatori
-
Andrei Lukoianov
ANDREI LUKOIANOV · MarketStructureLab
Trader since 2008 | Algorithmic trading since 2018
From a trading idea to a clear, systematic approach - Versione: 1.2
Liquidity Zones is a free MetaTrader 5 indicator by MarketStructureLab. It automatically highlights support and resistance zones, counts separate price returns and marks broken zones.
The indicator helps you keep important price areas in view and assess how the market reacts to them. Colored zones, compact labels and historical levels make it useful for both beginners and experienced traders with their own analysis methods.
Main features
- Zones based on confirmed price swings. Support zones come from local lows; resistance zones come from local highs.
- Separate retest counting. A new retest is counted only after price leaves a zone and later returns.
- Display filters. Show zones that meet a minimum number of retests or a minimum accumulated volume from overlapping candles.
- Break confirmation. Choose between a candle closing beyond the boundary or its high or low moving beyond it.
- Zone history. Broken zones and zones replaced by newer ones remain visible with reduced opacity.
- Clear labels. See the boundary price, Fresh status and retest count. More details are available when you hover over a label.
How the indicator works
Liquidity Zones finds local highs and lows by comparing a candle with a selected number of candles on each side. The default is 15 candles on each side.
Once the price swing is confirmed, the indicator creates a zone. Wick Extremity uses the area between the candle body and the tip of its wick. Full Range uses the complete High–Low range.
A zone appears only after the confirmation candles have closed, although its starting point is drawn at the original swing candle. The zone was not yet known on that original candle.
The indicator tracks one current support zone and one current resistance zone. When a new zone of the same type is confirmed, the previous zone stops updating.
What the labels mean
Example: R 192.69 | 1 retest
- R means resistance; S means support.
- Price is the outer boundary used to check whether the zone has been broken.
- Fresh means no separate return has been recorded under the indicator’s rules.
- 1 retest / 2 retests shows the number of separate returns.
Consecutive candles inside a zone do not increase the retest count. Price must first leave the zone and then return. The full range of each closed candle is used to check for overlap.
Hover over a label to see the zone boundaries, width, age, distance from the current price, retest count and accumulated volume.
How to use it
- Find the active zones near the current price.
- Check their boundaries and retest counts.
- Watch how price behaves as it approaches or returns to a zone.
- Compare that reaction with the conditions in your trading strategy.
Zones provide context for analysis. They are not buy or sell instructions and do not define complete entries, stop losses or profit targets.
When a zone is considered broken
Close: a candle closes above the upper resistance boundary or below the lower support boundary.
Wick: the high or low of a closed candle moves beyond the relevant outer boundary.
Touching the boundary alone does not count as a break. A broken zone receives a dashed boundary line and does not become active again.
Input parameters
Zone calculation
- Pivot lookback — the number of candles on each side of a swing point: 1–500, with a default of 15.
- Swing area — Wick Extremity for the wick area or Full Range for the complete candle range.
- Filter by — filter zones by retests or Overlap Volume.
- Minimum — the minimum value required by the selected filter. With the retest filter, 0 allows Fresh zones to be displayed.
- Break confirmation — Close or Wick confirmation.
- Volume source — Auto, Tick or Real. Auto uses positive real volume when available; otherwise, it uses tick volume.
Labels
- Show active zone labels — turns labels on or off.
- Label detail — compact mode or detailed mode with an additional volume line.
- Label style — text only or a badge. The default is text without a background.
- Text gap from zone boundary — the distance between the label and the boundary.
- Label font size — the text size.
- Label background opacity — the background opacity in badge mode.
- Keep labels inside visible plot — keeps labels within the visible horizontal area. A text-only label is hidden if there is not enough vertical space.
- Reserve right margin for price scale — leaves space on the right for the price scale.
Appearance and history
- Show resistance / Show support — display resistance and support independently.
- Resistance level color / Support level color — boundary line colors.
- Resistance area color / Support area color — zone fill colors.
- Show translucent zone fill — turns zone fills on or off.
- Show boundary lines — turns boundary lines on or off.
- Active line opacity / Active area opacity — opacity of active zones.
- Broken line opacity / Broken area opacity — opacity of broken zones.
- Retired line opacity / Retired area opacity — opacity of zones replaced by newer ones.
- Boundary line width — the thickness of boundary lines.
- Active-zone projection — how many candles active zones extend to the right.
- Maximum historical zones — the number of historical zones retained: up to 298, plus two current zones.
Opacity ranges from 0 to 255. Higher values make an element more visible. Appearance settings do not change the zone calculation.
Understanding Overlap Volume
Overlap Volume is the sum of the full volume of candles whose ranges overlap the zone, including the original swing candle. It does not measure trading volume only within the zone.
Real volume and tick volume have different meanings. Their availability depends on the broker, so choose the volume source and filter threshold to suit the instrument.
Important points
The indicator uses the instrument and timeframe of the current chart. It does not analyze several timeframes at the same time.
The name Liquidity Zones refers to areas built from price swings. The indicator does not detect hidden orders or measure actual concentrations of liquidity.
Zones can be broken. A higher retest count does not guarantee a bounce. Changes to price data or available history may affect recalculated zones.
The indicator does not place trades or guarantee profits. Alerts are not included in this version. DLL imports and an external subscription are not required.
Support is available through the product discussion page and MQL5 messages.

