Skip to content
Script type
Indicator
Source code
Open-source

MTF Liquidity Stack (Zeiierman)

Maps untapped HTF and session highs and lows, with confluence, on one chart

4.1 / 5.0 Overall

  • Effectiveness 4.4
  • Originality 4.2
  • Clarity 4.5
  • Flexibility 4.4
  • Reliability 3.5

Difficulty Intermediate

No.VOW-000060

About this rating This is an analysis and visualization indicator built to read liquidity candidates from higher-timeframe swings, sessions and previous-day highs and lows on a single map. Clarity scores highest, since the subtle lines and tags never get in the way even when always on, and we also credited how it merges same-price sources into tags and how much you can adjust. On the other hand, the real-time behavior where HTF levels appear before confirmation and disappear on reload isn't documented, which keeps Reliability lower. The description also says session levels stay until they're traded through, but in practice they're cleared at the daily rollover, so 0.1 was deducted from the overall score for this mismatch with the description.
About the difficulty The lines and tags look simple, and the red, green and gray color scheme is easy to pick up. But a few behaviors can be confusing if you don't know how it works: higher-timeframe levels don't appear until the HTF candle confirms, session levels are cleared at the daily rollover, Auto swaps the higher timeframes depending on your chart timeframe, and the UTC setting moves where the day starts and ends. You also have to read what happens after each sweep yourself, so it's best suited to intermediate traders who are already comfortable with liquidity and swing structure.

Overall 4.1/ 5.0

About our rating standards

  • Effectiveness 4.4 It brings higher-timeframe, session and previous-day highs and lows together under the same rules and largely delivers on its goal of a liquidity map. Confluence and which levels have been swept are easy to track at a glance.
  • Originality 4.2 Merging four kinds of sources into a single line at the same price and showing confluence through tags is a well-thought-out presentation. Anchoring each level to the actual chart candle is a nice touch too.
  • Clarity 4.5 The lines and tags are thin and small, so they stay out of the way even when left on all the time. Session colors overlapping with the high/low colors can be fixed by changing the colors.
  • Flexibility 4.4 You can adjust five timeframes, Auto, the number of levels kept, session windows, UTC and colors, which lets you dial it in from the 5-minute up to the daily.
  • Reliability 3.5 Confirmed bars display consistently, but the real-time behavior where HTF levels appear before the HTF candle confirms and then vanish on reload isn't documented.
Repainting
Repaints
  1. Live barChanges
  2. On closeChanges
  3. HistoryChanges
In real time, levels can appear early based on a still-forming higher-timeframe candle, and those levels may disappear after the chart is reloaded and recalculated on confirmed bars.
Best timeframes
  • Lower TFs≤15m
  • Mid TFs30m–4H
  • Higher TFs1D+
Tested on BTCUSDT (5m, 15m, 30m, 1H, 4H, 1D, 1W)
Alerts
5 conditions
Buy/sell signals
Not providedN/A for analysis tools
Market conditions
Any
Display
Overlay
Chart elements
LinesLabels
Base indicator
Swing Highs / LowsSession High/LowPDH/PDL
Trading style
ScalpingDay Trading

Our review of this indicator

SUPPORT & RESISTANCESMART MONEY

MTF Liquidity Stack: See Where London & NY Highs and Lows Stack With HTF Levels

MTF Liquidity Stack: See Where London & NY Highs and Lows Stack With HTF Levels

Diagram gallery 9

Article Summary
What does this indicator do?
Bottom line

MTF Liquidity Stack turns higher-timeframe swings, the Asia, London and NY sessions, and the previous day's high and low into horizontal levels under one set of rules, merging sources at the same price into a single tagged line. It builds a clean liquidity map without cluttering your chart, but session levels are cleared at the daily rollover and HTF levels can show up early in real time.

Tell me more
Key points
  • Untapped highs extend right as red lines and untapped lows as green lines; once price trades through them, they turn gray and stop.
  • It turns swings from up to five higher timeframes, three sessions, and the previous day's high and low into levels using the same rules.
  • Sources on the same side and at the same price merge into one line, with the right-end tag chained together like "1h+4h+PDH".
  • Sweeps are judged by wicks, not closes, and a candle that stops exactly at the level doesn't count as a sweep.
  • HTF levels appear only after the next HTF candle closes, then get drawn back to the candle that made the high or low.
  • In real time, HTF levels can appear before the HTF candle confirms and may vanish after you reload the chart.
  • Session tags are cleared at the daily rollover, and how long session levels stay on screen depends on the UTC setting.
  • On 4H and above, Auto leaves only one higher timeframe, so adding TF 4 or TF 5 makes confluence easier to read.

“MTF Liquidity Stack” puts every untapped high and low on one map

“MTF Liquidity Stack” is a TradingView indicator that plots horizontal levels at the highs and lows price hasn’t traded through yet, above and below the current price. Stops and breakout orders tend to pile up just beyond these highs and lows, which is why traders call them “liquidity.”

What sets it apart is that it handles four very different kinds of highs and lows with one set of rules: swing highs and lows from up to five higher timeframes, the Asia, London and New York session highs and lows, and the previous day’s high (PDH) and low (PDL). When any of these land on the same price, they collapse into a single line, and the tag at the right end chains them together, like “1h+4h+PDH”.

