Sessions & Liquidity with HTF Order BlocksWHAT IT DOES
This indicator combines three intraday concepts on one chart: the actual price range of each trading session, the unswept extremes those sessions leave behind, and higher-timeframe order blocks. The goal is to see where liquidity is resting and where the higher timeframe last shifted direction, without stacking three separate scripts on the chart.
1. SESSION RANGE
For each of the three sessions (Asia, London, New York) the script tracks the running high and low and draws them as two horizontal segments bounded by the session window itself — the segments do not run across the whole chart. While a session is open, the segments are projected forward to its scheduled close time, which is computed from the session string (HHMM-HHMM) in the selected time zone; overnight windows such as 1600-0100 are handled by rolling the close into the next day. When the session ends, the projection is trimmed back to the last bar of the session, so what remains on the chart is the true range of that session and nothing more.
Session windows, names, colors and the time zone are all inputs. The defaults are set for Europe/Moscow (UTC+3): Asia 03:00-12:00, London 10:00-19:00, New York 16:00-01:00.
2. LIQUIDITY LEVELS (HH session / HL session)
The moment a session closes, its high and low are converted into liquidity levels: dashed lines extended to the right and re-anchored to the current bar on every new bar. The idea is the standard one — a session extreme that has not been traded through is resting liquidity, and price tends to reach for it.
A level is considered swept as soon as any bar trades beyond it (high > level for a high, low < level for a low). A swept level is deleted from the chart instead of being greyed out, so at any moment the chart only shows liquidity that is still intact. Optionally an alert fires on the sweep, on bar close, with the level type and price in the message.
Only the N most recent levels per side are kept (4 by default) so the chart does not accumulate old lines.
3. HIGHER-TIMEFRAME ORDER BLOCKS
Order blocks are calculated on a configurable higher timeframe (1H by default) via request.security with lookahead_off, so no future data is used and the blocks do not repaint into the past.
The definition used here is deliberately simple and mechanical:
- a bullish block is the last bearish candle after which the next candle closed above its high;
- a bearish block is the last bullish candle after which the next candle closed below its low.
That candle's range (its high and low) becomes the zone. A block is drawn from the timestamp of the origin candle and its right edge follows the close of the session currently in progress — when London and New York overlap, the earlier close is used, and the edge jumps forward once that session ends. This ties the zones visually to the session structure rather than letting them extend indefinitely.
A block is removed as soon as price closes beyond it (below a bullish zone, above a bearish zone) — a wick through the zone does not mitigate it. Only the N most recent blocks per side are kept (3 by default).
HOW TO USE IT
- Intended timeframes: 5m, 15m, 30m, 1H. Sessions do not exist on daily and above, so on 1D and higher the script only prints a warning label and draws nothing.
- Set the time zone input to the one your session hours are written in — everything else follows from it.
- A typical read: price sweeps an HH session level (the level disappears and the alert fires), then reacts from a higher-timeframe order block in the opposite direction. The sweep marks where liquidity was taken; the block marks where the reaction is expected.
- The session ranges themselves are useful as context: a New York range opening entirely above the London range is a different market than one opening inside it.
ALERTS
Enable "Alert when a level is swept" and create an alert on the indicator with "Any alert() function call". The message contains the level type (HH/HL session) and its price.
ORIGINALITY AND NOTES
Session boxes, liquidity levels and order blocks all exist as separate published scripts. What is specific to this one is how the three are wired together: session extremes become liquidity levels automatically on session close, swept levels are deleted rather than kept, and the right edge of every order block is bound to the close of the session currently running instead of extending forever. All levels come from closed sessions and all order blocks are read with lookahead_off, so nothing on the chart is drawn using data that was not available at that time.
This script is not a signal generator and produces no entries or exits — it is a context tool.
Indicator

Indicator

EMA/SMA Classics V1.0 by SRTEMA/SMA Classics V1.0 by SRT
The EMA/SMA Classics indicator was designed to answer one simple question:
"Which side of the market currently has the structural advantage?"
Instead of flooding the chart with buy and sell arrows, this indicator focuses on market structure, trend alignment, and high-quality price action, allowing traders to make their own execution decisions with greater confidence.
Whether you trade Forex, Indices, Commodities or Crypto, this indicator combines multiple market concepts into a clean workflow while remaining highly configurable through both EMA and SMA combinations.
What This Indicator Includes
• Flexible EMA / SMA Engine
Unlike traditional moving average indicators that are locked to one MA type, every moving average in this indicator can independently be configured as either:
EMA
SMA
Default settings:
MA 1 : 7
MA 2 : 40
MA 3 : 150
MA 4 : 200
You may use the default configuration or customise the periods to fit your own trading methodology.
• Dynamic Moving Average Stack Detection
The indicator continuously evaluates whether the visible moving averages are properly stacked.
Bullish Stack
Fast MA > Medium MA > Slow MA
Bearish Stack
Fast MA < Medium MA < Slow MA
When the moving averages lose their proper order, the market is treated as neutral instead of forcing a directional bias.
This helps reduce many false trend signals that occur during consolidations.
• ATR-Based MA Spacing Filter
One common problem with MA strategies is entering when all moving averages have already compressed together.
This indicator measures the spacing between moving averages using ATR.
When the moving averages become too compressed, trend quality deteriorates.
The spacing filter helps identify these lower-quality environments before momentum fully develops.
• Ladder Structure
One of the core concepts inside this indicator is the Ladder System.
Instead of only observing moving averages, the indicator also evaluates the market using multiple dynamic support and resistance structures.
Resistance
R9
R40
R70
R100
R150
Support
S9
S40
S70
S100
S150
These levels automatically update with market structure and are used to generate an additional Ladder Bias.
When both the moving averages and Ladder Bias agree, market structure is generally stronger than relying on moving averages alone.
• Flush Dot System
The indicator displays visual Flush Dots beneath or above candles whenever trend alignment exists.
Small Green Dot
Bullish MA alignment.
Small Red Dot
Bearish MA alignment.
Large Green Dot
Moving Average alignment + Bullish Ladder confirmation.
Large Red Dot
Moving Average alignment + Bearish Ladder confirmation.
The larger dots represent stronger structural agreement across multiple components.
• KeyBar Detection
The indicator automatically identifies two important price action patterns.
Engulfing Bars
Bullish Engulfing (EBull)
Bearish Engulfing (EBear)
These are filtered using ATR and minimum body size to avoid insignificant candles.
Long Tail Bars (LTB)
Bullish Long Tail Bars
Bearish Long Tail Bars
These identify strong rejection candles with defined tail proportions and body positioning.
An optional body-size filter is also available for traders wanting stricter candle selection.
Daily Pivot (DP)
Automatically plots the previous day's pivot.
Useful as:
Dynamic support
Dynamic resistance
Intraday reaction level
Weekly Pivot (WP)
Automatically plots the previous week's pivot.
Many swing traders use weekly pivots as major reaction zones throughout the trading week.
RSI Momentum Alerts
The indicator includes two independent RSI event types.
RSI Breakout
Signals when RSI breaks into extreme momentum territory.
Bullish breakout
Bearish breakout
RSI Retracement
Designed to identify momentum continuation after RSI exits an extreme condition while confirming with the RSI Moving Average.
These alerts can be useful for traders looking to participate after momentum has begun to recover instead of chasing extremes.
Information Panel
A compact table summarises the current market condition.
Displays:
Moving Average Bias
Ladder Bias
Long Tail Bar presence
This provides a quick snapshot without needing to inspect every component individually.
How To Use This Indicator
This indicator is not designed to generate automatic Buy or Sell signals.
Instead, it acts as a Market Context Indicator.
A typical workflow may look like this:
Step 1
Observe whether the moving averages are properly stacked.
A clean stack generally indicates directional order.
Step 2
Check whether the Ladder Bias agrees with the moving averages.
When both align, the market structure is generally stronger.
Step 3
Watch for KeyBars.
Examples include:
Bullish Engulfing
Bearish Engulfing
Bullish Long Tail Bar
Bearish Long Tail Bar
These often represent meaningful reactions within the prevailing structure.
Step 4
Use Daily Pivot and Weekly Pivot as areas where price may react.
These levels should be considered areas of interest rather than guaranteed reversal zones.
Step 5
Monitor RSI alerts for momentum shifts.
Momentum signals are generally more useful when they occur in the same direction as the prevailing market structure.
Suitable Timeframes
Although the indicator can be applied to multiple chart intervals, it generally performs best on:
M15
M30
H1
H4
Daily
The moving averages, Ladder System, and KeyBar detection adapt naturally across different timeframes.
Difference Between EMA/SMA Classics & H1 EMA/SMA + Higher Timeframe Analysis (Classic)
Although both indicators belong to the same ecosystem, they serve different purposes.
EMA/SMA Classics
Designed as a general-purpose structural trend indicator.
Features include:
Flexible EMA/SMA stacking
Ladder System
Flush Dots
Engulfing Bars
Long Tail Bars
Daily Pivot
Weekly Pivot
RSI Alerts
It can be used on virtually any timeframe and is ideal for traders who prefer to analyse the chart directly.
H1 EMA/SMA + Higher Timeframe Analysis (Classic)
The H1 version is a significantly more advanced market context engine.
In addition to everything above, it introduces:
Dedicated H1 Bias Engine
H4 Trend Analysis
Daily Trend Analysis
Higher Timeframe Bias Aggregation
H1TF Composite Bias
Overall Market Verdict Engine
Multi-layer Bias Table
Higher Timeframe Confirmation Workflow
Rather than focusing solely on the current chart, the H1 version continuously evaluates whether multiple timeframes are aligned before presenting an overall market verdict.
If the EMA/SMA Classics indicator answers:
"What is my current chart doing?"
Then the H1 version answers:
"What is the broader market structure telling me across multiple timeframes?"
The two indicators are complementary and can be used together depending on your preferred trading workflow.
Disclaimer
This indicator is designed to assist with market structure analysis and decision-making. It does not provide financial advice or guarantee profitable trades. Always combine indicator signals with sound risk management, personal analysis, and appropriate position sizing. Indicator

