OPEN-SOURCE SCRIPT
Actualizado

Liquidity Ladder+ (M1D)

1 239
OVERVIEW

MTF Liquidity Ladder maps where resting orders sit above and below price, read from six timeframes at once — 1H, 4H, 7H, 1D, 3D and 1W — and draws only the closest few from each. Nothing else goes on the chart.

A level here is a SWING: a candle whose high dominated the candles either side of it on its own timeframe. That high is where buy stops rest, so it is buyside liquidity (BSL). A swing low is where sell stops rest, so it is sellside liquidity (SSL). A level comes off the chart the moment price trades through it, because liquidity that has been taken is not liquidity any more.

Every line is black and solid, because a pool carries no direction — it is neither bullish nor bearish, it is simply somewhere price may go to fill orders, and colouring it would imply a bias the level does not hold. Weight is the only ranking: the weekly is the widest line on the chart and the hourly the thinnest, so you know which timeframe a level belongs to before you have read its name.

Everything is evaluated on bar close. Confirmed levels do not repaint.

WHAT IT PLOTS

  1. Swing levels from six timeframes. Buyside (swing highs) above price and sellside (swing lows) below it, for 1H, 4H, 7H, 1D, 3D and 1W. Each timeframe has its own on/off switch, its own line weight and its own right-hand runway.
  2. Only the closest 1-10 per timeframe, per side. A pool forty handles away is not a decision you are about to make, and it costs exactly as much ink as the one you are. The default is two per timeframe per side. Levels further out stay tracked and appear the moment a nearer one is taken.
  3. One label per level, at the right end of its own line. The name sits level with the price, no box behind it, in monospace. The line's right edge and the label's x are the same number used twice, so a name can never end up somewhere its line is not.
  4. Six label columns. Each timeframe stops at its own distance past the live candle — by default 4, 7, 10, 15, 17 and 20 bars from 1H up to 1W — and parks its name there. The families land in six columns instead of contesting one patch of screen, and the column itself tells you the rank.
  5. Dates on daily and above, prices on 4H and above. A daily or weekly level is worth dating, because which day made it changes what it means: the label reads 1D 19/07. An hourly level carries the tag alone. From 4H up, the label also carries the price, since a pool that size is one you plan around.


WHAT SEPARATES IT FROM A PREVIOUS-HIGH / PREVIOUS-LOW SCRIPT

  1. Levels that share a price become ONE level. Two swings resting within a few ticks of each other are one pool, not two. Drawn separately they produce two lines at the same height and two names fighting for the same space. Here they merge into a single line in the senior timeframe's column, at its weight, carrying every tag that sits there — 4H·1H. A candidate is tested against the whole group's envelope rather than just its first member, so a chain of near-misses cannot walk a group away from where it started. Never two names for one price, and never a name nudged off the level it belongs to.
  2. Lines anchor to the exact bar that made the swing. A higher-timeframe pivot only knows which CANDLE made it. Anchor the line at that candle's open and a 4H level begins up to four hours to the left of the high it is named after — visibly adrift from the swing it describes. This script follows each timeframe's candle as it forms, records the exact chart bar its high and its low printed on, and anchors there instead. The date in the label names that same bar. A level older than the chart's loaded history has no bar to anchor to; it falls back to the candle's open, and its origin is off the left edge regardless.
  3. A distance gate, because lines pull the price scale. A weekly pool six hundred points away on a one-minute chart does not sit quietly off-screen. The pane stretches to include it and every candle you were actually reading is flattened into a band. With six timeframes drawing at once that is a chart you cannot trade from. So nothing draws further from price than a multiple of the recent range — the last 300 bars, high to low, which tracks the instrument and the chart timeframe on its own. It gates DRAWING only: the level stays tracked, stays swept, stays alerted, and reappears as soon as price comes back within reach.


SETTINGS

Timeframes
  • One row per timeframe: draw it, how many bars past the live candle it runs, and how heavy its line is. Defaults 1H 4/1, 4H 7/1, 7H 10/1, 1D 15/2, 3D 17/2, 1W 20/3.
  • The weekly is always the heaviest line and never thinner than 2. If another timeframe is set wider, the weekly is lifted to match rather than the other being cut — no setting is discarded, but the hierarchy holds.
  • A timeframe hides itself when the chart timeframe reaches or passes it. A 1H level on a 4H chart is not a level, it is the bar you are standing on.