MTF Liquidity Stack on a Bitcoin 5-minute chart. Red and green untapped levels and gray swept levels sit side by side without cluttering each other.
MTF Liquidity Stack on a Bitcoin 5-minute chart. Red and green untapped levels and gray swept levels sit side by side without cluttering each other.

I ran it on Bitcoin across seven timeframes, from the 5-minute up to the weekly. My first impression was that the lines and tags are so thin and small that the chart barely gets cluttered. The flip side is that the default tags really are tiny, so on a laptop screen you’ll probably want to bump them up a size.

Let’s start with the big picture. As in Figure ①, highs that haven’t been taken out extend to the right as red lines, and as in Figure ②, lows that haven’t been broken extend as green lines. Once price trades through a level, it turns gray and stops on that candle, as shown in Figure ③.

Untapped highs and lows on one liquidity map

Red and green lines are highs and lows price hasn't traded through yet. Gray lines have already been swept.

Untapped highs and lows on one liquidity mapRecreation of a 15-minute chart where untapped 1H and 4H swing highs extend right as red lines and swing lows as green lines, while levels that price has traded through turn gray and stop.1h1h+Asia1h1h1hLondonAsia1hNew York1h1hPDH+1h+4h+Asia1h1h4h+1D⊙ 4h+1D1h1h+LondonNew York+1h1h+Asia1h+PDL1hAsia1h1h+4hLondon1h1h1h1h1h+4h1h+Asia1h1h1h1h+New York1h+London+4h1h1h+London+4h1h1h+New York1hAsia1h+PDH+4h1h1h+New York1h1h+London+4hNew York+1h1h+4h+1D⊙ 1h+4h+1D1h1h1h1h+Asia1h+4hPDL4h+1D1h1h1h+London ⊙1h+4h+1D1h+4h+1D1h1h+London1h1h1h+4h⊙ 1h+4h1h1h+Asia1h1h1h+Asia1h ⊙1h+4h+PDL1h+4h+PDL1h1h+4h1h+4h+PDH⊙ 1h+4h+PDH1hNew York ⊙1h1h1h⊙ 1h ⊙1h1hUntapped highsextend right in redUntapped lows are greenSwept levels turn grayand stop on that candle⊙ = the candlewhere the level starts

Vowars DE ver.3.12.33

Default settings on a 15-minute chart (HTF sources 1h, 4h and 1D, with sessions and PDH/PDL on). The tag at the right end shows where each level comes from, and when several sources land on the same price they're joined with "+".

All you’re really reading is “levels still standing” and “levels already taken.” There are no buy or sell signals. Think of it as a fast way to build a map of where liquidity is still resting and where it’s already been grabbed, with higher-timeframe and session context layered in, and the use cases start to click.

Reading the line colors and tags

First, here’s what everything on screen means. The color logic is simple, but lines carrying a session tag are the exception, so don’t skip this part.

What you seeWhat it means
Red line (default)A high that hasn’t been taken out. Extends right up to the current candle
Green line (default)A low that hasn’t been broken. Extends right up to the current candle
Gray lineA level price has already swept (mitigated). It stops on the candle that took it out, and its tag stays at the midpoint of the line
Session-colored lineAny line with an Asia, London or New York tag. It takes the session color whether it’s a high or a low, and keeps that color even after it’s swept
⊙ with the tag above it (below for lows)The origin of the level, pointing to the chart candle that actually printed the high or low
Tag at the right endThe source of that price level. Multiple sources are joined with “+”

The right-end tag sits three bars to the right of the current candle. It reads “1h”, “4h” or “1D” for timeframes, whatever name you’ve set for sessions, and “PDH” or “PDL” for the previous day’s high and low.

The Asia high is drawn in green

By default, Asia uses the same green as lows, and London uses the same red as highs. Session colors take priority over the high/low colors, so a green line above price can turn out to be the Asia session high.

The first time I saw a green line above price, I honestly thought, “Wait, there’s a low still up there?” Switching the session colors to something that doesn’t clash with the high/low colors, like yellow or orange, clears that up. Also note that when a line carries more than one session name, the color priority is New York, then London, then Asia.

Four sources of liquidity, and what happens when they “stack”

“MTF Liquidity Stack” draws levels from four sources. They all do the same basic thing, turning a high or low into a horizontal line, but each one differs slightly in when the line is born and what clears it.

Higher-timeframe swing highs and lows

The core of the indicator is swings pulled from up to five timeframes. Each swing is a three-candle pattern: if the middle candle’s high is above both neighbors, it’s a swing high; if its low is below both neighbors, it’s a swing low. For 1H that means three 1H candles, for 4H three 4H candles.

What I really like is that the line doesn’t start at the higher-timeframe candle. It’s anchored to the chart candle that actually printed that high or low. Put a 1H high on a 15-minute chart, and of the four 15-minute candles inside that hour, the line starts from the one whose wick reached the highest. The ⊙ marker goes on that same candle, so there’s no guessing which candle the high came from.

How many levels it keeps is set by Levels, which defaults to 5. The count is per timeframe tag and per side, so with 1h, 4h and 1D all on, you can end up with as many as 15 highs and 15 lows on the chart.