H1 EMA/SMA + Higher Timeframe Analysis (Classic) V1.0 by SRT# H1 EMA/SMA + Higher Timeframe Analysis (Classic) V1.0 by SRT
## Overview
H1 EMA/SMA + Higher Timeframe Analysis (Classic) V1.0 by SRT is a complete market context indicator designed to help traders read trend, structure and execution quality from a single chart.
Instead of relying on one indicator alone, this script combines multiple layers of market information into one unified framework:
• H1 Moving Average Bias Engine
• Higher Timeframe (H4 & Daily) Trend Confirmation
• Ladder Market Structure Analysis
• Dynamic Daily & Weekly Pivot Levels
• VWAP Bias Filter
• Engulfing & Long Tail Bar (LTB) Detection
• RSI Breakout & Retracement Alerts
• Composite Bias Dashboard
• Smart Alert System
The objective is simple:
Reduce subjectivity by helping traders identify when multiple independent factors agree before looking for trade opportunities.
This indicator is designed for traders who prefer trading with trend and market structure rather than relying on a single crossover or oscillator.
---
## Main Features
### ① H1 Bias Engine
The H1 Bias Engine evaluates the alignment of up to four configurable EMA/SMA lines.
Unlike traditional MA crossover indicators, this engine considers:
• Moving average order
• Price position relative to the moving averages
• MA spacing quality
• Trend strength
Bias is classified into:
• Strong Bullish
• Bullish
• Neutral
• Bearish
• Strong Bearish
An ATR-based spacing filter automatically ignores signals when moving averages become compressed, helping reduce false trend readings during consolidation.
---
### ② Higher Timeframe Bias
The script automatically evaluates both:
• H4 Trend
• Daily Trend
using a dedicated EMA40 / EMA150 / SMA200 structure.
These two higher timeframes are combined into a Higher Timeframe (HTF) Bias.
This allows traders to quickly determine whether H1 signals are aligned with the broader market direction.
---
### ③ Ladder Market Structure
The Ladder System measures how support and resistance levels evolve over multiple lookback windows.
Support Levels
S9
S40
S70
S100
S150
Resistance Levels
R9
R40
R70
R100
R150
The relative positioning of these levels produces a Ladder Bias ranging from:
Strong Bullish
Bullish
Neutral
Bearish
Strong Bearish
This provides an additional market structure confirmation independent of moving averages.
---
### ④ Composite H1TF Bias
One of the core components of the indicator.
H1TF combines:
• H1 Moving Average Bias
• Ladder Bias
to generate a stronger consensus trend.
Rather than reacting to a single condition, H1TF requires agreement between trend and structure before producing stronger directional confidence.
---
### ⑤ Final Verdict Engine
The Final Verdict combines:
Higher Timeframe Bias
*
H1TF Composite Bias
Only when both higher timeframe trend and H1 composite trend strongly agree will the dashboard produce:
Strong Bullish
or
Strong Bearish
This helps traders focus on higher probability market conditions instead of reacting to every market fluctuation.
---
### ⑥ Key Bar Detection
The indicator automatically detects two important price action patterns.
Bullish / Bearish Engulfing Bars
Long Tail Bars (LTB)
Each signal includes:
ATR size validation
Minimum body filters
Tail quality checks
Momentum confirmation
These are designed to highlight significant candles instead of every basic engulfing or pin bar.
---
### ⑦ Daily & Weekly Pivot Levels
Built-in pivot calculations include:
Daily Pivot (DP)
Weekly Pivot (WP)
These levels provide additional context for potential support, resistance and reaction zones.
---
### ⑧ VWAP Bias
The indicator includes a built-in VWAP filter.
Price above VWAP
Bullish
Price below VWAP
Bearish
This offers another layer of institutional-style market context that complements the moving average analysis.
---
### ⑨ RSI Momentum Alerts
Four RSI-based alerts are included.
Bullish RSI Breakout
Bearish RSI Breakout
Bullish RSI Retracement
Bearish RSI Retracement
These alerts are designed to identify momentum expansion as well as potential continuation opportunities after retracements.
---
### ⑩ Smart Alert System
The alert engine supports multiple event types.
H1 Bias changes
Higher Timeframe Bias changes
H1TF Composite changes
Ladder Bias changes
Bullish Engulfing
Bearish Engulfing
Bullish Long Tail Bar
Bearish Long Tail Bar
Optional filters allow alerts to trigger only when aligned with:
H1TF
Higher Timeframe
Strong Bias only
This helps reduce unnecessary alert noise.
---
## Reading the Bias Dashboard
The dashboard summarizes the complete market picture.
Daily
Daily Trend
H4
H4 Trend
HTF
Combined Higher Timeframe Trend
H1
Current H1 Moving Average Bias
Ladder
Market Structure Bias
H1TF
Combined H1 Trend
VWAP
Current VWAP Position
Verdict
Final Consensus
The strongest trading environments generally occur when multiple components point in the same direction.
---
## Typical Workflow
A simple workflow may look like this:
1. Check the Final Verdict.
2. Confirm H1TF agrees with the Higher Timeframe.
3. Observe whether VWAP supports the direction.
4. Wait for a qualifying Engulfing Bar or Long Tail Bar.
5. Use Daily Pivot, Weekly Pivot and Ladder levels for trade management.
This approach encourages waiting for confluence rather than entering solely because one indicator changes direction.
---
## Notes
This indicator is intended as a market context and decision-support tool.
It does not predict future prices and should not be considered a standalone trading system.
Like any technical tool, it performs best when combined with sound risk management, proper trade planning and disciplined execution.
---
Thank you for using H1 EMA/SMA + Higher Timeframe Analysis (Classic) V1.0 by SRT
I hope this indicator helps simplify chart analysis and encourages traders to focus on market structure, trend alignment and disciplined decision making.
— SRT
Indicator

Pivot Points | Falcon AI Draws Classic and Camarilla pivot levels from the previous daily or weekly
session, on any intraday chart.
How it works: at the start of each new period the script reads the previous
period's high, low and close. The Classic central pivot P is the average of
those three. R1–R3 and S1–S3 are then projected above and below P using the
previous period's range — R1/S1 nearest, R3/S3 widest. Camarilla works from
the previous close instead, adding and subtracting fixed fractions of that
same range (the published 1.1/12, 1.1/6, 1.1/4 and 1.1/2 series) to give
H1–H4 above and L1–L4 below. Because Camarilla is range-scaled rather than
average-based, its levels sit tighter to price, which is why intraday
traders often use them for smaller moves while the Classic set frames the
wider session.
Levels are calculated only from data that has already closed, so they are
fixed for the whole session and do not repaint. An optional setting lets
you compute from the still-forming period instead, in which case the lines
update live by design.
Only the current period extends to the right and carries labels; previous
periods remain as short segments over the range they belong to, so history
stays readable. Choose Classic, Camarilla or both, how many R/S pairs to
draw, daily or weekly, plus colours, widths and label side. Indicator

Indicator

Indicator

Macro MagicianMacro Magician — Hourly Macros (:50 → :10)
Short description
Marks the :50 → :10 hourly macro windows, shades the opening minute of each, and can carry a chosen macro's opening range across the rest of the session.
Full description
What it does
Macro Magician draws the twenty-minute windows that run from :50 of one hour to :10 of the next — the periods intraday traders commonly call hourly macros. Each window gets a shaded box tracking its high and low, and the opening candle of the window is shaded separately in a darker tone, so you can see where price opened the window from relative to where it finished.
Beyond marking the windows, two features do the work that usually gets done by hand:
Carried-forward opening ranges. Any macro can have its opening-candle high and low projected to the right across the rest of the session, turning that one minute into a horizontal reference band. The macro's time is reprinted along the band at a cadence you set, so it stays identifiable hours later without hovering over it.
A standalone highlight candle. One candle per session — 09:30 by default, matching the equity cash open — can be recolored, given a vertical backdrop and a marker, and boxed with its own carried-forward band. This runs independently of the macro slots, so it works whether or not that minute falls inside a macro window.
Nothing here produces signals or predicts direction. It is a time-and-level marking tool that puts the windows and their opening ranges on the chart automatically.
Settings
General
Timezone — all times are interpreted in this zone, so boxes land correctly regardless of your chart's display timezone. Defaults to New York; "Exchange" follows the symbol.
Timeframe limit — hides the drawings above a chosen timeframe. Default 15 minutes.
Style
Fill, opening-candle fill, and border transparency, plus border width.
Opening-candle level — projects the window's opening candle's open, close, or midpoint as a dotted line across the window.
Label visibility and size.
Chart theme — Auto, Light, or Dark. Auto reads the chart's background brightness and flips the extended-macro label text between the two colors you choose, so the script is legible on either without touching anything else.
Optional alert when a macro opens.
Macro windows Eight independent slots, each with an on/off toggle, a session, a color, and an extend checkbox. Defaults cover 06:50 through 14:10 New York time. The session field accepts day filters, so 0850-0910:23456 restricts a window to Tuesday through Saturday for futures. One "extend through" session sets where all carried-forward bands stop, 16:00 by default.
Extended opening range Controls the band label cadence — either at a fixed minute interval from the macro open, or once an hour at a clock minute you choose so the prints stay clear of the other macro windows — along with the text size, which applies to both the label above the box and the prints along the band.
Highlight candle Hour and minute for the candle, its color, an optional full-height vertical backdrop with its own transparency, an optional triangle marker above or below the bar, and an optional carried-forward box with independent fill, border, and width settings. The box can start on the candle or just after it, so its fill doesn't wash out the candle's own color.
How to read it
The lighter box shows what the window did — its full high and low. The darker box shows the range it opened from. When a window closes well outside its opening range, the two together show the displacement at a glance. A carried-forward band lets later sessions be read against an earlier opening range without redrawing it each day.
Notes and limitations
Intraday charts only. On a 1-minute chart the darker box is exactly the :50 candle; on a 5-minute chart it is the first five minutes of the window, which is wider by design.
The highlight candle is drawn with barcolor plus a candle overlay, so it survives chart settings that override bar colors. On timeframes above one minute it paints whichever bar carries that opening time.
PulseWire caps drawings at 500 boxes, lines, and labels, so the oldest sessions eventually drop off the left of the chart. Running fewer macro slots keeps more history visible.
Windows in progress update until they close, as you would expect. Nothing recalculates on historical bars.
This is a charting aid, not a strategy, and not financial advice. Test how these windows behave on your own instrument and timeframe before relying on them. Indicator