Levels
  • Levels per timeframe: 1-10, default 2.
  • Buyside and Sellside toggles, both on.
  • Swing strength — bars either side a candle must dominate to count as a swing, default 3.
  • Merge tolerance in ticks, default 4. Zero merges only prices that match exactly.
  • Distance gate, as a multiple of the recent range, default 1.5. Zero switches it off.


Labels
  • Text size, default small.
  • Date on 1D, 3D and 1W labels, on.
  • The words BSL and SSL, off by default — a level above price is Buyside and one below is Sellside, so the words repeat what the chart already says.
  • Price: Off, 4H and above (default), or Every level.


Alerts
  • Announce a sweep from this timeframe up, default 4H.


ALERTS

Sweeps below the chosen floor stay silent. A 1H pool gets tickled all session, and an alert on every one is an alert you stop reading.

  • A dynamic alert, at most one per bar, naming the most senior pool taken and the price it went at — for example: 4H BSL taken · 29750.00 · MNQ1!. To use it, choose "Any alert() function call" in the alert dialog.
  • Two fixed conditions, BSL taken and SSL taken, for anyone who prefers a plain trigger. Both respect the same floor.


NOTES

  • Dates are read in New York time on every instrument. An exchange's own timezone would date a CME swing in Chicago, putting a late-evening level on a different day to the rest of a New-York-based workflow.
  • Toggles and the distance gate affect drawing only. Detection keeps running underneath, so tidying the chart never quietly loses the analysis behind it.
  • Line and label objects are created once and reused rather than deleted and rebuilt each bar, so the chart does not flicker as price moves between levels.
  • Six request.security() calls, one per timeframe, all with lookahead off.


Disclaimer

This is an analysis tool. It marks where liquidity rests and when it is taken; it does not generate entries, exits or signals, and it makes no claim about what price will do next.
Notas de prensa
Housekeeping only
Nothing changes in how levels are found, drawn or alerted.

  • Line width inputs now cap at 3. The range above that served no purpose. Defaults are unchanged — 1H, 4H and 7H at 1, 1D and 3D at 2, 1W at 3.
  • Source comments corrected.
Notas de prensa
Runway spacing reworked into a staircase, not a flat distance
1H now extends 10 bars past the live candle. 4H 17, 7H 24, 1D 31, 3D 38, 1W 45.
(Manual toggle untouched)

A level's name no longer lands on top of another timeframes or another indicator's - label parked at the same price.

Sweep alerts now fire as structured JSON instead of a plain sentence, so the message can be consumed directly by an automation or webhook instead of just read.

No change to detection or the palette - timing and appearance only.
Notas de prensa
Housekeeping only. Nothing changes in how levels are found, drawn or alerted.

Line width inputs now cap at 3.
The range above that served no purpose. Defaults are unchanged — 1H, 4H and 7H at 1, 1D and 3D at 2, 1W at 3.
Source comments corrected.

Fixed a crash that could stop the script mid-session.
A rung's line starts at the higher-timeframe swing that made it, which can sit thousands of chart bars back. Placing that anchor on the chart walks back through bar history, and the buffer Pine sizes for it is set from what past bars happened to need, so the first live bar that needed one bar more stopped the whole script with "requested historical offset is beyond the historical buffer's limit". The buffer is now set explicitly, and an anchor older than the chart can reach draws from the oldest reachable bar instead of failing. Nothing changes in what is detected or how it is drawn.
Notas de prensa
Session and previous-day pools join the ladder.
The high and low of the most recent Asia, London KZ and NY AM KZ window, and the previous daily candle's high and low, are now filed into the same ladder as the swing levels. They follow every existing rule: one line each, the name at the right end, removed the moment price takes them. A window's pools are replaced when that window next closes, and PDH / PDL at every new day. Session windows are set in New York time and draw on charts of 30 minutes and below. Both have their own on/off, runway and width under "Sessions & previous day".

One name per price, now across sessions too.
A session high resting on a swing high is one pool, not two. It draws as a single line carrying every tag at that price, most senior first, in the senior family's column: 1D·PDH·Asia.

Taken pools can stay on the chart.
"Keep taken pools" leaves the most recent taken pools as dotted lines running from where each formed to the candle that took it, with no name. Off by default.

New-pool alerts.
Two new alert conditions, New BSL and New SSL, fire when a pool forms at a price nothing already rested at. A pool merging into an existing one stays silent. They share the rank floor with the sweep alerts, which now reads "Alert from this rank up"; session pools rank between 1H and 4H, PDH / PDL with 1D.

Exención de responsabilidad

La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.