Asia, London and New York sessions

Session levels are added on the candle where the session ends. Nothing is drawn while the session is still running. As Figure ① shows, the Asia high and low get recorded on the candle where the Asia session closes. The London low in Figure ② is red because of the session-color priority covered in the previous section. The NY high in Figure ③ hasn’t been taken out yet, so it keeps extending in blue.

Each session leaves its high and low when it closes

Nothing is drawn while a session is open. Its high and low become levels on the candle where the session ends.

Each session leaves its high and low when it closes30-minute chart with HTF swings and PDH/PDL turned off, showing the Asia, London and New York highs and lows being added as horizontal levels on the candle where each session ends.AsiaLondonNew YorkAsiaLondonNew York ⊙AsiaAsiaAsia ⊙LondonLondonLondonNew York⊙ New YorkNew YorkWhen Asia (22:00-07:00 UTC) closes,its high and low are recordedThe London low is drawnin the London session color, redThe NY high is still untappedand keeps extending in blue

Vowars DE ver.3.12.33

HTF swings and PDH/PDL are off, so only session levels are shown (times in UTC, default Full mode). Line color follows the session, not the side, so the London low is red and the Asia high is green.

The session windows are defined in UTC. With the default Mode (Full), they look like this. I’ve added New York time (EDT, during US daylight saving) for reference.

SessionFull (UTC)Full (New York, EDT)AM (UTC)AM (New York, EDT)
Asia22:00-07:0018:00-03:0000:00-04:0020:00-00:00
London07:00-15:3003:00-11:3006:00-09:0002:00-05:00
New York13:30-20:0009:30-16:0013:30-15:0009:30-11:00

Switching Mode to AM moves all three sessions to their shorter morning windows at once. Use it when you only care about the highs and lows printed in the first few hours of each session.

Previous day high (PDH) and previous day low (PDL)

PDH and PDL are added on the first candle of the new day. The dashed line in Figure ① marks the daily rollover, and that’s where the previous day’s high and low become levels. As in Figure ②, each line starts from the candle that made the prior-day high, and in Figure ③ the prior-day low got taken out by the next day’s selloff and turned gray.

PDH and PDL appear the moment the day rolls over

PDH and PDL are added on the first candle of the new day, starting from the candles that printed the prior day's high and low.

PDH and PDL appear the moment the day rolls over30-minute chart showing only PDH/PDL. On the first candle of the new day, the previous day's high and low are added as levels anchored to the candles that made them.PDHPDH⊙ PDHPDLOn the rollover candle (00:00 UTC),the prior day's high and low become levelsAnchored to the candlethat made the prior-day highThe swept PDL turns gray and stops

Vowars DE ver.3.12.33

HTF swings and sessions are off, leaving only PDH/PDL (UTC+0). The prior day's low (PDL) was taken out by the next day's selloff and turned gray. At the next rollover, the PDH and PDL tags move to the new prior-day high and low.

Where the day starts and ends follows the UTC setting, which I’ll get to below. At the default UTC+0, the previous day closes at 00:00 UTC, which is 8 p.m. in New York during daylight saving time.

Levels at the same price merge into one line

This is the “Stack” in the name. When a new high or low lands on the same side (high with high) and at the exact same price as an existing line, no new line is drawn. The tag just gets longer.

It’s easiest to see by following the history of a single high. In Figure ①, the London session closes and the level appears as “London.” In Figure ②, the 1H and 4H swings merge in and it becomes “London+1h+4h.” A New York tag joined after that, but at the daily rollover in Figure ③, the session names dropped off and PDH took their place.

One high stacks up confluence, then resets at the rollover

The level stays a single line at the same price. Only the tags grow, joined with "+".

One high stacks up confluence, then resets at the rollover15-minute chart following a single high as it is recognized first as the London high, then as a 1H and 4H swing, then as the previous day's high, with the tags on the same line growing and changing.1h1h+Asia1h1h1hLondonAsia1hNew York1h1hPDH+1h+4h+Asia1h1h4h+1D⊙ 4h+1D1h1h+LondonNew York+1h1h+Asia1h+PDL1hAsia1h1h+4hLondon1h1h1h1h1h+4h1h+Asia1h1h1h1h+New York1h+London+4h1h1h+London+4h1h1h+New York1hAsia1h+PDH+4h1h1h+New York1h1h+London+4hNew York+1h1h+4h+1D⊙ 1h+4h+1D1h1h1h1h+Asia1h+4hPDL4h+1D1h1h1h+London ⊙1h+4h+1D1h+4h+1D1h1h+London1h1h1h+4h⊙ 1h+4h1h1h+Asia1h1h1h+Asia1h ⊙1h+4h+PDL1h+4h+PDL1h1h+4h1h+4h+PDH⊙ 1h+4h+PDH1hNew York ⊙1h1h1h⊙ 1h ⊙1h1hAfter London closes, it appearsas the London highThe 1H and 4H swings mergeinto the same priceAt the daily rollover, session namesdrop off and PDH is added

Vowars DE ver.3.12.33

The tag went London, London+1h, London+1h+4h and London+1h+4h+New York, then the session names dropped off on the rollover candle, leaving 1h+4h+PDH. Session sources last for that day only, while HTF sources stay until the level is swept.
“1h+4h” is a combo you’ll see all the time