AlgoStorm Institutional Session Structure (ISS)AlgoStorm Institutional Session Structure (ISS)
A complete intraday auction-structure engine that maps global session boxes (Asia, London, New York), the Globex overnight range, the Initial Balance with day-type extension targets, the Opening Range, and an automated overnight-inventory classification of the RTH open — directly onto your intraday charts.
The AlgoStorm Institutional Session Structure (ISS) indicator is designed for index futures and intraday traders who read the market through the auction lens: where overnight inventory built, whether the open printed inside or outside that inventory, whether the Initial Balance is containing rotation or the day is extending toward trend, and which session built the reference high or low everyone now trades against. It answers those questions structurally instead of drawing decorative boxes.
TIMEFRAME REQUIREMENT — READ BEFORE LOADING
This is an intraday tool. It refuses to run on 1D charts and above, and the chart timeframe should stay at or below the Opening Range length (the Opening Range and Initial Balance locks resolve at bar granularity). All session windows are DST-aware through a configurable IANA timezone, defaulting to New York time.
Technical Architecture: Fixed-Pool Session Engine
Session-structure indicators commonly rebuild their drawings on every bar, bloating chart performance and churning objects. ISS uses a different execution model:
Per-Session Box Engines: Each session runs its own tracking engine with a private box history. The active box updates its high/low boundary in place as the session develops; boxes older than the history cap (default five days, configurable to twenty) are evicted automatically.
Time-Window Lock Pipeline: The overnight range, Initial Balance, and Opening Range each accumulate in staging registers, then lock permanently the moment their window closes — the overnight at the RTH open, the IB and OR when their configurable minute-windows complete. Locked levels cannot move for the rest of the day.
Extension Mathematics: Extension targets use the classic day-type formula, extension(m) = IB low + m × IB range above the market and IB high − m × IB range below it, with 1.5× and 2.0× defaults. A 1.5× tag means price has traveled 150% of the IB range from the opposite IB boundary.
Zero-Churn Drawing Pool: Every level line and label is created exactly once at initialization and repositioned in place afterward. No per-bar create/delete cycles, no garbage-collection artifacts.
Label Anti-Overlap Engine: Right-edge labels (ON, IB, extensions, OR) are sorted by price each bar and automatically spaced apart whenever two or more sit within a configurable minimum gap (default 0.05% of price). Level lines always stay locked to the true price — only the label text position shifts to stay readable. On by default; fully optional.
Confirmed-Bar Alert Gate: Every alert condition is gated on confirmed bar closes inside RTH. Nothing repaints, and no alert can fire intra-bar and then vanish.
Features & Functionality
Session Boxes: Asia, London, and New York boxes with running high/low, dotted session-open line, and session label. Defaults cover the full sessions (18:00–03:00, 03:00–09:30, 09:30–16:00 New York time); killzone-style alternatives are documented in the input tooltips.
Overnight Range Lock: Globex high/low accumulated through the overnight window and held through the trading day — the reference frame for gap and inventory reads.
Initial Balance + Extension Targets: First 60 minutes of RTH (configurable 15–120) with configurable extension multiples for day-type classification: containment inside the IB, 1.5× tests, or 2× trend extension.
Opening Range: First 15 minutes of RTH (configurable 1–60) — the breakout reference for the open drive.
Overnight Inventory Read: At the RTH open, the engine classifies the print: above the ON high, upper half of the ON range, lower half, or below the ON low — the gap-risk context before the first rotation completes.
Session State Table: Active session, ON high/low, open-vs-ON classification, IB range (shows "forming…" while building, then the locked H/L) with a separate breakout status (inside IB vs. breakout ▲/▼), OR range and status, and which IB extensions have been tested — the whole auction state in one glance.
Alert Suite: Eight conditions — Opening Range breakout up/down, Initial Balance breakout up/down, overnight high/low break, and upper/lower reach of the second IB extension multiple (default 2.0×, trend-day behavior). The first multiple (default 1.5×) is tracked live in the state table but does not carry its own alert.
Honest limitations: ISS is structural context, not a signal system — no entries, no exits, no arrows . Intraday levels draw for the current day only by design; historical context comes from the session boxes. If you also run our Institutional Key Levels (IKL) script, keep IKL's Initial Balance, Opening Range, and Overnight toggles off so nothing double-plots — ISS is the time-anchored view, IKL is the right-edge level strip.
Open-source under CC BY-NC-SA 4.0. Educational tool — not financial advice. Indicator

Daily Range Exhaustion - ADR Probability MapAn intraday trader spends the whole session asking one question without ever measuring it: is there still room left in this move, or is the day already finished. Daily Range Exhaustion measures it.
The script records the completed range of every past day on the symbol you have open, and uses that sample to answer four things about the day in progress.
HOW MUCH OF THE DAY IS SPENT
Today's range is compared against the average daily range of the last 5, 10 or 20 days. The panel shows the result as a percentage. At 40 percent the day still has room in either direction. At 110 percent the day has already delivered more than an ordinary day and every further extension is, statistically, an outlier rather than the base case. The chart background tints once 100 percent is passed.
WHERE A FULL DAY COULD STILL REACH
Two levels are drawn:
Upside projection, today's low plus the average daily range. This is the highest point a statistically ordinary day could still print without becoming unusual.
Downside projection, today's high minus the average daily range.
Both compress as the session develops. Early in the day they sit far apart. By the afternoon they have squeezed toward price, and the distance left to each one is exactly the room the day has left. The shaded areas between price and each projection are that remaining room, made visible.
THE ODDS OF EXTENDING ANYWAY
Ranges are not a hard ceiling, so the panel reports how often the ceiling actually broke. Three lines show the share of past days whose range exceeded 100, 125 and 150 percent of the current average. On most liquid instruments roughly a quarter to a third of days exceed 100 percent, but far fewer reach 150 percent. Those numbers are the honest context for the exhaustion reading: they tell you whether a stretched day is rare or routine on this particular symbol.
WEEKDAY BREAKDOWN
A single average across all days hides a real effect. Many instruments have a quiet Monday and a violent Thursday, and judging Monday against a blended average will make it look exhausted when it is behaving normally. The panel breaks the sample down by weekday, shows the average range of each one, and expresses it as a percentage of the overall average. Today's weekday is highlighted.
HOW TO USE IT
As a filter on entries. Taking a fresh breakout when the day has already spent 120 percent of its average range is a different trade from taking the same breakout at 45 percent. The setup may be identical, the room available is not.
As target context. If the upside projection is 12 points away and your target is 30 points, the day would have to become a statistical outlier for that target to fill.
As mean reversion context. A day that hits the projection level and stalls has, by definition, reached the edge of its usual distribution.
As session planning. Check the weekday row before the session opens to know whether to expect a wide day or a narrow one.
NOTES ON THE DATA
The sample is built from the chart itself, so it needs history loaded. The panel shows a Building sample message and stays hidden until the minimum day count is reached, rather than showing statistics based on six observations.
Only intraday timeframes are supported. On a daily chart or higher the concept has no meaning, and the panel says so instead of printing misleading numbers.
Older days are dropped once the sample cap is reached, so the statistics follow the current volatility regime instead of averaging in a market from two years ago.
Days are bounded by the exchange session of the symbol. On instruments that trade nearly around the clock the day boundary is a convention, not a natural break, which slightly inflates the ranges of days that straddle a rollover.
WHAT IT IS NOT
There are no entry or exit signals here, and none are planned. This is context. A completed range is not a reversal signal, and an unfinished range is not a reason to expect continuation. Trends routinely spend two or three average ranges in a session, which is precisely why the extension odds are shown rather than hidden.
This is an analysis tool, not financial advice. Past distributions do not guarantee future ones. Use it alongside your own risk management and position sizing. Indicator

Zero Noise LevelsThe Previous Highs and Lows, Outlined. Nothing else.
What it does
- Marks the completed previous day, week, and month high and low — six levels, never more.
- Each level anchors at the candle that actually made it and extends forward until price trades through it — then it greys out and stops. A sweep counts on the wick: any trade through the level retires it, even if the candle closes back inside.
- When a new day, week, or month begins, its levels replace the old pair. Nothing accumulates — the cleanup is structural, not a setting.
- Levels come from completed periods only, so they never repaint. Each level takes the more extreme of the official candle and what your chart actually printed — on stock charts showing extended hours, the line sits on the wick you can see.
- Theme: Auto / Dark / Light — change any swatch and your color wins on every theme.
What it deliberately doesn't do
- No signals, no alerts, no arrows — a deliberate omission in the free tools, not an oversight. A previous high is context, not a trade call. The trade is yours.
Settings
- Levels: Previous Day / Previous Week / Previous Month, each an independent toggle
Style: theme, colors, line width and style, level tags, watermark — all optional
Futures, stocks, and FX. Each level shows on any chart timeframe at or below its own period.
For informational and educational purposes only — not financial advice. Trading involves substantial risk of loss; past performance does not guarantee future results. Indicator

Zero Noise KillzonesThe Killzones, outlined. Nothing else. The ICT killzones drawn cleanly, with each one's high and low carried forward as levels.
What it does
- Outlines the killzones: Asia (20:00–00:00), London (02:00–05:00), New York AM (09:30–11:00), New York Lunch (12:00–13:00, off by default), and New York PM (13:30–16:00) — all pinned to New York time, so daylight-saving changes are handled automatically on any chart, in any timezone.
- A separate forex set — Asia, London Open, New York Open (07:00–10:00), London Close (10:00–12:00) — off by default, so forex traders have the complete set in one place. NY AM and NY Open overlap by design: different windows that share 30 minutes.
- When a killzone closes, its high and low carry forward as levels. A level stays lit and keeps extending until price trades through it — then it greys out and stops. A sweep counts on the wick: any trade through the level retires it, even if the candle closes back inside. A wick through a level is information — that's the definition, on purpose.
- Days Kept bounds how long anything lives on the chart. Nothing accumulates forever.
- Custom windows: up to seven of your own sessions, any HHMM–HHMM window (midnight wraps handled), in any timezone.
What it deliberately doesn't do
- No signals, no alerts, no arrows — a deliberate omission in the free tools, not an oversight. A killzone high is context, not a trade call. The trade is yours.
Settings
- Killzones: five futures windows plus the four-window forex set, each an independent toggle
- Extend Highs & Lows: Until Swept (levels carry forward) or Session End (outlines only)
- Custom: timezone + up to seven custom windows
- Theme: Auto / Dark / Light — change any swatch and your color wins on every theme
- Line width, fill, tags, Days Kept (1–5), watermark — all optional
Futures, stocks, and FX, on any intraday chart up to 1h — above 5m, windows are rebuilt from 1-minute data for exact alignment.
For informational and educational purposes only — not financial advice. Trading involves substantial risk of loss; past performance does not guarantee future results. Indicator

Zero Noise Opening RangePure structure. Zero noise.
The opening range, outlined. Nothing else.
What it does
Sessions: New York (09:30 ET), London (08:00 UK), Asia (09:00 Tokyo) — one, all three, or a custom open time and timezone. Each session is tracked independently.
Range length: the first 5m, 15m, 30m, or 1h of the open, or a custom length.
Extend Until: Break Confirmation (default) freezes the range when a candle of your confirmation timeframe (1m–30m) closes outside it. Closed candles only — wicks don't count, nothing repaints. Session End runs the range to the close regardless of breaks.
Every range ends at its market's close (NY 16:00 ET, London 16:30 UK, Tokyo 15:30 JST).
Broken ranges grey out (optional), so live levels stay obvious.
Works on any intraday chart up to 1h. Above the range length, the range is rebuilt from 1-minute data for exact alignment.
What it doesn't do
No signals, no alerts, no arrows. An opening range is context. The trade is yours.
Settings
Session: New York / London / Asia (Tokyo) / All 3 / Custom (default: All 3)
Opening range: 5m / 15m / 30m / 1h / custom minutes
Break confirmation candle: 1m to 30m (default 5m)
Midline, fill, grey-out, tags, days kept, watermark — all optional
Futures, stocks, and FX. A notice panel flags any invalid setting.
For informational and educational purposes only — not financial advice. Trading involves substantial risk of loss; past performance does not guarantee future results. Indicator

Session Range Completion ClockThis indicator measures WHEN, inside a chosen intraday session, that session's range is actually
built. It answers a question that session tools normally skip: by a given time of day, how much of
the day's eventual range is typically already spent, and has the extreme that will define the day
usually already printed?
It draws no levels, marks nothing on price, and produces no signals. It is a measurement
instrument that reports descriptive statistics over the sessions in your loaded history.
THE UNDERLYING PRINCIPLE
A session's range is not built at a constant rate, and how it is built differs by symbol, by
session and by contract. The script assumes nothing about the shape - it measures it on whatever
instrument and window you point it at.
"How much range is left" and "is the extreme already in" are two different statistics, and the
script keeps them separate. For every completed session in the loaded history it records the
running high and low at the end of each time bucket, then waits for the session to close so the
FINAL range is known. It then attributes, for each bucket:
- the fraction of the final range that had been traversed by the end of that bucket;
- whether the session's high had already been made at or before that bucket;
- whether the session's low had already been made;
- whether both were already in place, meaning the range was finished and everything afterwards
happened inside it;
- the traversed range expressed in units of daily ATR or of the previous day's range, which makes
the figure comparable across volatility regimes.
These are accumulated across sessions and reported as means and frequencies.
HOW TO READ THE TABLE
The table is drawn once, on the last bar of the chart. Each row is a point in time, labelled with
the clock time at the end of that bucket.
"n" is the number of sessions contributing to that row. "Range built" is the mean percentage of
the session's final range already traversed. "High set" and "Low set" are the percentage of
sessions in which that extreme was already established. "Both set" is the percentage of sessions
in which the entire range was already complete; that column is shaded by value. "Range/unit" is
the mean range so far in the normalization unit selected in the inputs, which is named in the
bottom-right cell.
If the session contains more buckets than the row limit, buckets are sampled at an even stride so
the table still ends on the session's final bucket.
The pane also plots two lines during a live session: the current session's range so far, and the
mean range so far of all prior qualifying sessions at the same point in the session, both in the
same unit. That is a like-for-like comparison at equal elapsed session time. It is not a
projection and the script does not extend either line forward.
On a daily or higher chart the table prints a message instead of statistics: the whole measurement
is defined on intraday bars and there is nothing to compute.
WHAT IT DOES NOT DO
It does not predict where price will go, does not identify breakouts, and does not mark levels. A
high "Both set" figure at a given time means only that historically, on this symbol and this
session, the range was usually already complete by then. It is a frequency over past sessions, not
a statement about today, and nothing in the script says whether acting on it would be a good idea.
METHOD, AND WHY IT DOES NOT REPAINT
A session is folded into the statistics only after it has closed, so the session in progress never
contributes to its own statistics.
Historical values are never recalculated. The statistics accumulate forward in time, which means
the historical-mean line on early bars was computed from a smaller sample than the same line on
recent bars. That is deliberate; the alternative would be a curve that silently rewrites its own
past.
The daily normalization unit comes from a single bundled request on the daily timeframe. The
requested expression is offset by one bar and the request uses lookahead, which is the pair the
Pine Script documentation specifies for confirmed higher-timeframe values: the offset discards the
daily bar that is still forming and returns the one before it, which was already final. Historical
and realtime bars therefore receive the same value. This matters more here than it looks, because
the unit is latched once at session start and then used for that whole session - a unit that
differed between live and reloaded charts would give a session two different "Range/unit" figures
depending on when you looked at it.
Time buckets are anchored to the declared session start time rather than to the first bar
observed. This keeps the time-of-day axis stable on illiquid symbols, on sessions that run through
midnight, and on continuous 24-hour sessions where there is no gap between sessions to detect. A
session string containing more than one range, such as 0900-1130,1230-1500, is treated as a single
window running from the first start to the last end; buckets falling inside the break carry the
pre-break state forward, which is what you want, because the range does not reset over lunch. An
optional day mask such as 0930-1600:23456 is respected.
SETTINGS
Session and Session time zone define the window. Use the exchange's own time zone so buckets stay
aligned across daylight-saving changes.
Bucket size should be a multiple of the chart timeframe. A bucket narrower than the chart
timeframe contains no bars of its own and simply carries the previous bucket's state forward.
Minimum session completeness excludes half-days, early closes and partially loaded history, which
would otherwise depress the late-session figures. Lower it if a market you are studying
legitimately has short sessions.
Normalise range by chooses between daily ATR and the previous day's range. ATR is smoother; the
previous day's range reacts faster.
ORIGINALITY
The session and time-of-day category on this platform is overwhelmingly made of level-drawing
tools: opening-range boxes, session high/low lines, session shading. Those draw where. Very little
published measures when, and the two are different objects - this script plots nothing on price at
all.
There is a small existing family of scripts that chart the distribution of the hour at which the
daily high or low prints, and the "High set" and "Low set" columns overlap with that idea. This is
not a reskin of any of them: the accumulator here is cumulative by elapsed session time rather
than a histogram of one timestamp, it is folded only on session close, it is keyed to a
user-supplied session string with mid-session-break handling and a day mask, and it is combined
with final-range-fraction and volatility normalization. No code is borrowed from any published
script.
LIMITATIONS
Requires an intraday chart timeframe.
The sample is whatever history the chart has loaded, which on lower timeframes may be only a few
hundred sessions - check "n" before reading anything into a row.
Results are sensitive to the chart timeframe, because the exact bar on which an extreme prints is
resolution-dependent. Coarser timeframes will place extremes in later buckets than they truly
occurred.
The "Range/unit" column can be based on a smaller sample than the percentage columns, because the
earliest sessions in the loaded history have no completed daily bar to normalize against and are
skipped for that column only.
Sessions spanning a daylight-saving transition can be misattributed by one hour for a single day.
On non-standard chart types - Heikin Ashi, Renko, Kagi, Point and Figure, Range - the highs and
lows are synthetic, so the statistics describe the synthetic series rather than traded prices.
The statistics describe the loaded history only and carry no assumption that the distribution is
stable over time.
Source is open and commented. Indicator