A 4H high is always the high of one of the 1H candles inside it. So a 4H swing usually lands on the same price as a 1H swing, and the “1h+4h” tag shows up very naturally.

Rather than treating more tags as automatically stronger, I found it closer to reality to ask two things: how high up the timeframes the tag goes, and whether an independent reference like a session or PDH/PDL lines up with it. Levels that run all the way to the daily, like 1h+4h+1D, or where an HTF swing coincides with PDH, are the ones I watch most closely.

One more thing worth knowing: the merge only happens on an exact price match. Even one tick apart gives you two separate lines, so you’ll sometimes see two levels sitting almost on top of each other. In practice, it makes sense to read a few ticks of difference as the same zone.

On a 1-hour chart, MTF Liquidity Stack stacks untapped higher-timeframe highs near the top, tagged with labels like "4h+1D".
On a 1-hour chart, MTF Liquidity Stack stacks untapped higher-timeframe highs near the top, tagged with labels like “4h+1D”.

Once price trades through, it’s “swept,” and wicks count

A line turns gray when a candle’s high trades above a high level, or a candle’s low trades below a low level. The close doesn’t matter. The candle in Figure ① wicked down through two lows at once and closed well back above them, yet both levels were still marked as swept.

One tick through with a wick counts as swept

The check uses highs and lows, not closes. A level stops as soon as a wick reaches through it.

One tick through with a wick counts as swept15-minute chart where a long lower wick takes out two untapped lows at once. Even though the candle closes well back above them, both levels turn gray as swept.1h1h+Asia1h1h1hLondonAsia1hNew York1h1hPDH+1h+4h+Asia1h1h4h+1D⊙ 4h+1D1h1h+LondonNew York+1h1h+Asia1h+PDL1h1h⊙ 1hAsia1h1h+4hLondon1h1h1h1h1h+4h1h+Asia1h1h1h1h+New York1h+London+4h1h1h+London+4h1h1h+New York1hAsia1h+PDH+4h1h1h+New York1h1h+London+4hNew York+1h1h+PDH+4h⊙ 1h+PDH+4h1h1h⊙ 1h1h1hAsia⊙ Asia1h+Asia1h⊙ 1h1h+4hPDL4h+1D1h1h⊙ 1h ⊙1h1hSwept on the candle whose wick broke the low,even though it closed back aboveSwept levels stop and turn gray,with the tag left at the midpointThat candle's low becomesa new low level

Vowars DE ver.3.12.33

A lower wick swept two 1h lows at once, and that candle's own low was then drawn as a new 1h+Asia low. Any level carrying the Asia tag is drawn in the Asia session color (green by default), whether it's a high or a low.

As in Figure ②, a swept line stops on that candle and its tag moves to the midpoint. In Figure ③, the low of the candle that did the sweeping became a brand-new low level. You can literally watch “liquidity that got taken” being replaced by “liquidity that just formed.”

A small detail: the rule is “trades above” or “trades below,” so a candle that stops exactly at the level doesn’t count as a sweep. Also, a level isn’t checked on the candle it was added on; checking starts from the next candle.

A sweep by itself is not a trade signal

A line turning gray is simply a record that the liquidity at that price got taken. Whether price reverses from there or runs in the breakout direction comes down to what the candles do after the sweep. Did it wick through and snap right back, or did it close through with a full body and stay there? Use the sweep as the starting point for reading that difference.

Turn History off and only the most recent swept line is kept; the rest disappear. Leave it on if you want to see where past sweeps happened, or turn it off if you only want to focus on the levels that are still live.

When levels appear, and what happens in real time

A higher-timeframe swing can’t be confirmed until the third candle closes. That means a level only shows up once the HTF candle after the one that made the high or low has closed.

The 15-minute candle in Figure ① made the 1H high, and the next 1H candle in Figure ② closed without taking it out. The line first appears on the candle in Figure ③, but it’s drawn back to the ⊙ candle.

Levels wait for confirmation, then extend back to the swing candle

No level appears until a 1H candle higher than both neighbors is confirmed. When it does appear, it starts from the ⊙ candle.

Levels wait for confirmation, then extend back to the swing candle15-minute chart with only 1H swings on. The level appears only on the 15-minute candle where the next 1H candle closes, and is then drawn back to the candle that made the high.1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h⊙ 1h1h1h1h1h1h1h1h1h ⊙1h1h1h1h1h1h1h⊙ 1h1h1h1h1h1h1h ⊙1h1h1h1h1h⊙ 1h1h ⊙1h1h1h⊙ 1hThe 15m candlethat made the 1H highThe next 1H candle closeswithout taking out the highThe level first appears on this candle

Vowars DE ver.3.12.33

15-minute chart with only the 1H swing source on. After the 1H candle containing the high (⊙), the level was added on the 15-minute candle where the next 1H candle closed without exceeding that high. The higher the timeframe, the longer this wait.

From the moment the high prints, it takes a bit over an hour at minimum for a 1H level, a bit over four hours for 4H, and more than a full day for the daily before the line shows up. On a historical chart the lines start neatly at the high candle, so it’s easy to miss, but that line actually appeared on screen much later. When you backtest how price reacted to these levels, you need to account for that delay.