Intraday Price Path Signature - London New York Tokyo WindowsOverview
Intraday Price Path Signature is a time-window price-action study for traders who want to examine how price movement develops inside selected intraday focus periods, including windows commonly monitored around the Tokyo/Asia, London and New York opens.
A conventional session highlighter mainly answers when a regional session is active. This indicator addresses a different question: how was price travel distributed and directed inside the selected window?
Each enabled window is divided into four equal clock-time phases, P1 through P4. The script measures the amount, direction and efficiency of price travel in each phase, classifies the completed sequence, and compares its phase concentration with prior occurrences of the same named window.
The result is a compact price-path signature rather than a broad session background, a set of session levels, or a buy/sell signal. It can be used to research London, New York, Tokyo/Asia or custom focus windows sometimes described by traders as kill zones, without assuming that any time window guarantees a particular outcome.
What makes this different
Most session tools focus on time identification through background shading, open/close markers, session ranges or active-session status. This script focuses on the internal formation of price movement inside a narrower research window.
Its main analytical differences are:
- Four-phase decomposition of every enabled window.
- True-range-style gross price travel that includes gaps between consecutive sampled bars.
- Directional-efficiency filtering so a phase is not called upward or downward merely because it finishes slightly above or below its start.
- A deterministic completed-window classification based on path efficiency, direction alignment, phase concentration and direction changes.
- Independent rolling comparisons for each named window and each matching phase.
- A completed phase strip that states the full P1-P4 sequence directly on the chart.
- A fixed panel that keeps live analytical context away from the candle area.
Core calculation
For each bar inside a focus window, gross bar travel is calculated as:
Gross bar travel = max(high - low, abs(high - previous sampled close), abs(low - previous sampled close))
The first sampled bar uses its own high-low range. This is a bar-based, true-range-style approximation of movement. It includes gaps, but it does not reconstruct the exact tick-by-tick path inside a candle.
The accumulated travel is divided among four equal clock-time phases:
Phase share = phase gross travel / completed-window gross travel
A phase share identifies which quarter of the configured time window contained the greatest portion of measured price travel. It is not a volume measure.
Phase direction is filtered by directional efficiency:
Phase directional efficiency = abs(phase close - phase open) / phase gross travel
When efficiency reaches the configurable threshold, the phase is classified as upward or downward according to its net displacement. When it does not, the phase is classified as rotational. This distinguishes an efficient directional move from a phase that travels extensively but finishes near its starting point.
The completed window also receives a path-efficiency value:
Window path efficiency = abs(window close - window open) / completed-window gross travel
Completed path classifications
A completed window is assigned one descriptive classification. When more than one condition is true, the first matching classification in the following priority order is used:
- Persistent rise or Persistent fall: sufficient window path efficiency and enough phase travel aligned with the completed direction.
- Rotational path: the phase sequence contains the configured number of directional changes and does not qualify as persistent.
- Front-loaded rise or Front-loaded fall: the first two phases contain the configured share of total travel.
- Late acceleration up or Late acceleration down: the final two phases contain the configured share of total travel.
- Phase concentration: one phase contains the configured dominant share of total travel.
- Evenly distributed: the difference between the largest and smallest phase shares remains within the configured tolerance.
- Mixed path: no earlier classification is satisfied.
These labels describe the completed structure under the selected thresholds. They are not forecasts, probabilities or trade recommendations.
Reading the completed phase strip
The default chart annotation is a two-line phase strip for each completed focus window. An example is:
● ASIA P1↑ P2↔ P3↓ P4↑
Front-loaded rise · Peak P2 35.8%
The first line shows the phase sequence:
- P1 through P4 identify the four equal clock-time phases.
- ↑ means the phase completed with sufficient upward directional efficiency.
- ↓ means the phase completed with sufficient downward directional efficiency.
- ↔ means the phase was rotational or did not meet the directional-efficiency threshold.
- · means the phase was not sufficiently observed.
The second line states the completed path classification and identifies the phase containing the largest share of gross price travel. The strip color identifies the configured window. By default, Asia is cyan, London is amber and New York is pink.
Completed strips are anchored to the final bar of their own window and rendered in front of the price chart. Their bodies extend to the left of the anchor so later bars to the right are less likely to pass underneath a historical strip.
The default Auto opposite close placement puts an upward-closing window below its protected price envelope and a downward-closing window above it. Automatic clearance considers the completed-window range, twelve preceding bars, opening and closing gaps, sampled internal gaps, the first bar after completion, local bar range, ATR and a small window-specific lane offset.
This system is designed to reduce candle overlap during normal chart use, including gap conditions. Because labels have a fixed screen-space size while chart scale and zoom remain user-controlled, extreme chart compression can still change the apparent distance between a label and nearby bars. Additional clearance is available in the settings.
Reading the fixed panel
The default bottom-left panel displays only enabled windows and keeps live detail away from the candles.
FOCUS shows the window icon, short code and configured local hours.
STATUS shows whether the window is live, closed or waiting. A live row also shows current completion progress.
PATH identifies the current phase and developing direction sequence while a window is live. After completion, it shows the most recent path classification.
PULSE shows four activity blocks representing the relative gross-price-travel share of P1 through P4. Taller block characters indicate a larger share. PULSE is a price-travel distribution, not volume or order flow.
CTX shows the developing price range during a live window. After completion, it shows the peak phase, its share and, when available, its empirical percentile. A diamond followed by a number is the percentile rank of that peak phase against the same phase of earlier occurrences of the same named window.
Independent historical comparison
Asia P1 is compared only with earlier Asia P1 observations. London P3 is compared only with earlier London P3 observations. New York, London Close and Custom maintain their own independent histories. Data from different named windows or different phase positions is not mixed.
The default rolling baseline contains 24 eligible completed windows and requires at least six prior samples before displaying percentiles. The current completed observation is ranked before it is added to its own history, so it does not inflate its own percentile. Tied values use a mid-rank treatment.
These percentiles are descriptive empirical ranks from the available rolling sample. They are not probabilities of future direction, continuation or reversal.
The following observations are excluded from the rolling baseline:
- A window first encountered after its configured start time because chart history began partway through it.
- A completed window with fewer than the required number of observed phases.
- A window with no measurable gross price travel.
- A window sampled on a chart environment that does not meet the selected timeframe or chart-type requirements.
Default focus windows
Asia Open: 09:00-10:00, Asia/Tokyo, enabled.
London Open: 08:00-10:00, Europe/London, enabled.
New York Open: 09:30-11:00, America/New_York, enabled.
London Close: 15:00-16:30, Europe/London, disabled by default.
Custom Focus: 12:00-13:00, Etc/UTC, disabled by default.
The default day mask is Monday through Friday. Each window has its own IANA timezone, so London and New York follow their selected local daylight-saving rules. These times are configurable research references, not universal exchange, broker or instrument schedules.
Display modes and customization
Phase strip is the publication default. It shows completed phase strips and the fixed panel without broad session shading.
Phase strip + adaptive lens adds a very light live background lens whose hue and transparency respond to the current phase direction and concentration.
Research detail enables optional legacy pulse blocks, block captions and larger research summaries.
Panel only removes bar-anchored chart annotations and leaves the fixed panel.
Users can adjust window names, codes, icons, hours, days, timezones, colors, panel placement, strip clearance, retention limits, analytical thresholds, historical lookback, minimum sample count, visual modes and alerts.
Suggested use
This indicator is intended for intraday research. Five-minute charts generally provide the clearest balance between phase detail and readability. The default maximum timeframe is 15 minutes and can be changed by the user.
Possible research questions include:
- Did most movement occur early or late in the selected window?
- Was the path persistent, rotational, evenly distributed or dominated by one phase?
- Did the largest phase have an ordinary or unusual share relative to recent matching windows?
- Do different instruments show different path signatures around the same local open?
- Does a custom focus period behave differently from the standard Asia, London or New York defaults?
The study can be applied to liquid intraday markets where time-of-day behavior is relevant, including FX, index products, futures, equities and cryptocurrencies. Users should adapt the configured times to the instrument and data feed being studied.
Alerts
Optional informational alerts are available for focus-window start, focus-window completion and unusually high phase concentration relative to the selected historical percentile threshold. Alerts describe an observed state. They are not entry or exit signals.
Limitations and data behavior
- The calculation uses chart bars, not tick data, and cannot reconstruct the exact intrabar route taken by price.
- PULSE measures price travel, not traded volume, liquidity or order flow.
- Historical percentiles depend on the amount and quality of chart history currently available.
- Missing bars, illiquid periods and data-feed differences can change phase sampling.
- Holidays, early closes, exchange-specific breaks and broker-specific schedules are not detected automatically.
- Live panel values develop as new bars arrive and are not final until the window completes.
- Completed phase strips are created from information available when the window ends. The script does not use future bars or lookahead data.
- No higher-timeframe price request is used; calculations are based on the current chart bars and configured local times.
- A standard chart type is required by default. Transformed chart types can alter measured paths and are therefore disabled unless the user overrides the requirement.
- Classification results depend on the selected thresholds. Changing inputs recalculates historical results under the new configuration.
- Automatic label clearance reduces overlap but cannot control every possible screen layout, zoom level or manual chart-scale compression.
What this indicator does not do
- It does not generate buy or sell signals.
- It does not provide entries, exits, targets, stops or position sizing.
- It does not predict the next phase or the next session.
- It does not claim a win rate, accuracy rate or profitability improvement.
- It is not a strategy or a backtest system.
- It is not financial advice.
Use the output as descriptive context alongside independent analysis and risk management. Indicator

Previous Day / Week / Month Highs & LowsPrevious Day / Week / Month Highs & Lows.
A precision multi-period key-level tool that automatically draws previous-period highs and lows from the Daily, Weekly and Monthly timeframes — plus optional midpoints, an optional grid of psychological round-number levels around price, and a compact right-side info table with distance-to-price for every visible level. Built for intraday, scalping and swing traders who want a clean, opinionated read of the reference levels that institutional desks actually watch.
How it works:
The indicator pulls the previous completed candle from D, W and M via request.security and anchors each level line at the exact open time of that source bar — so a Weekly line starts on last week's Monday, not on the current week's first bar. Lines stay live and extend to the right through the chart's future offset area, so the reference points from yesterday, last week and last month are always visible on the current bar. The optional round-number grid re-anchors to price on every bar, so the closest N round levels above and below are always in view.
What it calculates:
- Previous Day High / Low + optional Midpoint (PDH, PDL, PD MID)
- Previous Week High / Low + optional Midpoint (PWH, PWL, PW MID)
- Previous Month High / Low + optional Midpoint (PMH, PML, PM MID)
- Psychological round-number grid centered on the current price, with adjustable step and count
- Live distance from the current close to every enabled level (in %)
Key features:
- Per-period visibility toggles: enable exactly the levels you use, hide everything else
- Configurable history depth — keep 1 to 20 previous daily / 1 to 12 weekly / 1 to 6 monthly sessions on the chart
- Auto-hide only when the chart timeframe strictly exceeds the level period: Daily levels stay on 1D, Weekly stay on 1W, Monthly never hide
- Lines anchored at the source bar (open time of the previous D/W/M candle), not at the first bar of the new period — you see the actual range the level came from
- Label anti-collision system: each label sits on its own horizontal slot in the right-offset area, with configurable Label Spacing — PDH / PWH / PMH texts never overlap even when their prices are close together
- Compact right-side info table with three columns (level name, price, +/- % distance to close), positioning across 6 chart corners, three text sizes, adjustable background transparency
- Three line styles (Solid / Dashed / Dotted) applied independently to main lines, midpoints and round levels
- Adjustable line width, label size and label visibility for a clean or a dense look
- Line extension modes: Right (default), Both, or None
- Fully customizable color per period — defaults follow a heat-scale palette (Daily = yellow, Weekly = orange, Monthly = red — nearest to furthest horizon)
- Round-number step tuned per asset class (BTC / ETH / FX / index / equities)
- Built-in alerts: PDH / PDL touched, same for weekly and monthly
- Auto-adapts to any instrument and any chart timeframe
Who it's for:
Intraday, scalping and swing traders — SMC / ICT, price-action, order-flow, or classical technicals — who want the exact levels institutional desks pin their orders around, cleanly drawn, without the visual noise of a dozen overlapping tools. Indicator

Order Block Mitigation Strategy [algo_aakash]Overview
Order Block Mitigation Strategy identifies bullish and bearish order blocks from confirmed structure breaks and tracks the exact degree to which each zone has been consumed by subsequent price action. Rather than treating every order block as equally tradable, the script continuously measures how deep into a zone price has traveled and only signals reactions occurring at zones that are still statistically fresh, while allowing the trader to see heavily used zones visibly fade on the chart.
Problem Statement
Most order block tools draw a zone once and leave it static until price closes through it entirely. This binary treatment ignores a critical distinction: a zone that has been wicked into by 10% of its range carries very different odds than one that has already been penetrated 70% of the way through. Traders using static zones frequently take reaction entries at institutional levels that have already been substantially absorbed, with no way to quantify how much of the zone's liquidity remains untouched.
Methodology
Structure is established using confirmed swing pivots. A Break of Structure is only confirmed on a bar close that clears the swing level by a minimum ATR-based buffer, filtering marginal breaks. Once a break is confirmed, the script scans backward from the broken pivot for the last opposite-colored candle within a fixed window, since this candle (not the pivot bar itself) is the true origin of the displacement leg. That candle's high-low range becomes the order block, provided its range also exceeds a minimum ATR multiple.
From the moment a zone is created, the script tracks the deepest price extreme that has traded into it on every confirmed bar. This extreme can only advance in the direction of consumption, never retreat, and from it a Mitigation Percentage is calculated as the proportion of the zone's height that has been traded through. This percentage is classified into one of four bands (Fresh, Light, Moderate, Heavy) using user-defined thresholds, and a fifth state (Invalidated) removes the zone once the percentage crosses a final threshold.
The Mitigation Percentage also drives the zone's fill transparency directly, on a continuous interpolation between a fresh-zone opacity and a near-invalid opacity. A zone at 10% mitigation renders visibly more solid than one at 55%, and the fade is smooth rather than stepped between discrete color states. This means zone health can be read from the chart at a glance without a label or panel.
Entry signals are only evaluated at zones whose live Mitigation Percentage has not yet exceeded a separate, user-defined entry cap. When price trades into a qualifying zone, the closed candle is checked against a selectable rejection pattern (a dominant wick, an engulfing candle, a strong directional close, or a combination of wick and close). Optional filters can additionally require the candle to close beyond the zone's midpoint, require the candle's range to exceed an ATR multiple, and require volume above its rolling average. Each signal is issued once per zone's lifecycle.
Every signal carries a composite confidence score built from five equally weighted, disclosed factors: the ATR-normalized strength of the structure break that created the zone, the ATR-normalized size of the origin candle, the zone's freshness at the moment of the signal (the inverse of its mitigation percentage), the expansion of ATR since the zone was formed, and the ATR-normalized distance price traveled from the origin candle to the structure break. The score is displayed next to the signal marker.
Signal Workflow
Step 1: A swing high or low is confirmed once the required number of bars exist on both sides.
Step 2: A close beyond that swing level by the minimum ATR buffer confirms a Break of Structure.
Step 3: The script scans backward from the broken pivot for the last opposite-colored candle and builds the order block from its full range, provided the candle passes the minimum impulse size filter.
Step 4: On every subsequent confirmed bar, the zone's deepest intrusion is ratcheted forward and the Mitigation Percentage is recalculated, driving both the quality band and the continuous fade.
Step 5: When price re-enters a zone below the entry mitigation cap and a rejection pattern confirms on the closed candle, along with any enabled midpoint, ATR-expansion, and volume filters, a scored entry signal is generated.
Why This Indicator Is Different
Zone consumption is tracked as a continuous, monotonically increasing percentage rather than a binary tested or mitigated flag, so the trader always knows how much of a zone's original range remains untouched.
Fill transparency is interpolated in real time directly from that percentage, making zone health visible without any label, table, or dashboard.
The order block's origin candle is located by scanning back from the structure break for the true opposite-colored displacement candle, rather than defaulting to the pivot candle itself.
Entry signals are gated by a separate, independently configurable mitigation cap, so a trader can permit signals only at zones that remain within a defined freshness range.
Every signal discloses a five-factor confidence score built from break displacement, origin candle size, live freshness, ATR expansion since formation, and travel distance, so the score can be audited rather than trusted blindly.
Inputs
Detection
Swing Pivot Length
ATR Length
Min BOS Size (x ATR)
Min Impulse Candle Size (x ATR)
Zones
Maximum Zones (per side)
Zone Extension
Fixed Extension Length
Show Zone Midline
Dynamic Opacity by Mitigation %
Mitigation
Fresh Threshold %
Partial Threshold %
Heavy Threshold %
Invalidate Threshold %
Entries
Enable Entry Signals
Max Mitigation % Allowed for Entry
Rejection Pattern
Require Close Beyond Zone Midpoint
Require ATR Expansion
Require Volume Confirmation
High Confidence Threshold %
Appearance
Bullish Zone Color
Bearish Zone Color
Fresh Zone Transparency
Near-Invalid Zone Transparency
Signal Marker Size
Alerts
Enable All Alerts
Alert: New Order Block
Alert: Mitigation Milestones
Alert: Entry Signals
Alerts
Alerts are available for:
New Bullish Order Block formed
New Bearish Order Block formed
Bullish Order Block Partial Mitigation
Bearish Order Block Partial Mitigation
Bullish Order Block Heavy Mitigation
Bearish Order Block Heavy Mitigation
Bullish Order Block Invalidated
Bearish Order Block Invalidated
Bullish Rejection Entry
Bearish Rejection Entry
Premium Entry (High Confidence)
Practical Usage
Lower the Max Mitigation % Allowed for Entry to restrict signals to only the freshest zones, or raise it to also capture reaction trades at moderately used levels.
Watch the continuous fade of a zone as a visual proxy for its remaining reliability without needing to check a percentage value directly.
Use the disclosed confidence score to compare two simultaneous signals rather than treating every marker as equally weighted.
Switch Zone Extension to Until New BOS on trending instruments to stop a zone from extending once the opposing side of structure has broken.
Combine the ATR expansion and volume filters on the Entries tab when trading instruments where displacement quality varies significantly by session.
Limitations
Swing pivot confirmation introduces a lag equal to the pivot length setting, meaning a structure break can only be evaluated after that many bars have closed beyond the pivot.
The origin candle scan is bounded by a fixed lookback window, so on unusually extended displacement legs the true origin candle may fall outside that window and no zone will be created.
The confidence score is a disclosed, equally weighted composite of five factors and is not a probability of trade success.
Order blocks and their mitigation state are a price-action framework, not a standalone trading system, and should be evaluated alongside broader market context.
Notes
All detection, structure break, mitigation state, and entry logic execute strictly on confirmed bars, so no drawing, classification, or alert changes retroactively once printed.
Zone counts per direction are capped, with the oldest zone removed first once the limit is reached, keeping drawing object usage bounded regardless of session length.
alert() calls are used for every event category so a single "Any alert() function call" condition in the PulseWire alert dialog captures all messages from this script.
Indicator