In real time, levels can appear before the HTF candle closes

Higher-timeframe swings are also evaluated using the still-forming HTF candle. In real time, right after the next HTF candle opens, while its high hasn’t yet reached the previous candle’s high, the swing can already qualify, and the line appears without waiting for confirmation.

If that HTF candle later trades above the previous candle’s high, the line gets swept right away and turns gray. When you reload the chart, everything is recalculated from confirmed historical values, so these lines simply vanish. That’s why gray lines you watched form in real time can be missing after a reload.

Session levels and PDH/PDL are calculated from chart candles only, so they aren’t affected by this.

In short, the lines on a historical chart were drawn from confirmed HTF candles only, while the live chart also shows lines that appeared earlier than that, including some that got swept in the meantime. Right after an HTF level appears, the safe move is to treat it as provisional until that HTF candle closes.

The timeframes Auto picks depend on your chart timeframe

With Auto on, any source timeframe that’s equal to or lower than your chart timeframe gets bumped up to the next higher timeframe automatically. If two sources end up on the same timeframe, the one you explicitly set as a higher timeframe wins and the promoted one is dropped. Here’s which tags show up on each chart timeframe with the default settings (TF 1 to TF 3 on).

Chart timeframeHTF tags shownNotes
1m to 30m1h, 4h, 1DAll three defaults are used as-is
1H4h, 1D1h is promoted to 4h, which duplicates 4h, so it’s dropped
2H4h, 8h, 1D1h is promoted to 8h and added as a separate timeframe
4H1DBoth 1h and 4h are promoted to the daily, which duplicates 1D
Daily1WAll three are promoted to the weekly
Weekly1MAll three are promoted to the monthly

On 4H and above, the defaults leave you with just one higher timeframe. On the 4H, turn on TF 4 (W); on the daily, turn on TF 5 (M). That gives you two higher timeframes to compare, and confluence becomes readable again.

On the 4-hour chart, Auto promotion leaves MTF Liquidity Stack with only "1D" as its higher-timeframe tag.
On the 4-hour chart, Auto promotion leaves MTF Liquidity Stack with only “1D” as its higher-timeframe tag.

Watch out on the daily and weekly, because PDH/PDL and the session lines change meaning there. On the daily, every candle is a new day, so PDH/PDL just becomes “the previous candle’s high and low.” On the weekly it gets stranger: previous-day and session tags get lumped onto the same line, like “PDH+London+New York,” and the result can’t be read the way it’s meant to be.

MTF Liquidity Stack on the weekly chart. Session and previous-day tags attach per candle, so turning them off on higher timeframes keeps the chart readable.
MTF Liquidity Stack on the weekly chart. Session and previous-day tags attach per candle, so turning them off on higher timeframes keeps the chart readable.

On the daily and above, it’s cleaner to turn off PDH / PDL and the sessions and look at HTF swings only.

Session levels disappear at the daily rollover

This is the part that tripped me up the most in actual use. Session levels don’t stick around until they get swept. On the first candle of a new day, every session-name tag is removed. Lines whose only tag was a session name disappear right there, while lines that also carried another source, like 1h or PDH, survive with their remaining tags. PDH/PDL get replaced with the new previous-day values at the same moment, so yesterday’s lines never carry over into the next day.

The daily rollover is set by UTC. At the default UTC+0 it’s 00:00 UTC (8 p.m. in New York during daylight saving time), so an NY session level that gets added at 20:00 UTC is gone within four hours at most.

How long session levels last depends on the UTC setting

The horizontal axis is UTC time. Each bar shows how long a session level stays on screen if price never sweeps it.

How long session levels last depends on the UTC settingConcept chart comparing, for UTC+0 (default) and UTC+9, the maximum time each Asia, London and New York session level stays on the chart before the daily rollover clears it.Asia 7:00 → 24:00 (17h)London (8.5h)NYAsia 7:00 → 15:00London 15:30 → next 15:00 (23.5h)NY 20:00 → next 15:00 (19h)0:006:0012:0018:0024:006:0012:0018:00next 24:00With the default UTC+0,the day rolls over at 00:00 UTCWith UTC+9, the rollover movesto 15:00 UTC (midnight in Tokyo)

Vowars DE ver.3.12.33

Changing the UTC setting doesn't move the session windows themselves. It moves the daily rollover, where all session tags are cleared. With the default, the NY level is gone within 4 hours at most. With UTC+9, it lasts until 15:00 UTC the next day (midnight in Tokyo).

Comparing Figure ① with Figure ②, setting UTC to UTC+9 moves the rollover to 15:00 UTC (midnight in Tokyo), and the London and NY levels then last into the next day. The session windows themselves are fixed in UTC and don’t move when you change UTC.

Move the rollover to fit your trading day

If you want the NY high and low to carry into the following Asia and London sessions, setting UTC to something like UTC+9 works well. The rollover moves to 15:00 UTC, and PDH/PDL are calculated on that day boundary too.

The trade-off is that the Asia levels then disappear at that same 15:00 UTC rollover, so it’s not a good fit if you want to carry the Asia high and low into the next day. Decide based on which session’s levels you want to keep around longer.

One more thing: because the session windows are fixed UTC times, they don’t adjust for daylight saving. The default NY window (13:30-20:00 UTC) lines up with 9:30 a.m. to 4:00 p.m. local time while the US is on daylight saving time, but once standard time kicks in, it shifts to 8:30 a.m. to 3:00 p.m. local (the US switches back on November 1, 2026). If you want it to match NYSE cash hours, change the NY Full window to 1430-2100 for the winter months, which brings it back to 9:30 a.m. to 4:00 p.m. local. London works the same way: during UK winter time (from October 25, 2026), 07:00 UTC is simply 7:00 a.m. local.

While we’re here, a quick word on Daily Reset. Turn it on and, at each daily rollover, every line, including HTF levels and swept lines, is cleared, leaving only the highs and lows printed on the new day. It’s a switch for day traders who like to start each session with a clean slate.

Settings, and how to tune them by timeframe

The settings panel is split into five groups: “1. Timeframes,” “2. Sessions,” “3. Daily Levels,” “4. Style” and “5. Alerts.” Each session row puts the on/off checkbox, the name, the Full window, the AM window and the color on a single line.

Parameters
SettingDefaultSuggestedEffect
AutoOnOnPromotes timeframes at or below the chart timeframe to the next higher timeframe. Duplicates are dropped automatically
Levels53-5Number of untapped levels kept per timeframe tag, for highs and lows separately (1-20). Levels with the oldest origin are removed first
TF 1On, 60 (1h)OnFirst higher timeframe. Picks up swing highs and lows
TF 2On, 240 (4h)OnSecond higher timeframe
TF 3On, D (1D)OnThird higher timeframe
TF 4Off, W (1W)On for 4H and aboveFourth higher timeframe. Off by default
TF 5Off, M (1M)On for daily and aboveFifth higher timeframe. Off by default
ModeFullFullSwitches all three session windows between Full and AM at once
UTCUTC+0UTC+0 or an offset that fits your trading daySets the daily rollover (PDH/PDL, Daily Reset, clearing of session levels). Does not move the session windows
AsiaOn, 2200-0700, 0000-0400, greenChange color to a yellow toneAsia session levels. Set the name, Full and AM windows (UTC) and color
LondonOn, 0700-1530, 0600-0900, redChange to a color different from highsLondon session levels
New YorkOn, 1330-2000, 1330-1500, blueConsider 1430-2100 during US standard timeNY session levels
Daily ResetOffOffWhen on, clears every line at the daily rollover
PDH / PDLOnOn for intraday, off for daily and abovePrevious day high and low levels
LabelsTinyTinySize of the tag next to ⊙ and the tag at the midpoint of swept lines
Live TagsTinySmallSize of the right-end tags
HistoryOnOnWhen off, only the most recent swept line is kept
High#ff4040 (red)KeepColor of untapped high levels
Low#55ff96 (green)KeepColor of untapped low levels
Sweep#6d6d6d, 1, SolidKeepColor, width (1-4) and style of swept lines. Width and style apply to all lines
NewOffAs neededAlert when a new level is added
MitigatedOnOnAlert when a level gets swept
High (Alerts)OnOnIncludes high-side levels in alerts
Low (Alerts)OnOnIncludes low-side levels in alerts

The line width and style in the Sweep row aren’t just for swept lines; untapped lines use them too. Keep in mind you can’t make untapped lines thick and swept lines thin.

Lowering Levels removes the oldest lines first

When you lower Levels, the lines with the newest origins are the ones that stay, as in Figure ①. The dashed lines in Figure ② are the ones that would still be there at the default of 5.

Levels counts per timeframe, per side

With Levels at 2, only the two newest untapped highs and the two newest untapped lows remain.

Levels counts per timeframe, per side15-minute chart with only 1H swings on, comparing the lines that remain with Levels set to 2 against the older lines (dashed) that would have stayed at the default of 5.1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h1h⊙ 1h1h ⊙1h1h1h⊙ 1h ⊙1h1hOnly the 2 newest highsand 2 newest lows remainOlder levels kept at the default of 5vanish once the limit is exceeded

Vowars DE ver.3.12.33

The dashed lines are overlaid for illustration and don't appear on the actual chart. Levels beyond the limit don't turn gray as swept; they simply disappear. The count is per timeframe tag, so with both 1h and 4h on, each keeps two of its own.

Lines dropped for exceeding the limit don’t turn gray as swept; they just vanish from the chart. You can’t tell visually whether a level was swept or trimmed by the limit, so if you set Levels too low, you’ll miss older highs and lows that are still very much in play. Even on the 5-minute and 15-minute, I don’t go below 3.

Suggested setups by timeframe

  • 1m to 5m (scalping). The default 1h, 4h and 1D are plenty. If it feels crowded, drop Levels to 3. The London and NY session levels do most of the work here.
  • 15m to 1H (day trading). Run the defaults. If you want NY levels to carry into the next day, shift UTC to a later rollover such as UTC+9. On the 1H, your HTF sources become 4h and 1D.
  • 4H (swing-leaning). Turn on TF 4 and compare 1D with 1W. Session levels are short-lived, so you won’t miss much by turning them off.
  • Daily and above. Turn off PDH / PDL and the sessions, turn on TF 5, and read the 1W and 1M swings.