EU & US Open Levels (session trading)## Overview
The **EU & US Open Levels (Session Trading)** indicator is designed for intraday and intraweekly session traders (SMC, ICT, and Price Action users) who rely on key session opening prices to determine market bias, session expansion, and institutional liquidity pools.
By plotting the exact opening price of both the European (EU) and United States (US) sessions and dynamically shading the expansion zone relative to price action, this tool simplifies session context at a glance.
---
## Key Features
- **Session Open Benchmarks:** Automatically plots static reference lines for both EU Open and US Open hours.
- **Dynamic Session Shading:**
- **EU Phase (Blue Zone):** Colors the area between the EU Open price and current price action from the start of the EU session until the US session opens.
- **US Phase (Red Zone):** Colors the expansion zone from the US session open through the remainder of the trading day.
- **Fully Customizable Inputs:** Users can easily adjust session open hours (in UTC) and visual preferences (colors and transparency) via the indicator settings.
---
## How to Use & Trading Applications
### 1. Daily Bias & Valuation
The opening price of a session acts as a benchmark anchor:
- **Above Session Open:** Price is considered at a *Premium* (potential sell/short territory in a bearish environment).
- **Below Session Open:** Price is considered at a *Discount* (potential buy/long territory in a bullish environment).
### 2. Session Expansion & Volatility Tracking
The vertical depth of the shaded zones provides an immediate visual measurement of session expansion:
- **Narrow Zones:** Indicate low volatility or tight consolidation, often preceding an explosive breakout in the following session.
- **Deep Zones:** Highlight strong, directional trending momentum within that specific session.
### 3. Session Sweep & Liquidity Targets
The EU Open level frequently acts as a liquidity magnet during the US session. Traders can look for rejections, re-tests, or liquidity sweeps around the EU Open price when framing high-probability intraday trade setups.
---
## Indicator Inputs
- **EU Session Open Hour (UTC):** Set the specific hour (0–23 UTC) for the European open (Default: `2`).
- **US Session Open Hour (UTC):** Set the specific hour (0–23 UTC) for the US open (Default: `8`).
- **EU background color:** Customize the background fill color and transparency for the EU session phase.
- **US background color** Customize the background fill color and transparency for the US session phase.
---
*Note: This indicator is designed for intraday timeframes (e.g., 1m, 5m, 15m, 1h) to provide precise visual context during active session hours.* Indicator

Indicator

Market Structure + Swing Levels [AFD]Market Structure + Swing Levels organizes confirmed swing highs and
swing lows into configurable price Zones. Its default ATR mode sizes each
individual Zone from volatility at the Swing origin Bar; Tick, Point, and
Currency modes provide fixed-distance alternatives. It then describes
confirmed continuation Breaks, direction-changing Shifts, and the initial
direction assignment without trade instructions or predictive claims.
## Publication and license
- Publication type: Open-source.
- Pine version: 6.
- License: Mozilla Public License 2.0 (MPL 2.0).
- The open-source publication setting, this description, and the MPL 2.0
notice in the Pine source header must remain aligned.
The source is available for inspection and modification under MPL 2.0. This
summary identifies the applicable license; the notice in the Pine source
header remains the authoritative license reference.
## Capabilities
- Confirms Swing Highs and Swing Lows using the same selected strength on both
sides of the candidate Bar.
- Shows classifications by default: `H`, `HH`, `EH`, and `LH` for highs, and
`L`, `HL`, `EL`, and `LL` for lows.
- Builds ATR-, Tick-, Point-, or Currency-width Zones around confirmed Swings.
- Merges transitively overlapping same-side Zones into exact-union clusters.
- Evaluates Structure on confirmed Bars using selectable Close or Body
clearance.
- Lets Zone breaks use that Structure rule or an inclusive High/Low Touch of
the far edge.
- Retains broken Zones by default with configurable memory and color.
- Reports current direction, latest Structure event, active Zones, and
nearest-Zone distance in the Dashboard.
- Provides four fixed Structure alert conditions plus an optional combined
dynamic alert that can include Zone breaks.
## How to use it
1. Select a Preset Profile or choose Custom and set Swing Strength. The default
Swing profile uses a strength of 7 Bars on each side.
2. Choose the Zone Width Mode and width appropriate for the chart.
3. Choose how Structure confirms a clearance. Close is the default; Body
requires both the Open and Close to clear the reference.
4. Zone Break Basis follows the Structure rule by default. Touch (High/Low)
instead breaks a Zone when the wick reaches or passes its far edge.
5. Swing High and Swing Low Zone labels start at the oldest Swing Origin
represented by each Zone. Select Right Edge when current-Bar alignment is
preferred.
6. Swing High and Swing Low text have separate color controls. Both default to
white and also color the matching Swing classification labels. Zone Age,
Break, Shift, and Dashboard text also start white.
7. The Dashboard starts with all five rows visible. Disable nearest-Zone
distance when only Direction, Last Event, and Zone counts are needed.
8. Show Broken Zones starts on with a 20-Bar memory. Turn it off for an
active-Zones-only chart.
9. Zone Age starts off. When enabled, its unit starts in Days.
## How to interpret Zone cluster counts
The `×N` suffix is a cluster membership count. `Swing High ×3` means three
confirmed Swing High Zones are represented by that merged cluster.
It does not mean price tested one exact price three times. Zones merge when
their price bands overlap or meet at an edge. Merging is transitive, so one
connected Zone can bridge two other Zones even when those outer Zones do not
directly overlap each other. The displayed cluster preserves the full union of
those connected bands, and `×N` reports how many confirmed Swing Zones
contributed to it.
## Broken Zones
Show Broken Zones is the explicit on/off control:
- On by default — the Zone freezes at its break-confirmation Bar, changes to
Broken Zone Color, and remains visible for the selected Broken Zone Memory.
- Off — a Zone is deleted as soon as it breaks.
- Up to 20 broken Zones are retained. If more accumulate before their memory
expires, the oldest retained Zone is removed first.
This display choice does not change how Zone breaks are detected and does not
change alert behavior.
## Limitations and evidence
- Swings require the selected number of Bars on both sides, so confirmation
occurs after the origin Bar.
- ATR Zone width uses volatility from the Swing origin Bar.
- Currency-width mode creates no Zone when the symbol does not provide a valid
Point Value.
- Active Zones are capped at 40 per side. When the cap is reached, the oldest
active Zone on that side is removed first.
- Hours and Days shown for Zone Age are timeframe-based approximations and do
not correct for session gaps.
- Cluster membership describes connected Zone bands, not repeated reactions at
one exact price.
- Repository checks pass for the working source. PulseWire compilation and
runtime verification of the latest working source have not yet been
recorded.
- This indicator is educational chart context and does not provide trade
instructions. Indicator