Five alert conditions to choose from

“MTF Liquidity Stack” comes with two styles of alerts. When you pick this indicator as the condition in the Create Alert dialog, you’ll see “Any alert() function call,” which bundles everything into one notification, plus four individual conditions.

ConditionWhen it fires
Any alert() function callBundles every new level and sweep on that candle into one notification. Fires once, on bar close
New High LiquidityWhen a new high level is added
New Low LiquidityWhen a new low level is added
High Liquidity MitigatedWhen a high level gets swept
Low Liquidity MitigatedWhen a low level gets swept

Both styles follow the New, Mitigated, High and Low switches in the settings. Since New is off by default, alerts for new levels won’t fire unless you turn New on. A tag being added to an existing price doesn’t count as a new level either.

With “Any alert() function call,” each event is one line: the type (NEW/MITIGATED), the symbol, high or low, the tags, the price and the chart timeframe, separated by “|”. If several levels change on the same candle, you get multiple lines in a single notification. You can see exactly which source got swept right from your phone, which is why I went with this one.

How to use it on the chart, in four steps

1 Check what’s still untapped above and below

Start by finding the nearest untapped level above and below current price. The red line above and the green line below are the most likely liquidity for price to go after next. Session-colored lines are session highs and lows, so don’t judge above/below by color alone.

2 Rank levels by what’s in the tag

When several levels are close by, read the tags. Prioritize levels that include longer timeframes like 1D or 1W, and levels where PDH/PDL or a session lines up with an HTF swing; give 1h-only levels less weight. As mentioned earlier, 1h+4h forms naturally, so I don’t give it special treatment on its own.

3 Read reversal vs. continuation from the candles after the sweep

Once a line turns gray, watch the next few candles. If price wicks through and the body closes back inside the level, that’s a candidate for a liquidity grab and reversal. If it closes through with a full body and doesn’t come back, suspect continuation in the breakout direction. The indicator tells you nothing at this point, so combine candle structure and volume to make the call.

4 Use liquidity on the opposite side as a take-profit guide

Once you’re in, untapped levels on the opposite side make natural take-profit targets. If you went long, keep the red lines above in mind, especially the ones with stacked tags, as places where price is likely to stall. Doing that made it a lot easier for me to decide where to take profit.

Pair it with MFI to gauge momentum at the sweep

“MTF Liquidity Stack” tells you where liquidity got taken, but not how much buying or selling pressure was left when it happened. So I tried adding MFI (Money Flow Index), an oscillator that also factors in volume, in the lower pane.

When price made the low in Figure ①, MFI had sunk to around 10. When price wicked down and swept that low in Figure ②, MFI was in the mid-50s, well above its previous reading, and price bounced for a while. On the break in Figure ③, though, MFI was pointing down as well, and the selloff just kept going.

Is MFI keeping up when the sweep happens?

When price sweeps a low, check whether MFI sits higher than it did at the previous low to gauge how much selling pressure is left.

Is MFI keeping up when the sweep happens?MTF Liquidity Stack on a 15-minute chart with MFI (14), a volume-weighted oscillator, in the lower pane, comparing a low sweep where MFI did not make a new low with one where it broke lower along with price.MFI (14)1h1h+Asia1h1h1hLondonAsia1hNew York1h1hPDH+1h+4h+Asia1h1h4h+1D⊙ 4h+1D1h1h+LondonNew York+1h1h+Asia1h+PDL1h1h⊙ 1hAsia1h1h+4hLondon1h1h1h1h1h+4h1h+Asia1h1h1h1h+New York1h+London+4h1h1h+London+4h1h1h+New York1hAsia1h+PDH+4h1h1h+New York1h1h+London+4hNew York+1h1h+PDH+4h⊙ 1h+PDH+4h1h1h⊙ 1h1h1hAsia⊙ Asia1h+Asia1h⊙ 1h1h+4hPDL4h+1D1h1h⊙ 1h ⊙1h1hMFI near 10 at the prior lowWick sweeps the lowMFI in the mid-50s,well above last timeOn the next break MFI points down too,and the drop keeps going

Vowars DE ver.3.12.33

On the first sweep, MFI was well above its reading at the prior low (around 10) and price bounced. On the second, MFI broke lower along with price and the selloff continued. Both are results from this one example, not a promise of a bounce or continuation.

Price making a lower low while MFI holds above its previous reading is a divergence that suggests selling pressure is weaker than last time. Checking for that divergence right after a sweep made it easier to narrow down reversal setups. Again, this is one example, and it won’t play out the same way every time.

Another good match is TradingView’s built-in Volume Profile (Visible Range). If a level sits in a low-volume area, you can expect price to move quickly once it breaks. ATR helps with sizing your stop, and a session VWAP shows where a level sits relative to the day’s average traded price. Both add useful context to these levels.

What it handles for you, and what’s still on you

What it handles for you

  • Shows HTF, session and previous-day highs and lows in one indicator, all under the same rules
  • Sources that land on the same price are joined with “+”, so you can tell at a glance what each level represents
  • Levels are anchored to the actual chart candle, and ⊙ shows you exactly which candle made the high or low
  • Swept levels stay on the chart in gray, so you can trace where liquidity was taken after the fact
  • Auto picks meaningful higher timeframes for you when you switch chart timeframes
  • Thin lines that barely get in the way of your chart

What’s still on you

  • It doesn’t tell you whether a sweep leads to a reversal or continuation, so you have to read the candles or other indicators
  • In real time, HTF levels can appear before the HTF candle confirms and then vanish after a reload
  • Session levels are cleared at the daily rollover, and how long they last depends on the UTC setting
  • Session windows are fixed in UTC, so you have to adjust for daylight saving changes yourself
  • With the default colors, the Asia high is drawn in green and the London low in red
  • On 4H and above, the defaults leave only one higher timeframe, so you need to add TF 4 or TF 5
Don’t judge it by the historical chart alone

Lines on a historical chart were drawn from confirmed HTF candles. In real time, lines appear at different moments and the number of gray lines changes too. “Price reversed right off this level” on a historical chart needs to be checked against when that line actually showed up on screen. Rather than trading off the indicator alone, wait to see how price reacts after the sweep before making a decision.

For traders who want stacked liquidity without a cluttered chart

MTF Liquidity Stack (Zeiierman)

“MTF Liquidity Stack” takes information you’d normally pull from separate indicators, HTF swings, sessions and previous-day highs and lows, and condenses it into one horizontal line and tag per level. Confluence at the same price makes the tag longer, and a sweep turns the line gray. Those are the only two things you need to track, so it doesn’t take long to learn.

That said, there are a few behaviors that can be confusing if you don’t know how it works, like session levels clearing at the daily rollover and HTF levels appearing early in real time and then disappearing. Once you’ve dealt with the UTC setting, the session colors and adding TF 4 or TF 5 on 4H and above, as covered in this review, it should feel the same from the 5-minute all the way up to the daily.

If you scalp or day trade and want to quickly spot where London and NY highs and lows line up with higher-timeframe highs and lows, I found this indicator to be an especially good fit.

Sources: For this article we tested an indicator built by Zeiierman on the charting platform TradingView, then analyzed it in depth before publishing.

Disclaimer: This article is for informational purposes only and isn't investment advice or a recommendation to buy or sell. All investment decisions are your own.

FOLLOW VOWARS
Never miss a new indicator
Get Vowars in Google search, a browser alert on publish, or updates on X.
YUZURU
AuthorYUZURUFounder & Reviewer, Vowars
View profileClose

An editor for content sites at a web agency, I started trading crypto in 2018. Working my way from spot to futures got me hooked on chart analysis, and I now build my own custom indicators on TradingView. On Vowars, I test TradingView indicators one by one on my own charts and review everything from the math behind them to how to use them and where they fall short, with custom visuals throughout.…

Created by

Vowars Picks

Stochastic Heat Map

“Stochastic Heat Map” Tested: Bottom-to-Top Color Shifts That Show How Real a Move Is

"Stochastic Heat Map" is an oscillator that stacks 28 Stochastics with lengths from 10 to 280 as colors, showing where price sits in its range on every lookback at once. The way color spreads from the bottom rows to the top tells you how strong a move is, but red stays pinned in strong trends, so it works best with direction handled separately by something like an EMA.

DifficultyIntermediate

CME Institutional Order Flow & AMT Lens

Auction Market Theory on One Chart: An Indicator That Flags Volume Absorption by Color

“CME Institutional Order Flow & AMT Lens” is a TradingView indicator that combines a volume profile, candle coloring, shelves, and a dashboard in one. It gives no buy or sell signals and instead automatically marks key prices such as the POC and Value Area.

DifficultyAdvanced

Fibonacci Trend Continuation Signals [AlgoAlpha]

Measure Pullback Depth Inside a Trend With “Fibonacci Trend Continuation Signals”

"Fibonacci Trend Continuation Signals" is a free TradingView indicator that automatically draws a Fibonacci range in the direction of the trend and prints a continuation signal the moment price starts moving again after a pullback or bounce. It gives you an objective read on pullback depth.

DifficultyIntermediate

Smart Trader, Episode 06, Isotropic Trend Lines

“Isotropic Trend Lines” Review: σ-Scaled Trend Angles and a Six-Timeframe Vote Tested on Live Charts

Isotropic Trend Lines puts price on a log scale and divides it by volatility (σ), giving you a trend angle that doesn't change with chart scaling. Direction, strength and position inside the channel all show on one screen. Just note that the angle only appears once you turn on Show Angle Label.

DifficultyIntermediate

Strong Burst Fader

Touching the Band Isn’t Enough — “Strong Burst Fader” Measures the Depth of the Stretch

"Strong Burst Fader" is a counter-trend indicator that measures how far a wick pokes beyond a moving average ± ATR band and shows that depth as the height and color of a diamond stack. The taller and redder the stack, the more overextended the move, and you can read it without adding a single line to your chart.

DifficultyIntermediate

Divergence for Many Indicators v4

Divergence for Many Indicators v4 : How to Read Divergence Across 10 Indicators in One Label

"Divergence for Many Indicators v4" is a TradingView indicator that detects divergence across 10 indicators, including RSI and MACD, and shows how many line up in a single label. Signals come early, but only the last one survives within the same swing. It works best once you've defined market direction.

DifficultyIntermediate

Browse by goal

1 / 5