Session Runway & Volatility Expansion Matrix🛫 Session Runway & Volatility Expansion Matrix — runway isn't one number. It's two, and they fail for different reasons.
Most session/exhaustion tools give you a single verdict: room left, or not. But a trade can run out of space (price already covered its expected range) or run out of time (the session's ending) — and those call for opposite responses. One says wait, the other says stand down. This tool splits them so you know which one you're looking at.
WHAT'S UNDER THE HOOD
📏 Average Session Range engine — one continuous London-open→NY-close envelope per day (single anchor, DST-safe via timezone-aware session windows). Realized range from the last N valid sessions feeds a rolling average; a completeness gate throws out holiday/half-day pollution before it can skew the number.
📐 Space axis — Ceiling = sessionLow + m·ASR, Floor = sessionHigh − m·ASR. Each edge freezes the instant a confirmed close breaks it, so "+N beyond" measures real travel past the edge, not drift from the opposite extreme still extending.
⏳ Time axis — not a straight-line clock. Session range accrues early (London/NY opens), so achievable distance = 1 − elapsed^p: late-session minutes buy less runway than their share of the clock implies. A structural gate also suppresses false time-outs in the two windows where a fresh range burst is still ahead of price (pre-NY, and NY's own fill-window) — this is about where orders fill, not a forecast.
📊 The 2×2 verdict
🟩 CLEAR — SPACE ok + TIME ok → room in both; green light to look for an entry on your system
🟨 TIME LOW — SPACE ok + TIME running out
🟨 EXHAUSTED — range spent + TIME still ok
🟥 NO RUNWAY — both gone; a fresh trade likely can't reach target
🔁 Regime split — directional efficiency (net session displacement ÷ realized range, signed) separates ROTATION days, where the ASR-exhaustion read holds, from EXPANSION (trend) days, where a broken edge stops being a danger zone and flips into a trend-continuation reference instead. The 2×2 stands down on expansion days and a separate flag takes over, so the tool never fights a trend day with a rotation-day read.
🧭 H4 direction gate (optional, non-repainting) — decides which side of the matrix is live.
WHY THIS IS ONE TOOL, NOT FOUR
Space, time, direction and regime aren't independent in practice — a space-based verdict on a trend day is backwards, and a time-axis read that ignores which side is live tells you nothing. Fusing them is the point: the matrix exists to resolve how these four interact into a single session-native verdict, which is exactly the reconciliation you'd otherwise have to do by hand, every session, on every chart.
🔔 Alerts — Runway Clear and Low Runway (rotation-gated, so they never fire against a trend day), plus a separate Expansion Day flag for the regime flip. All confirmed-bar. Payload carries runway in pips, % ASR consumed, and % session elapsed.
📐 Built for FX majors and crosses that trade the London and New York sessions — EURUSD, GBPUSD, USDJPY, AUDUSD, NZDUSD, USDCAD, USDCHF, EURGBP, EURJPY, GBPJPY and similar. JPY pip sizing is automatic. It also runs on metals (e.g. XAUUSD) and indices/futures, which read in ticks — set the Pip size override to your instrument's real pip/tick for correct numbers, and note that in Fixed-pips target mode this override sets the actual target distance, not just the displayed numbers, so metals/index users on Fixed mode should set it. Designed for the M5 to H1 timeframes.
Indicators that pass the "still useful after it's been on your chart a while" test — every read maps to a decision, no decoration.
— SlatinaTrades Indicator

Previous Day High Low Key Levels, Reach Stats & Alerts [LunqFX]The previous day high and previous day low — PDH and PDL — are the first two levels most intraday traders mark on the chart, together with the previous week high and low. They are not hand-drawn support and resistance: they are objective facts of what the market did, which is exactly why price keeps reacting to them. This indicator plots those key levels automatically on any symbol and any timeframe, shades the previous day's range, tracks which levels are still untested, and answers the question no other levels tool answers — how often price actually reaches them on the instrument you are trading.
❶ THE LEVELS IT PLOTS
Every level is taken straight from the instrument's own higher-timeframe candles, so nothing needs configuring and it works the same on forex, gold, indices, crypto and stocks.
PDH and PDL — previous day high and low. The core intraday support and resistance levels.
PWH and PWL — previous week high and low. Higher-timeframe context for swing trading.
PMH and PML — previous month high and low, optional, for the bigger picture.
Each level is labelled with its name and exact price, and each timeframe gets its own label column on the right, so levels sitting at almost the same price never overlap.
❷ UNTESTED vs TESTED — WHICH LEVEL STILL MATTERS
This is the difference between a level that will move price and one that already has.
UNTESTED — price has not returned to it in the current period. It is drawn bright, solid and glowing. Untested levels are the strongest magnets, because the orders resting there have not been filled yet.
TESTED ✕ — price has already traded through it. The line turns dashed and dim, and the label gets a ✕. Its pull is spent, so you stop treating it as a fresh level.
The dashboard also names the NEAREST MAGNET: the closest untested level above or below price, which is the most likely place price travels to next.
❸ REACH STATS — WHAT MAKES THIS DIFFERENT
Most key-level indicators simply draw lines and stop there. This one measures how your symbol actually behaves, over the last 100 completed days:
PDH reached — the share of days on which price traded all the way up to the previous day's high.
PDL reached — the same for the previous day's low.
Break rate — of the days that did reach the level, how often price closed through it instead of rejecting from it.
That turns a line into a decision. If the previous day high is reached on 68% of days but broken on only 27% of them, a rejection is far more likely than a breakout — so you plan a fade, not a chase. On another symbol the numbers flip, and so does the plan.
❹ HOW TO TRADE IT
1 — Read the DAY RANGE state. INSIDE RANGE means balance and rotation: fade the edges back toward the middle. EXPANSION means price has left yesterday's range and the day is trending: trade continuation, not reversals.
2 — Pick the target. The NEAREST MAGNET is the closest untested level — use it as the objective for a trade you are already in.
3 — Check the stats before you commit. High reach rate with a low break rate favours fading the level; a high break rate favours trading the breakout through it.
4 — Trade the reaction. Wait for price to arrive at an untested PDH, PDL, PWH or PWL, then enter on the rejection or on the break, using the level itself as your invalidation.
5 — Look for confluence. Weekly and monthly levels outrank daily ones, and when a daily level sits right on top of a weekly level, that is the strongest zone on the chart.
❺ HOW IT WORKS
Each level is read from the previous completed higher-timeframe candle, using the offset pattern that keeps higher-timeframe data fixed, so a level never changes after it is drawn. A level is flagged tested the moment price trades through it, and resets when the new period begins. The reach statistics are calculated only from completed daily candles: the share of days whose high reached the prior day's high, whose low reached the prior day's low, and — as a conditional rate — how many of those days closed beyond the level. Nothing repaints and nothing looks into the future.
SETTINGS — turn day, week and month levels on or off, hide tested levels, shade the previous day and week range with adjustable transparency, control level width, right extension and line thickness per timeframe, switch the custom candles off, and place the dashboard strip where you want it.
ALERTS — previous day high reached, previous day low reached. Both fire on closed bars only.
This indicator is an educational market-analysis tool, not financial advice. The reach statistics describe past behaviour on the current symbol and do not guarantee future results. Always confirm with your own analysis and manage your risk.
Indicator

DTC Intra - Intraday Momentum and Context for Day TradersWhat it does
DTC Intra+ is an intraday momentum tool for day traders working the regular session. Its job is to surface momentum days early and keep the day's context in view while a move develops. The core is a set of readings that judge whether today is a real momentum day — a strict gap-and-hold flag, relative volume, an unusual-move profile, and time-of-session structure — supported by the moving averages, volume-weighted average price and a multi-market minicharts panel you use to trade once a momentum day is confirmed.
The parts that are specific to this tool
- Strong Start (gap and hold). Instead of a raw gap-up alert, this flags a day only when the stock gaps up and then holds the gap: the open is above the prior close and the day's low never breaks back below that prior close by more than a tolerance you set. A gap that holds behaves very differently from one that fills, so this is a stricter and more actionable read than a plain gap alert.
- Burst ranker. Counts how many large single-day moves (up 5%, 10% and 17% or more) a stock has produced over a chosen lookback and summarizes the result as a Great / Good / Low read on a daily chart. This describes the stock's momentum regime — whether it is the kind of name that produces the explosive days an intraday momentum trader is looking for — rather than just its state today.
- Multi-market minicharts panel. Up to three mini candlestick panels of any symbols and timeframes you choose are drawn on the chart, so you can watch an index, a sector benchmark or a related market without leaving your main chart. Each mini panel is rescaled to fit its own compact frame, so a very different price scale never distorts your main chart's axis, and each can show its own moving average and volume-weighted average price. The panel is off by default; turn it on with its master switch. If you enable it on a higher timeframe than a panel's own setting (for example viewing a Daily chart with a panel set to 5 minutes), the panel automatically falls back to the chart's timeframe instead of loading excessive intrabar data.
Credit: this panel is adapted from the open-source "Minicharts Multi Market" engine by PulseWire user helman13 (Herman Trading), used under its Mozilla Public License 2.0. Several markets side by side with trend and value context on each — which is what an intraday trader watching related instruments needs. Credit for the minicharts engine goes to helman13; the rest of the tool is original to DTC Intra.
Momentum and context readings
A single, repositionable table gathers the numbers that tell you whether today matters:
- Relative volume — today's volume against its historical average.
- Daily average range percentage — a quick read on the stock's typical daily travel.
- The burst ranking and Strong Start flag described above.
- Sector/industry lookup and a session-in-progress readout.
Session structure and volume behavior
- Intraday session boxes (morning, mid-day and afternoon by default, matched to NSE trading hours) with fully editable time ranges, timezone and colors, so you can see at a glance which part of the session a move happened in — participation and reliability differ sharply between the open, the lunch lull and the close.
- Volume-based candle coloring that flags candles trading at 150% and 200%-plus of a configurable average volume, split by direction, so you can see whether a move has participation behind it without a separate pane.
- Daily divider labels to separate trading days on an intraday chart.
Trading tools (used once a momentum day is confirmed)
- Four configurable moving averages (10/20/50/200, choice of simple, exponential, weighted or Hull) and a session volume-weighted average price for intraday trend and mean-reversion reference.
How to use it
- Add it to an intraday chart.
- At the open, watch the Strong Start flag and the relative-volume reading: a held gap on above-average volume early in the session is the setup this tool is built to surface, and the burst ranking tells you whether the stock is the type that follows through.
- Use the session boxes to set expectations for the current window, and the volume candle colors to confirm participation before acting.
- Use the moving averages and volume-weighted average price to time entries and stops, and enable the multi-market minicharts panel to keep an index or related market in view for confirmation.
- Every block has its own on/off toggle, so you can reduce the tool to only the parts you use.
Notes
- Volume-based readings depend on the symbol having reliable intraday volume and are weaker where that data is poor.
- Session times default to NSE market hours in the Asia/Kolkata timezone and are meant to be edited to your own market and location.
- Tables and colors adapt to a light or dark chart automatically.
- Open source. Every input has a plain-language label and tooltip, so you do not need to read Pine to use it.
- For educational and informational purposes only. Not financial advice.
Indicator
