Indicator

Futures Session TWAP + Bands - CFD ChartsAn anchored TWAP (time-weighted average price) with 1/2/3-sigma bands that
knows when the real market is actually open — built for CFD and cash-index
charts whose 24h quotes distort classic session averages.
What makes it original: a TWAP weighs every bar equally, so on a 24h CFD chart
the thin overnight bars count as much as the liquid session and drag the line
away from the number execution desks reference. This indicator pulls the
volume of the auto-detected futures contract and uses it as a SESSION GATE:
only bars where the future actually traded are counted. It also plots an
optional futures-volume VWAP on the same anchor, so the TWAP-vs-VWAP spread
becomes readable at a glance — that spread is the point of the pair.
How it works:
- TWAP = equal-weight average of the chart's price (hlc3 by default) over the
anchor period (session/week/month); bands from the time-weighted variance.
- Session gate (optional, on by default): bars without futures volume are
skipped, so the TWAP covers the real trading session. Only session/volume
information is borrowed from the future — the price stays this chart's
price, so the futures-vs-cash basis cannot distort the level.
- The futures contract is auto-detected from the chart symbol (DAX/GER40 ->
FDAX, NAS100 -> NQ, US30 -> YM, UK100 -> Z, US500 -> ES), or set manually.
- Optional "Daily anchor = futures trading day" resets at the futures day
change instead of CFD broker midnight, matching the sibling VWAP tool.
- A status label shows the active source, the gate state and the current
VWAP-minus-TWAP spread.
How to use it: the TWAP is the fair time-average of the session — the line an
evenly-sliced execution would achieve. Compare it with the futures-volume
VWAP: VWAP above TWAP means volume was concentrated above the time average
(participants paid up), VWAP below TWAP means volume traded below it. The two
lines glued together signals balanced rotation; a widening spread marks
one-sided participation. The 2/3-sigma bands frame statistically stretched
zones relative to the session mean. Check the status label once after loading
to confirm the futures feed is active.
*This script is part of a consistent set of open-source session, range and
volume tools — the companions are on my profile.* Indicator

ICT Everything Pro @SafarTradesICT Everything Pro
ICT Everything Pro consolidates multiple ICT time-based references into a single configurable indicator, allowing traders to monitor sessions, opening prices, key time markers, and higher timeframe reference levels without cluttering the chart or switching between multiple scripts.
Designed for intraday traders, the indicator centralizes the market timing concepts commonly used within the ICT methodology while providing extensive customization to match individual workflows.
Sessions
Display and customize the major trading sessions including Asia, London, AM, PM, London Close, and New York Lunch. Sessions can be displayed individually, highlighted using different styles, and limited to the current day or current week depending on your workflow.
CBDR, Asia & FLOUT
Visualize ICT session ranges including CBDR, Asia, and FLOUT. Each range supports independent visibility, colors, labels, and session definitions.
Time Markers
Display important ICT reference times using customizable vertical markers, including:
Midnight
London Open
New York Open
Equities Open
Each marker supports independent color, style, and width settings.
Opening Price Levels
Project important opening prices directly onto the chart, including:
Midnight Open
New York Open
Equities Open
Afternoon Open
RTH Open
Daily 50% Level
Each level supports customizable extensions, labels, colors, styles, and visibility.
Higher Timeframe Opening Levels
Optionally display Weekly and Monthly opening prices to maintain higher timeframe context while executing on lower timeframes.
Labels
Display day-of-week labels and a customizable chart label to improve chart organization and quickly identify trading sessions.
Customization
Every module can be configured independently, including:
Timezone selection
Session visibility
Session styles
Opening price extensions
Vertical line styling
Colors and labels
Historical display options
Higher timeframe opening levels
Intended Use
ICT Everything Pro is designed for traders who want a centralized ICT workspace without relying on multiple individual indicators. By combining session visualization, opening prices, higher timeframe references, and key time markers into a single configurable tool, it provides a cleaner and more efficient environment for market analysis and execution. Indicator

Overnight Range & Sessions - Multi-IndexDraws the overnight range (ONR) of the instrument's own overnight session —
not a generic fixed window — plus EU/US/Asia session boxes and the previous
day's cash close as a gap reference.
What makes it original: generic session tools apply one fixed overnight
window to everything. This one carries per-instrument overnight definitions
(indices, metals, oil, forex), supports fragmented quiet-phase sessions for
24h markets, detects US/EU DST shifts automatically from the Berlin-New York
time difference, and captures the cash close timeframe-independently so the
gap reference works on any chart resolution.
How it works:
- The overnight window is auto-selected per instrument (DAX, FTSE, US indices,
Russell, gold, silver, copper, oil, Nikkei, HK, forex) with a manual
override and a custom session input.
- Commodities/forex can use fragmented sessions: several small quiet-phase
boxes instead of one large overnight range.
- US/EU daylight-saving shifts are detected automatically from the
Berlin-New York time difference (manual override available).
- An info table shows the detected index, session window and mode; the
previous day cash close is drawn as a line for gap-up/gap-down context.
How to use it: before the cash open, read the overnight high/low as the first
breakout frame of the day — a cash-session break out of the ONR sets the
directional tone, while repeated rejections at the ONR edges frame fade
setups back into the range. Combine with the previous cash close line for gap
context (open above both ONR high and prior close is a very different day
than an open inside the range), and use the session boxes to see which region
built the current move.
Indicator

The Z impact Market Sessions (Auto GMT)The Z Impact Market Sessions (Auto GMT)
OVERVIEW
This indicator highlights the four major Forex trading sessions —
London, New York, Tokyo and Sydney — directly on the chart as colored
boxes. Each box tracks the high and low reached during that session, so
you can see each session's range as it forms and where price sits
relative to it.
WHAT MAKES IT PRACTICAL
The main focus is a single GMT offset input. Instead of editing four
separate session time ranges by hand every time your broker's server
time or daylight saving changes, you adjust one value and all four
sessions shift together. Session times are defined internally on a fixed
base and recalculated from that one offset, including correct handling of
sessions that cross midnight (such as Tokyo and Sydney).
HOW IT WORKS
- Each session has a fixed base open/close time. A single offset input
shifts all of them, with hours wrapping correctly across the 0-24
boundary.
- A box is opened when a session starts and is extended bar by bar until
the session ends, continuously updating its high and low.
- A label marks each session by name, centered over its box.
- Sessions that span midnight are detected with an OR-based time check so
the box stays continuous.
INPUTS
- GMT offset: one value to align all sessions to your chart/broker time.
- Show toggles for London, New York, Tokyo and Sydney.
- A color per session and a background transparency control.
HOW TO USE
- If the sessions do not line up with your chart, adjust the GMT offset
until London (or any session you can verify) sits where you expect.
- Use the session boxes to see range highs and lows, session overlaps,
and where the current price is within the active session.
- Sydney is off by default; enable it if you trade that session.
NOTES
- Times are based on standard session hours; during daylight saving
transitions you may need to adjust the offset by half or one hour.
- This is a visual session tool. It does not generate buy or sell
signals. Indicator

True Order Blocks & Liquidity LevelsTrue Order Blocks & Liquidity Levels — a comprehensive price action toolkit for market structure analysis, liquidity mapping, and institutional zone detection across any instrument and timeframe.
The logic behind order blocks, imbalances, and internal pullbacks is built in strict accordance with the inside bar methodology — one of the most precise approaches to identifying institutional points of interest. Every module accounts for whether a bar is an inside bar, which significantly improves signal quality and eliminates false zones that commonly appear with traditional approaches.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MODULES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ Internal Pullbacks
Displays market structure as lines connecting sequential pivot highs and lows. Inside bars are ignored during structure building, keeping pullback lines clean and noise-free. The last open line redraws in real time as price develops.
Adjustable number of visible lines
Color, style (solid / dashed / dotted) and width customization
▸ Internal Liquidity
Horizontal lines automatically placed at each confirmed pivot high and low. A line persists until price crosses it — at that moment the line is removed and an alert fires. These levels mark clusters of stop orders and serve as potential targets for liquidity sweeps.
Independent limit on the number of visible levels
Color and style customization
Alert on level breach
▸ Imbalance (FVG)
Fair Value Gap detector built on three consecutive non-inside bars. The algorithm steps over inside bars when searching for the FVG — this means the gap can span more than 3 candles visually if inside bars appear in between, which is intentional and produces cleaner zones. Open-price gaps are handled by clipping FVG boundaries to the body of the middle candle.
Separate colors for bullish and bearish FVG zones
Maximum number of displayed zones
Midline drawn inside each zone for easier reference
▸ Order Blocks
Institutional interest zones formed by a strict algorithm: an order block is drawn only when the bar preceding a FVG performed a liquidity sweep — meaning it broke the high or low of the prior significant pivot. The block is placed on the candle immediately preceding the impulsive move. If an absorption candle stands between the OB candidate and the FVG, the candidate is reset — preventing false blocks from forming on overly aggressive moves.
Automatic mitigation tracking: when price touches the zone, the block changes to a "mitigated" color
Option to hide mitigated blocks entirely
Separate colors for bullish, bearish, and mitigated blocks
Adjustable history depth
Alerts on new block formation and on mitigation
▸ Inside Bars
Highlights bars that fit entirely within the range of the previous mother candle. A series of consecutive inside bars signals compression and accumulation ahead of a directional move.
Barcolor highlight with customizable color
Adjustable lookback depth
▸ Absorption
Marks candles that fully engulf the range of the previous mother candle (high > mother high and low < mother low). These candles often indicate absorption of accumulated positions and a short-term shift in intent.
Separate highlight color independent of Inside Bars
Alert on absorption candle formation
▸ PDH / PDL — Previous Day High & Low
Displays high and low levels from previous trading days (up to 7 days). Levels that have been fully engulfed by price are automatically hidden. Each level is labeled: the most recent is marked "PDH" / "PDL", older ones show the date in month/day format.
Adjustable number of days displayed
Unified color for all PDH/PDL levels
Alert when price crosses a level
▸ Market Sessions
Draws session boxes for each trading session over the last N days. Five fully independent sessions are supported — defaults are Asia, Frankfurt, London, New York, and one custom user-defined session.
Custom name, start and end time (UTC), and background color per session
Optional horizontal border lines showing session high and low
Border style and width customization
Adjustable display depth (number of days)
Alerts when price crosses the high or low of a closed session
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TREND FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Colors the chart background based on WaveTrend oscillator alignment across up to three independent timeframes. When all selected timeframes show WT above zero simultaneously — bullish background. When all show WT below zero — bearish background. When timeframes disagree — no background, signalling an unclear or transitional market state.
How WaveTrend is calculated: WT is built as a double-smoothed normalized channel index on HLC3. The first EMA measures the average deviation of price from its mean; the result is normalized and smoothed again to produce the final oscillator value. Values above zero indicate bullish bias, below zero — bearish.
Show trend filter — master on/off switch
WT Channel Length — EMA length for channel calculation. Shorter = more reactive
WT Average Length — smoothing EMA applied on top. Larger = calmer signal
TF 1 / TF 2 / TF 3 — each row has an enable toggle and a timeframe selector. Defaults: 15m, 1h, 4h. A disabled timeframe is treated as neutral and excluded from alignment check
Confirm trend on bar close — when enabled, background and alerts only react to values from the last closed HTF bar, eliminating intra-bar repainting. When disabled, the background updates in real time as the HTF bar forms
Bullish / Bearish background colors — customizable with transparency
Trend Changed alert — fires on bar close on any of the six possible state transitions: uptrend ↔ neutral ↔ downtrend and direct flip. Alert message specifies the exact transition
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A compact table showing WaveTrend values for each enabled timeframe. Only enabled timeframes are displayed — from one to three rows.
Column 1: timeframe label (15m, 1h, 4h etc.)
Column 2: current WT value rounded to one decimal. Cell background reflects signal strength: neutral grey (−10 to +10), weak green/red (±10 to ±40), saturated green/red (beyond ±40)
Position — 9 placement options across the chart
Text size — Tiny / Small / Normal / Large
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Every module has its own independent alert toggle. All messages can optionally be prefixed with the instrument ticker — useful when monitoring multiple charts simultaneously.
Liquidity level breached
Absorption candle formed
New order block created
Order block mitigated
Session high or low crossed
PDH / PDL level crossed
Trend changed (WaveTrend multi-TF)
Indicator

Indicator

Sphinx Sessions, Cycles & LiquiditySphinx Sessions, Cycles & Liquidity is a session and time-cycle framework for intraday index-futures analysis (ES, NQ, YM and their micros). It combines four things usually spread across separate indicators - a fractal cycle grid, session and higher-timeframe liquidity levels, macro-window markers, and an ATR-graded open-bias table - into one overlay built around the CME futures day. It is a context tool and does not issue buy or sell signals.
WHAT MAKES IT DIFFERENT
Most session tools shade Asia / London / New York as flat blocks. This script instead decomposes the day into a continuous 90-minute cycle grid anchored to 20:00 New York, then subdivides each 90-minute block into 30-minute and 10-minute sub-cycles drawn as nested boxes with graduated opacity. The result is a fractal view of intraday time: the current 90m cycle, which third of it you are in, and which 10m segment is active, all at once. Each cycle box closes one minute early, so cycles read as discrete units rather than one continuous wall of shading.
Everything is anchored to an 18:00 New York day reset (the CME futures open) rather than calendar midnight, so sessions, levels, and bias all reference the futures trading day.
The bias model is quantified rather than binary. Instead of only marking price above or below the 08:30 open, the table grades displacement from that open in multiples of the instrument's own daily ATR into equilibrium, caution, and extended zones, and raises a compression flag when the 08:30-09:30 range is unusually tight relative to ATR. This adapts across ES, NQ, and YM without manual point thresholds.
COMPONENTS
Cycle grid: Asia / London / NY / PM structure as nested 90m / 30m / 10m boxes. Renders on chart timeframes below 15 minutes.
Open lines: Midnight open and 08:30 NY open, independently styled and labeled.
Higher-timeframe levels: prior day, week, and month highs and lows (PDH/PDL, PWH/PWL, PMH/PML), persistent and updated on period roll.
Session liquidity: Asia and London highs and lows that grow live through their session and optionally mitigate (delete) on a close-through, leaving only unmitigated liquidity visible.
Macro windows: 09:40, 10:40, and 13:40 NY windows as bracketed zones.
1H fair value gaps: nearest unmitigated bullish and bearish 1H gaps relative to price.
08:30 bias table: direction, ATR-graded strength, zone, and compression flag.
HOW TO USE IT
Apply it to a sub-15-minute chart of an index-futures symbol. Use the cycle grid to locate yourself in the day's time structure, the session and higher-timeframe levels as liquidity targets, the macro windows for timing, and the 08:30 table for directional context relative to the session open. Every module toggles independently, so you can run the full framework or only the pieces you want.
HOW IT WORKS
Session and cycle boundaries are computed from New York clock time, with the 90-minute grid indexed from the 20:00 open and subdivided by integer division into 30m and 10m segments. Session and macro windows use native session detection so they stay correct from 1-minute up to 15-minute charts. Higher-timeframe levels and 1H fair value gaps are pulled from higher-timeframe data; completed values are fixed and current values develop with the forming bar. Key values (session open, session and cycle highs/lows, gate states, ATR distance) are exposed in the Data Window for use in alerts or other tools.
For education and market analysis only. This is not financial advice, and past behavior of any level or signal does not guarantee future results. Indicator

Futures Sessions with NY Opening Range, Levels, FVGs, & HolidaysThis is a session-anchored intraday framework for futures. Every element on the chart is derived from the same session definitions, so the tools stay consistent with each other: the sessions paint the ranges, the completed ranges leave behind levels, the level lifecycle is tied to the session clock, the NY Opening Range anchors the morning, fair value gaps give context inside the ranges, and holiday markers explain the days when sessions are missing or shortened.
Session Ranges
Each market session is defined using IANA names (America/New_York, Asia/Tokyo) – never fixed UTC offsets. The indicator renders identically no matter what timezone your chart is set to (Exchange, New York, etc). Daylight saving is handled automatically: New York flips between EST and EDT on its own, and Tokyo has no DST, so its position against the New York clock simply shifts with the US clock changes (Tokyo's 9:00 open lands at 20:00 New York in summer, 19:00 in winter).
Each session is a shaded fill: Asia in red, London in yellow, New York in blue as defaults.
NY Pre-Open: a dotted range tracks the morning trade from the ORB open at 8:00 America/New_York until the session fill starts at 9:30. It is derived from the ORB input, so moving the ORB moves it too.
Globex Open: the CME futures trading day opens at 18:00 America/New_York (17:00 Chicago), indicated by the pre-open dotted range before the session fill starts at Tokyo open when volume comes in.
New York Opening Range (ORB)
The ORB captures the range of the America/New_York 8:00–8:15 candle, shown as a box with a dashed midline in maroon. It is visible on all smaller timeframes and up to 1h. The ORB ends on the last candle of the New York session — the end time is derived from the NY session input, so the two can never drift apart.
If the ORB range is oversized (18 or more points, configurable), the box is flagged with a red "ORB INVALID" label and shows the range in points.
Sessions Levels (Untested Highs and Lows)
When a session completes, its final highs (black) and lows (teal) are drawn from the candle and extend to the right indefinitely until a level is tested on its first touch. You can configure whether a test means a wick touch (ICT/liquidity style, the default) or a candle close beyond the level (support/resistance style).
Tested levels stay on the chart until the session running at the time of the test ends, so you can use them as points of reference until then. During the London/NY overlap, New York counts as the running session. A level tested during a session gap survives the gap and is handed to the next session that opens. At the NY ORB open at 8:00, all tested levels are removed to prevent clutter.
Untested levels never expire. You can toggle the prices on the price scale on or off based on preference.
Fair Value Gaps
Classic three-candle imbalances in both directions: bullish when a candle's low is above the high from two candles back, bearish when a candle's high is below the low from two candles back. Gaps are shaded in green (by default, configurable) from the middle candle and extend to the right until price trades fully through it (bullish: a low at or below the gap bottom; bearish: a high at or above the gap top), then it is removed. Each gap can draw its Consequent Encroachment — a dashed line at the 50% of the gap, the level where a gap is commonly considered mitigated. Inputs: fill color, CE toggle and color, minimum gap size in points (useful on low timeframes), and a cap on how many gaps are kept.
Holiday Markers
US (NYSE) holidays: a dotted vertical line and a Statue of Liberty marker anchored to the ORB's first candle. Detection is fully rule-based — weekday-observance rules for every holiday, and Good Friday computed from the Easter algorithm (Butcher's computus), so nothing is hardcoded and no yearly maintenance is needed.
Note: NYSE does not observe New Year's on the prior Friday when January 1 falls on a Saturday, and holidays observed on a Friday/Monday (like July 4 on a weekend) are marked on the actual closure day.
Japanese holidays: a dotted vertical line and a shrine marker anchored to the Tokyo session's first candle. Covers the fixed-date holidays, the Happy Monday holidays, both equinox holidays (astronomical formulas, valid through 2150), Monday substitute holidays, the occasional Silver Week citizens' holiday, and the TSE year-end closures (Dec 31, Jan 2, Jan 3).
Markers sit at the bottom of the pane. Days when CME is fully closed have no bars, so there is nothing to mark — markers appear on holidays with shortened or normal trading.
Alert
One built-in alert condition: Tokyo Range Break — fires when price closes outside the completed Tokyo session range, active from the Tokyo close until 11:30 New York time.
How to Use
Built for intraday charts of 1h and below (it draws nothing on higher timeframes). The ORB needs a 15-minute chart or lower to line up with whole candles. Defaults are tuned for CME index futures (ES/MES); the session inputs work on any symbol with continuous futures-style hours. Old drawings persist until Pine's 500-object limits trim the oldest.
These tools are combined because each one feeds the next: the sessions define the ranges, the completed ranges produce the levels, the level lifecycle runs on the session clock and the ORB open, the pre-open dotted ranges share the same derived timings, and the holiday markers explain the days when the rest of the framework is dark. Changing one session input moves everything that depends on it, consistently. Indicator

RPFXBYDAN - Untouched Session Liquidity - Asia / London / NYRPFXBYDAN - Untouched Session Liquidity — Asia / London / NY
**What this script does**
This indicator marks the high and low of each Asia, London, and New York trading session and projects those two levels forward as horizontal lines. Unlike a standard session-range indicator that leaves every past level on the chart, this one automatically deletes any level the moment price reaches it. The result is a running inventory of the recent session highs and lows that price has NOT yet run — the liquidity that is still "live" on the chart.
By default the script keeps the ten most recent sessions per region so you can see whether the current market is respecting, sweeping, or ignoring older session extremes.
**Why session highs and lows matter**
Session highs and lows tend to attract price because they collect a predictable pool of stop-loss orders — protective stops from participants who entered inside the previous session's range. Price often gravitates toward these levels, sweeps the liquidity, and reverses. Knowing which specific levels are still untaken (versus already mitigated) is more actionable than seeing every historical level indiscriminately, because only untaken levels still hold that liquidity.
**How the script works, step by step**
1. On every bar, the script checks whether the bar falls inside the Asia, London, or New York session window, using Pine's timezone-aware time function so detection is correct on any chart regardless of the user's timezone settings.
2. While a session is active, it tracks the running high and low and remembers the bar index at which each was set.
3. The instant a session closes (the first bar the session check flips from true to false), it draws two horizontal lines anchored at those bar indexes — one at the session high, one at the session low — with a text label naming the region.
4. Each new line and label is pushed onto a per-region array. If the array now holds more than the configured lookback count (default ten), the oldest entry is shifted off and deleted.
5. On every subsequent bar, the script walks the array of active lines and compares the current candle's high to each high level and the current candle's low to each low level. Any line whose level has been reached is deleted along with its label. Any line not yet touched has its right edge advanced so the projection stays anchored to the current bar.
The touch check is the mechanism that keeps the chart focused only on liquidity that hasn't been taken yet — it's what differentiates this from a normal "show previous session range" indicator.
**Timezone handling**
The default Auto mode detects each session in its own home timezone: Asia in Tokyo time, London in London time, and New York in New York time. Because Pine's time function accepts a timezone argument, the detection is correct regardless of what timezone your chart is set to, and daylight saving transitions are handled automatically. If you'd rather have all three sessions interpreted in one specific timezone (for example, always in your local one), the location dropdown lets you select from a menu of common cities and UTC offsets, and the session windows will be read in that timezone instead.
**Inputs**
- Your Location / Timezone — Auto (recommended) or a specific city / UTC offset
- Asia, London, New York Session windows — defaults calibrated to each session's home clock time
- Sessions to Keep — how many recent sessions per region to display (default 10)
- Colors per region, line width, line style, right-extension length, label toggle
**How to use it**
Add the indicator to a 5-minute, 15-minute, 30-minute, or 1-hour chart of any symbol. Give the chart a few days of history to load so the script can walk through session closes and populate the levels. Watch how price interacts with the untaken lines — a clean sweep of an old session high can precede a reversal, while price trading through a level without pausing suggests continuation. Because touched levels are removed automatically, whatever remains on the chart at any moment is the current "menu" of session liquidity worth watching.
Works on any instrument, though it's most useful on FX pairs, index futures, and crypto where session structure is meaningful. Higher timeframes (4H+) compress sessions into a single bar and reduce the value of the lines.
**Notes**
Session detection uses each session's home timezone in Auto mode; in manual mode you select a single timezone that applies to all three. Both modes automatically handle daylight saving. Indicator

ICT Killzones | EonMetricsICT Killzones by EonMetrics
WHAT IT DOES
This indicator draws colored boxes on your chart during the hours when big institutional traders are historically most active — these time windows are called "killzones." Each box tracks the highest and lowest price reached while that session is open. When the session ends, the box "seals" and its high and low turn into lines that stretch forward — these are levels price is likely to react to later, so you can see them long after the session is over.
It also draws simple opening-price and high/low lines for the Day, Week and Month, plus the previous day/week/month's numbers. These are shown in the same script as the killzones because they answer the same question at two different zoom levels: "where is the market's attention right now" — killzones tell you that at the hour-by-hour level, and Day/Week/Month tell you that at the bigger-picture level. Traders normally watch both together, which is why they're combined here instead of split into two separate tools.
HOW TO ACTUALLY USE IT (STEP BY STEP)
1. Watch the Asian session box first. It's usually a quiet, narrow range — this range often becomes the "bait" that later sessions test.
2. When London or New York opens, watch for a fast move that quickly reverses (price pokes above/below the recent range and snaps back). This fake-out is common at session opens — the real move often goes the opposite way.
3. Use the high/low lines left behind by earlier sessions as your targets. If price is moving up, the next line above it (an earlier session's high, or the day/week open) is a natural place price may reach and react.
4. Check the Previous Day Close and Week Open lines for context — is today trading above or below yesterday's close? Above or below this week's open? That tells you the bigger picture bias.
5. Turn on "Show Yesterday" if you want to compare today's session ranges against yesterday's.
EVERY SETTING EXPLAINED
Killzones group
- Show Asian / London Open / NY Pre-Market / NY Open / London Close / NY Lunch / NY PM — turns each individual session box on or off. All times are New York time and automatically adjust for Daylight Saving.
- Show Yesterday — also draws all the above boxes for the previous trading day.
Custom Killzone group
- Show Custom KZ — turns on an extra session box that you define yourself (for a market's own open, a prop-firm trading window, or any other hours you want tracked).
- Custom Session — the start-end time of your custom window (24-hour format). If the end time is earlier than the start time, it automatically understands the session crosses midnight.
- Session Timezone — which timezone your custom time window is read in. "Exchange" uses the timezone of whatever symbol you have open.
- Label Name — the name shown on your custom box and its high/low lines.
- Custom Color — the color of your custom box and lines.
Colors group
- One color picker per killzone — sets the fill color of that session's box.
Style group
- Show Box Label — shows the session's name written inside its box while it's still active.
- Show Pivots (H/L) — after a session ends, draws its high and low as lines going forward. Turn this off if you only want the boxes, no forward lines.
- Show Midpoint (50%) — also draws a line at the exact halfway point of each finished session's range.
- Pivot Line Width — how thick the high/low lines are.
- Pivot Style — solid, dashed, or dotted line for the high/low lines.
- Midpoint Style — solid, dashed, or dotted line for the halfway line.
- Show Pivot Labels — shows small text tags (like "London H") at the end of each line.
- After Mitigation — choose what happens once price actually breaks through a level: "Stop at mitigation" freezes the line exactly where it was broken (so you keep a record of where it happened), or "Delete on mitigation" removes it completely for a cleaner chart.
- Alert Broken Pivots — sends you an alert whenever price breaks through one of these levels.
Day / Week / Month group
- Day Open / High-Low, with its own color — today's opening price, and optionally today's high/low, updating live.
- Prev Day Open / Close / High-Low, with its own color — yesterday's numbers, useful as reference points for today.
- The same three lines (Open, High/Low, and Previous versions of each) are repeated for Week and Month.
- Line Style / Line Width — applies to all of the Day/Week/Month lines at once.
- Show Labels — turns the text tags for these lines on or off.
Indicator

Sessions+ (M1D)Sessions+ maps the ICT trading day as liquidity. It tracks the Asia, London and New York session highs and lows, frames the midnight (00:00) opening range, and reads your daily bias, premium/discount, resting liquidity and average range on one dashboard — everything you'd otherwise mark up by hand, kept current automatically.
Session levels (Asia / London / NY)
Each session's high and low are drawn from the exact candle that formed the extreme (not the session's start/end time) and projected forward as a liquidity level:
A session high is buy-side liquidity (resting stops above price). A session low is sell-side liquidity (resting stops below price).
A level stays live — bold colour, extending line — until price trades back through it. The moment that happens the level is "swept"/"mitigated": the line freezes in place and dims, so tapped liquidity fades into the background instead of cluttering the chart, but stays visible for context.
Every level carries a dated label (e.g. ASIA.H 06/07) so you always know which day a level belongs to, even several days back.
Session Days Back (0–5) — how many prior days of session levels stay on the chart in addition to today. 0 = today only (default); set to 2 to see the last 3 days of Asia/London/NY levels, each still fading correctly when tapped.
Core session windows plus optional carry windows (Asia carries to 02:00, London to 09:30, NY to 16:00) — the level keeps tracking new extremes through this follow-on period, not just the core window, since price often makes its real high/low after the "session" clock ends.
12am Opening Range
The first 30 minutes of the ICT trading day (00:00–00:30 NY) — the day's first pool of liquidity:
Boxes the 00:00–00:30 range and draws its high and low from the exact wick that made them (labelled 12am.H / 12am.L), plus a centred 12am tag on the box marking the open.
Each level holds until a candle body closes fully through it (not just a wick tap — a confirmed close), or until 05:00 NY (London Kill Zone close) if nothing has taken it by then. Either way, the level then freezes and dims like a session level.
Its own Trading Days Back (0–5), separate from the session setting above, so you can keep a different history depth for the 12am range vs. the sessions.
Dashboard — what every row means
The panel (top-right by default) is a live readout, refreshed every bar:
— BIAS —
Daily Dir: Bullish or Bearish — simply whether price is currently trading above or below today's 00:00 (midnight) open.
Bias: the actual trade bias, based on how far price sits into the prior dealing range (see Premium/Discount below) — not just which side of a line it's on:
Bullish — price is in discount (bought down into the lower half of the range) and below the midnight open — both signals agree.
Lean Bullish — price is in discount, but still trading above the midnight open (signals disagree, weaker read).
Bearish / Lean Bearish — the mirror image, price in premium.
Neutral — price is genuinely camped around the 50% equilibrium (inside the adjustable Bias Neutral Band %), i.e. no real edge either way. Bias never reports a vague "mixed" result — it always commits to a lean unless price is truly balanced.
— PREMIUM / DISCOUNT —
PDH / PWH / PMH and PDL / PWL / PML — the high and low of the dealing range you select in settings: Previous Day, Previous Week, or Previous Month. This is the range ICT traders use to judge premium vs. discount.
Each shows a ✓ (green) if that level is still open/unswept, or a ✗ (red) once price has traded through it this period.
EQ 50% — the exact midpoint of that dealing range (the equilibrium), plus a live read: premium (above EQ — expensive, favour selling), discount (below EQ — cheap, favour buying), or above PDH / below PDL if price has broken outside the range entirely.
— LIQUIDITY (today) —
Asia H / Asia L, London H / London L, NY H / NY L — today's session levels, each with the same ✓ open (green) / ✗ swept (red) marker as above, so you can tell at a glance which pools of liquidity are still resting and which have already been run.
— 12am OPENING RANGE —
12am Open — the exact 00:00 NY opening price, with its live distance from current price.
12am Rng — the size (in points) of the 00:00–00:30 opening range.
12am OR H / 12am OR L — the range's high/low, again with ✓/✗ sweep status.
— ADR (N-Day) — ("ADR" = Average Daily Range — the typical size, in points, of a full trading day over your chosen lookback)
ADR — the average range figure itself, plus % used — how much of that typical daily move has already printed today (e.g. "112% used" means today has already moved further than an average day, which flags a potentially exhausted/extended move).
Proj Hi / Proj Lo — simple range projections: today's low + ADR (a possible high target), and today's high − ADR (a possible low target) — a rough gauge of how much room is statistically "left" in the day.
Day Rng — today's actual realised range so far, for comparison against the ADR figure.
Settings
Sessions — timezone, core + carry windows per session, Session Days Back, line width, mitigated-dim %, session label size.
12am Opening Range — show/hide, range window, Trading Days Back, active window (the 05:00 cutoff), box fill and level line colours/width, label colour.
Dashboard — show/hide, screen position, text size, which Dealing Range to use for premium/discount (Day/Week/Month), ADR lookback length, Bias Neutral Band %, and the bullish/bearish/neutral/open/swept colours.
ICT logic in one line
London and New York run the liquidity that Asia and the prior period left resting; the midnight open is the true day open and the pivot for premium/discount; the 12am range is the very first pool the new day creates. This tool keeps all four of those — sessions, midnight range, dealing-range bias, and average range — in front of you at once.
Notes
Best on intraday timeframes (30 minutes or lower recommended for the 12am Opening Range; the session levels work across any intraday timeframe).
Session-based (not a fixed UTC offset), so everything tracks correctly through daylight-saving changes.
A level's date stamps when it opened, not the trading day it belongs to — e.g. Asia opens at 6pm NY, so its label shows the prior calendar date, which is when that range actually printed.
Daily/weekly/monthly and ADR data are pulled anti-repaint (confirmed prior-period values only); every swept/taken state is confirmed on candle close, never mid-bar.
Built by M1D. For education and the study of price delivery — not financial advice.
(New and improved version of the previous "Sessions Highs And Lows Unmitigated" script.) Indicator

Key Daily Levels by Flip On DipKey Daily Levels marks the reference points most intraday traders watch: the previous day high and low, and the high and low of a session you choose.
Sessions cover New York, London, Tokyo and Sydney, plus a custom option for any other window. Each preset uses the session's local exchange hours and adjusts for daylight saving on its own, so the times stay correct through the year instead of drifting an hour twice a year.
When a session extreme sits at the same price as the previous day high or low, the two are combined into one line instead of being drawn twice. The label then reads something like PDH (NY High), so both are kept without doubling up on the chart.
Each level is drawn from the bar where it formed and runs until price takes it out. The line stops on the exact bar that crossed it. The wick counts, so it doesn't wait for a close. A level still holding is shown solid; once it gets taken it turns dashed and fades, and a small check is dropped on the bar that swept it. A small table in the corner lists each level and whether it has been swept.
Cross detection accounts for gaps, and the trading day is read from each symbol's own calendar rather than a fixed clock, so levels stay accurate on crypto, futures and stocks, on continuous charts and gapped ones alike.
Colors, line styles and width, label options, the sweep marker and the table are all configurable.
Open source, free to study or extend. Indicator

Fix PIPS - 4 Sessions - FRA / LDN / NY / ASIA4 Sessions draws High/Low range boxes for the four major market sessions — Frankfurt, London, New York and Tokyo.
HOW IT WORKS
Each session is a translucent box that tracks the session's running High/Low as it develops. Session hours are defined in each market's home timezone (Europe/Berlin, Europe/London, America/New_York, Asia/Tokyo), so the boxes always land in the right place regardless of your chart's timezone, and DST transitions in every region are handled automatically — nothing to adjust twice a year.
DEFAULT HOURS (exchange hours, editable)
• Frankfurt — 08:00–09:00 (Xetra open, the hour before London)
• London — 08:00–16:30
• New York — 09:30–16:00 (NYSE)
• Tokyo — 09:00–15:00 (TSE)
SETTINGS
One row per session: enable toggle, color (set fill opacity right in the color picker) and hours. Weekdays only — no weekend boxes on 24/7 markets like crypto. Works on intraday timeframes. Optional on-chart info note with a UA/EN/RU language switch.
ALERTS
Alert conditions fire on each session open (Frankfurt, London, New York, Asia). Indicator

Sessionscope [Quantum Algo]Sessionscope is a time-based ICT killzone tool that plots the four primary intraday
killzones, projects the liquidity each one creates, and then measures what happens after
that liquidity is taken. It is built for traders who use Smart Money / ICT concepts and
want session context plus a quantified read on how each killzone behaves on their specific
instrument.
It is not a buy/sell signal system. It is a context and statistics tool.
WHAT IT PLOTS
- Four killzone range boxes, each with its high, low and equilibrium (50%) level.
- Forward-projected session liquidity: each closed killzone's high as buy-side liquidity
(BSL) and its low as sell-side liquidity (SSL).
- Liquidity sweep marks, recolored by outcome (reversal vs continuation).
- The New York midnight open (00:00 ET) as a daily reference line.
- A statistics dashboard summarizing each killzone over the full chart history.
THE FOUR KILLZONES
Default windows, in New York time (America/New_York):
- Asia 20:00 - 00:00
- London Open 02:00 - 05:00
- New York AM 07:00 - 10:00
- London Close 10:00 - 12:00
These are the conventional ICT killzone windows. Because the timezone is anchored to
America/New_York rather than a fixed UTC offset, the windows automatically follow US
daylight saving (EST/EDT) and stay aligned year-round. All four windows, names and colors
are fully editable, so you can shift them, repurpose one (for example to a New York PM or
Silver Bullet window), or adapt the New York window to index timing (08:30 - 11:00) if you
trade futures rather than forex.
SESSION LIQUIDITY (BSL / SSL)
While a killzone is open, the box tracks its developing high and low in real time. When the
killzone closes, those extremes are frozen and projected forward as horizontal liquidity
levels - the high as buy-side liquidity, the low as sell-side liquidity - and extended until
the next instance of that same session. A sweep is registered when price trades through a
projected level (a wick or close beyond the high, or beyond the low). The level can be frozen
at the moment of the sweep to keep the chart clean.
SWEEP OUTCOME ENGINE (the core idea)
Marking a sweep is common. Sessionscope goes further and classifies the outcome of every
sweep:
- High sweep -> REVERSAL if price closes back below the swept high within a configurable
number of bars; otherwise CONTINUATION.
- Low sweep -> REVERSAL if price closes back above the swept low within that window;
otherwise CONTINUATION.
A reversal is the classic ICT liquidity-grab outcome (the level is run, then rejected). A
continuation means the level broke and held (a genuine expansion). Each sweep mark is
recolored to its resolved outcome, and the result feeds the Rev% statistic below. This turns
the qualitative liquidity-grab premise into a measured, per-session number.
NEW YORK MIDNIGHT OPEN
The first traded price after 00:00 America/New_York is captured each day and drawn as a
horizontal reference for that session - a level many ICT traders use as a daily equilibrium
anchor. It is fixed once printed and does not move.
STATISTICS DASHBOARD
For each enabled killzone, accumulated over the entire visible chart history:
- Avg Rng : average high-to-low range of the session, in price.
- xATR : that average range expressed as a multiple of the daily ATR(14), so you can see
which killzone expands most relative to typical daily volatility.
- Swept% : how often the session's liquidity is taken - the share of its high and low
levels that get swept before the session next reopens.
- Rev% : of the sweeps that occurred, how often price reversed back inside the range
(a grab) rather than continuing through (a breakout).
- Bias% : share of sessions that closed above their open (directional tendency).
- n : number of completed sessions in the sample.
Read together, Swept% and Rev% answer two distinct questions: how often does this killzone's
liquidity get run, and when it does, how often does it snap back? Bias% and xATR add the
session's directional lean and its size relative to the day.
HOW IT WORKS (calculation notes)
- Sessions are detected with Pine's time/session function in the chosen timezone; the box
high/low are running extremes of the bars inside each window.
- The daily ATR used for xATR is requested from the 1D timeframe using an offset expression
with lookahead disabled, so it is fully confirmed and constant intraday (no lookahead bias).
- Sweep outcomes are evaluated only on confirmed price relative to fixed, already-closed
levels.
- Statistics are accumulated over the full chart history independently of what is drawn.
- To keep the price scale anchored to current price, only a configurable number of recent
sessions of boxes and levels are kept on the chart (older drawings are removed); this does
not affect the statistics, which always use full history.
WHAT MAKES IT DIFFERENT
Most session and killzone tools stop at colored boxes, session highs/lows, midpoints and a
basic range table. Sessionscope adds the outcome layer: it does not just show that liquidity
was swept, it measures whether each session's sweeps tend to reverse or continue, and colors
them accordingly. The Rev% metric, combined with Swept%, is the part that goes beyond a
standard session-range tool.
SETTINGS
Grouped for clarity: Timezone; Sessions / Killzones (per-session enable, name, window,
color); Box & Level Visuals (boxes, fills, high/low, equilibrium, labels, history cap);
Session Liquidity & Sweeps (projection, sweep marks, freeze-on-sweep, line style, reversal
window, outcome coloring); New York Midnight Open; Statistics Dashboard (position, size);
and Alerts.
HOW TO USE
- Apply on an intraday timeframe; 1m to 1h work best (5m or 15m for clean session structure).
- Mark your higher-timeframe bias first, then use the killzone windows to time entries.
- When a killzone level is swept, read the outcome color and that session's historical Rev%
to gauge whether a reversal back inside the range is the higher-probability path.
- Use xATR to see which session is statistically the most active on your instrument, and
Bias% for its directional lean.
REPAINTING
Boxes and the live high/low update in real time while the current session is forming - this
is expected real-time behavior, not lookahead. Once a session closes, its levels are fixed;
sweeps are detected on price crossing those fixed levels; and an outcome, once resolved on a
closed bar, does not change. No lookahead is used anywhere in the script.
CONCEPTS AND CREDIT
The concepts used here - killzones, buy-side and sell-side liquidity, liquidity sweeps, the
midnight open, and premium/discount equilibrium - originate with the Inner Circle Trader
(Michael J. Huddleston) and the wider Smart Money Concepts / price-action community, where
they are taught and discussed openly. The session window defaults follow the killzone times
commonly used by that community. All code in this script - the session detection, liquidity
projection, sweep-outcome classification and statistics engine - is written independently and
reuses no third-party code. It is published open-source so anyone can read, verify and modify
it under PulseWire's House Rules.
DISCLAIMER
This script is provided for educational and informational purposes only. It is not financial,
investment or trading advice, and it does not produce buy or sell recommendations. All
statistics are descriptive measurements of historical data on the current chart and do not
predict future price behavior; past behavior of a session or level does not guarantee future
results. Trading involves substantial risk of loss. You are solely responsible for your own
decisions and risk management. Test any tool thoroughly on your own markets and timeframes
before relying on it. Indicator

Scalp The ReactScalp The React (STR) is an advanced, all-in-one market structure and liquidity mapping framework. Designed for scalpers, intraday traders, and swing traders, this indicator dynamically builds actionable "Reaction Zones," Fibonacci projection targets, and liquidity sweep setups based on real-time market structure breaks and session timings.
Instead of relying on static, manual drawings, STR automatically identifies structural pivots, determines the market bias, and projects forward-looking target zones to give you a complete roadmap of where the price is likely to react.
🌟 Core Features & Modules
1. Dynamic Fibonacci Setup Modes
The heart of STR is its adaptive Fibonacci projection engine. Depending on your trading style, you can choose how the indicator anchors its High/Low legs to draw the target zones.
Scalp Mode: A step-by-step approach. It waits for the current 0 or 1 boundaries of the active setup to be completely broken before anchoring a new Fibonacci leg.
Intraday Mode: Focuses purely on trend reversals. It maps new Fibonacci projection zones only when a Change of Character (CHoCH) occurs.
HTF (Higher Timeframe) Mode: Top-down analysis made easy. It grabs the exact High and Low of the previous Higher Timeframe candle (e.g., 4H) and projects intraday zones based on that HTF range.
Session Mode: Perfect for session-to-session liquidity traders. It automatically tracks the High and Low of specific trading sessions (Asia, London, New York). The moment a session ends, it instantly projects the Fibonacci scheme based on the current market bias. (Labels explicitly tell you if a level is the "Asia High" or "London Low").
First 4H Mode: An opening range breakout approach. It maps the High and Low of the day's first 4 hours (e.g., 03:00 - 07:00) and projects the roadmap for the rest of the day.
2. Target & Liquidity Zones
Whenever a new setup is confirmed, the indicator plots highly specific mathematical zones:
Magnetic Retest Level (0.5): The fair-value equilibrium of the anchor leg.
Reaction Zone (1.47 - 1.55): The primary Take Profit and reaction box.
External Reaction Zone (2.56 - 2.64): The extended macro target box.
Liquidity Sweep Box (-0.21 to -0.29): Placed exactly opposite to the breakout direction. If the price pushes into this zone and closes back inside the range, the indicator marks a precise Sweep (x) label, signaling a potential liquidity trap / reversal.
3. Market Structure Engine (BOS & CHoCH)
The script continuously scans for fractal highs and lows. It draws "Candidate" levels and waits for the price to break them (wick or body close based on your preference). Once broken, it permanently stamps the chart with BOS (Break of Structure) or CHoCH (Change of Character) labels and lines, keeping a clean historical record of the trend state.
4. Kinetic MA Trail & Bias Engine
To avoid plotting setups against the broader trend, the indicator uses a "Kinetic MA." This is a macro moving average that trails the price uniquely by filtering out noise using Supertrend and ATR logic.
When the price is above the Kinetic MA, the macro bias is Bullish.
When the price is below the Kinetic MA, the macro bias is Bearish.
Note: This internal bias is what dictates the direction of the Session and First 4H Fibonacci projections.
5. Advanced FVG / Breaker Engine
A built-in Fair Value Gap (FVG) and Breaker block extraction module.
Displays the last N unmitigated gaps.
Overlap Filter: Automatically hides overlapping FVGs to keep the chart incredibly clean.
Raid Detection: Marks an "x" inside the gap if the price aggressively wicks into it (a liquidity raid) but fails to close beyond it.
Supports mitigation filtering by Wick, Body Close, or Average line.
⚙️ How to Use It?
Select your Mode: If you trade the London/New York overlaps, set the Fib Mode to "Session". If you are a pure price-action scalper, set it to "Scalp" or "Intraday".
Follow the Liquidity: Look for setups where the price breaks structure, pulls back into the yellow Magnetic Level (0.5), or sweeps the Red Liquidity Box (-0.21 to -0.29) before targeting the Green Reaction Zones.
Align with the Kinetic MA: Use the glowing Kinetic MA band to stay on the right side of the macro trend.
⚠️ Disclaimer
For Educational Purposes Only:
The "Scalp The React" indicator and all its built-in features (including Fibonacci zones, market structure labels, moving averages, and FVG detection) are provided strictly for educational and informational purposes.
Not Financial Advice:
This script does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. Trading in financial markets (including cryptocurrencies, forex, stocks, and commodities) involves a high degree of risk and may not be suitable for all investors. You could lose some or all of your initial investment.
No Guarantee of Results:
Past performance of any trading system or methodology is not necessarily indicative of future results. The zones, labels, and signals generated by this script are based on mathematical formulas and historical price action; they do not predict the future.
User Responsibility:
By using this script, you acknowledge that you are solely responsible for your own trading decisions. Always conduct your own research (DYOR), practice strict risk management, and consult with a certified financial advisor before making any trading or investment decisions. The author of this script assumes no responsibility for any trading losses incurred. Indicator

Minimal Sessions LiquiditiesDescription
The Session Liquidities indicator is an advanced, automated toolkit for traders who rely on time-based liquidity sweeps and daily structural levels. It automatically highlights the high and low price points for the most actively traded sessions in the market and tracks them dynamically.
Instead of manually drawing horizontal rays across your chart every day, this script does the heavy lifting by identifying the highs and lows of six distinct timeframes (all strictly mapped to Eastern Time / New York Time) and carrying them forward until they are interacted with.
🕒 Sessions Tracked
The engine tracks liquidity boundaries for the following key windows:
Asian Session (AS): 20:00 - 00:00 ET
London Session (LN): 02:00 - 05:00 ET
New York AM Session (NY AM): 09:30 - 11:30 ET
New York Lunch Session (NY LN): 12:00 - 13:00 ET
New York PM Session (NY PM): 13:30 - 16:30 ET
Current Day (CD): 18:00 - 16:55 ET
✨ Key Features
Dynamic Liquidity Extensions: Once a session closes, its high and low lines are automatically extended forward into future price action, acting as pristine liquidity magnets.
Stop When Swept: An optional setting allows you to stop drawing the liquidity line exactly on the candle where the price eventually sweeps (crosses) it. This prevents your chart from being cluttered by old, invalidated liquidity levels.
Previous Day (PD) Memory: The script remembers historical session data. When a new day begins, the script automatically re-labels the previous day's untouched levels to "PD" (e.g., PD AS H for Previous Day Asian High), or D-2 for older levels.
Smart Overlap Merging: It's very common for two sessions to share the exact same high or low. To keep your charts incredibly sleek, the engine actively scans for overlapping labels. If two liquidity pools rest at the exact same tick, it merges their labels into a single comma-separated text (e.g., Current Day High, AS L) and removes the redundant visual clutter.
Customizable Lookback: Control exactly how many historical days of liquidity you want to track (up to 40 days) to match your trading style without overwhelming your screen.
⚙️ Settings
Sessions to Show: Toggle any of the 6 individual sessions on or off.
Session Colors: Fully customize the color of the lines and labels for each specific session.
Lookback Limit: Adjust how many historical periods are kept on the chart (1 = Current Only, 2 = Current + Previous Day).
Stop Lines When Swept: Toggle whether the line should extend indefinitely or terminate upon contact with price.
Label Size: Change the typography size (defaults to Tiny for a professional, unobtrusive aesthetic). Indicator

ICT Sessions & Killzones - VWAP + Asia Mid [Dots3Red]█ ICT SESSIONS & KILLZONES — VWAP + ASIA MID
This script visualizes the four major forex trading sessions alongside the four ICT killzone windows, with three analytical additions that most session scripts do not include: a per-session VWAP line, a Daily Open reference, and an Asia range midpoint that extends forward into the London and New York sessions.
It works on intraday timeframes. The number of historical session days displayed is configurable.
█ SESSIONS
Four sessions are available, each independently toggleable:
• Tokyo — 09:00–18:00 Asia/Tokyo
• London — 08:00–17:00 Europe/London
• New York — 09:30–16:00 America/New_York
• Sydney — 07:00–16:00 Australia/Sydney (off by default)
Each session draws a high/low line pair with a soft glow layer behind it, a midpoint dotted line at 50% of the session range, and optional quartile lines at 25% and 75%. A semi-transparent fill box covers the active session range and fades when the session closes. Historical sessions are preserved as lighter boxes and lines, controlled by the Historical Sessions (days) setting.
Session labels are positioned at the horizontal midpoint of the session and display the session name, current range in points, the range as a percentage of ATR(14), and the live VWAP value.
When two sessions are active simultaneously — London and New York from approximately 13:00–17:00 UTC, or Tokyo and London around 07:00–09:00 UTC — an overlap box is drawn over that window in a distinct color.
█ ICT KILLZONES
All four ICT killzone windows are implemented, each individually toggleable under a master switch:
• Asia KZ — 20:00–00:00 America/New_York
• London Open KZ — 02:00–05:00 America/New_York
• NY Open KZ — 07:00–10:00 America/New_York
• London Close KZ — 10:00–12:00 America/New_York
Each killzone box uses a dotted border when closed and switches to a solid border while the window is currently active. This makes it immediately clear at a glance whether a killzone is live or historical.
Most published session scripts include only two killzones (London Open and NY Open). The Asia and London Close windows are included here because they are part of the complete ICT framework — the Asia killzone in particular is where a significant portion of daily liquidity is engineered before the London session opens.
█ SESSION VWAP
A VWAP line is calculated independently for each session. It resets to zero at each session open and accumulates using the standard (High + Low + Close) / 3 × Volume formula throughout the session. This is not a daily or weekly VWAP — it is a session-scoped VWAP that resets with each new Tokyo, London, and New York open.
Price above the session VWAP indicates the session is currently net bullish in terms of volume-weighted price. Price below indicates net bearish. The VWAP value is also shown in the live metrics table and in the session label.
Sydney VWAP is not calculated as volume data on that session is generally unreliable outside of ASX-listed instruments.
█ DAILY OPEN LINE
A horizontal line is drawn at the price level at which the new day opened — specifically at midnight New York time (00:00 America/New_York). This corresponds to the ICT "00:00 line" or daily open reference, which is used in ICT methodology as a key intraday reference level for assessing whether price is trading at a premium or discount relative to the daily range.
The line extends forward through the trading day and refreshes at each midnight NY transition.
█ ASIA RANGE MIDPOINT EXTENSION
When the Tokyo session closes, the midpoint of its high-low range is calculated and projected forward as a dashed line into the London and New York sessions. This level — the 50% point of the Asian range — is referenced in ICT methodology as a key intraday equilibrium. London and New York sessions frequently interact with this level before establishing directional bias.
This extension is drawn automatically and requires no manual input. It is toggled by the Asia Range Mid Extension setting.
█ LIVE METRICS TABLE
A table in the corner of the chart displays eight columns for each active session:
• SESSION — name, color-coded to the session
• STATUS — ACTIVE or CLOSED
• RANGE (PTS) — current range in price ticks
• % ATR — range expressed as a percentage of ATR(14)
• VWAP DEV — current close deviation from session VWAP in percent (green = above, red = below)
• VS PREV % — current session range versus the equivalent previous session's range (green = larger, red = smaller)
• HIGH / LOW — current session extremes
The bottom row shows whether a session overlap is currently active.
█ HISTORICAL DISPLAY
The Historical Sessions (days) input controls how many past session blocks remain visible. The script uses a millisecond-based time window rather than a bar count, so the lookback is stable across different timeframes. Setting this to 1 shows only the current day's sessions. Setting it to 5 retains the last five days. Objects beyond the limit are deleted automatically to manage Pine's drawing object limits.
█ ALERTS
Eleven alert conditions are available:
• Tokyo, London, New York session opens and closes (6 alerts)
• Asia KZ, London Open KZ, NY Open KZ, London Close KZ starts (4 alerts)
• London + New York overlap start (1 alert)
█ NOTES
• Designed for intraday timeframes. Most useful at 5-minute through 1-hour.
• Session times adjust automatically for daylight saving time because timezone identifiers (America/New_York, Europe/London, etc.) are used rather than fixed UTC offsets.
• The Tokyo session uses Asia/Tokyo exchange hours (09:00–18:00). Forex traders who prefer the broader Asian session window (00:00–09:00 UTC) can adjust the time string in the source code.
• All session boxes and killzone boxes are gated to the historical window. Objects outside the configured lookback are not drawn, which keeps performance stable on lower timeframes with many bars.
█ DISCLAIMER
This is a visualization tool for session timing and reference levels. It does not generate trade signals and does not constitute financial advice. Past price behavior within or around session windows does not predict future results. Indicator

Nexus Global 15m ORBIntroduction
The Nexus Global 15m ORB indicator is a comprehensive opening range tool designed to map the initial 15-minute price action across the three major global trading sessions: Tokyo, London, and New York. Beyond simply marking the high and low of the opening range, this script integrates Fibonacci-based Optimal Trade Entry (OTE) zones, mathematical trend extensions, and Higher Timeframe (HTF) structural confluence to help traders identify high-probability reversal and continuation zones.
Core Concepts & What It Does
Opening Range Breakout (ORB) strategies rely on the volatility generated at the start of a trading session. The first 15 minutes often establish a support and resistance framework for the hours that follow. This indicator automatically detects these 15-minute windows and projects the range forward until the next session begins.
However, a standard ORB is often not enough to build a complete trading plan. To address this, the indicator incorporates:
- Internal Fibonacci Levels & OTE Zone: Calculates key retracement levels (38.2% and 50%) and highlights a specific Optimal Trade Entry (OTE) box between the 61.8% and 78.6% levels of the session's range.
- Session Trend Extensions: Projects standard Fibonacci extensions (0.618, 1.272, and 1.618) outward from the ORB high and low to serve as dynamic take-profit targets or exhaustion levels.
- HTF Institutional Pivots: Pulls structural swing highs and lows from a user-defined higher timeframe (e.g., 4-hour) and calculates its own macro Fibonacci levels. When these macro levels intersect with the micro 15m ORB range, the indicator highlights them as "Institutional Pivots."
How It Calculates (Underlying Logic)
- Session Tracking: Uses time() functions to detect the exact 15-minute timeframe of the Tokyo (0845-0900 JST), London (0800-0815 GMT), and New York (0930-0945 EST) opens. It dynamically tracks the high and low during this window and locks the values once the window closes.
- Internal Mathematics: The range size (rng) is calculated as ORB High - ORB Low. Internal levels are found by subtracting percentages of the range from the ORB High (e.g., ORB High - (rng * 0.5) for the 50% level).
- HTF Confluence: Utilizes request.security() alongside ta.highest() and ta.lowest() over a customizable lookback period to establish the macro structural range. It then checks if the macro 38.2%, 50%, or 61.8% levels fall sequentially inside the current active ORB boundaries, plotting them distinctly when true.
- Performance Optimization: To ensure the indicator does not cause chart lag (a common issue with heavy line/box drawing scripts), the drawing engine is restricted to update visual arrays strictly on barstate.islast, ensuring lightning-fast load times even on the 1-minute chart.*
How to Use It
- Breakout & Retest: Watch for price to break the ORB High or Low, and then wait for a retracement back to the 38.2% or 50% internal levels to join the trend toward the 1.272 or 1.618 extensions.
- OTE Reversals: If a false breakout (fake-out) occurs, look for price to return to the highlighted OTE Zone (61.8% - 78.6%). This zone often acts as a strong area of defense for institutional order flow, providing excellent risk-to-reward entries back toward the opposite side of the ORB.
- Institutional Pivots: When an HTF line populates inside the session range, treat it as a heavy magnet or resistance. Trades taken in confluence with these pivots carry a much higher structural weighting.
Originality & Usefulness
While there are many ORB tools on PulseWire, the vast majority only display horizontal lines for the high and low. This script is highly original because it combines micro-session timing with macro-structural Fibonacci confluence. By mashing up session tracking with HTF swing analysis and deep optimization drawing methods, it provides a complete, lag-free institutional framework in a single indicator, saving traders from needing multiple overlapping scripts to achieve the same result. Indicator

Indicator

Sessions + Killzones [HermesCore]WHAT THIS INDICATOR DOES
Sessions + Killzones tracks the three desk sessions: Asia, London and New York, plus an optional custom window. While a session is open you see it as a live box. When it closes, its high and low become levels. Each level gets a simple 0 to 6 quality score, and from then on the script tracks what price does with it: swept, run, or held.
Every outcome feeds a statistics engine. It answers the core question of this script: what does the next session usually do with the levels of the previous one? Measured on your own chart, with sample sizes shown.
Killzones are the windows where institutional activity concentrates, around the desk opens. They render as background shading, set in New York time per ICT convention (Inner Circle Trader, the school this session vocabulary comes from). The dashboard shows which session and which killzone are active right now, each with a countdown. It also covers the daily window where nothing is open. I gave that window a name: the Dead Zone.
WHY IT IS DIFFERENT
Most session indicators draw boxes and stop. The few that score sessions usually hide how the score works. My rules are:
- A level gets its score at birth and the score never changes. It is built only from facts about how the session formed: range, volume, how clean the extreme was, and confluence with key levels. What happens later is shown by the lifecycle markings, not by changing the score.
- A sweep and a run are two different events. A wick beyond the level that closes back inside is a sweep. That is information: stops were taken and price came back. A close beyond the level plus a 0.1 ATR buffer (Average True Range, a standard volatility measure) is a run. The level is consumed.
- The statistics are counted honestly. A pair like "AS.H in LDN" only counts what happens while London is actually open. Levels that die before their judging session opens are not counted at all. The dashboard shows the n for every pair, so you always see how much evidence sits behind a percentage.
- Sessions are boxes, because their range matters: it becomes levels. Killzones are background shading, because only their timing matters. Two layers, two visual languages.
- Everything updates on confirmed bars only. No intrabar flicker. No levels that appear and disappear within the same candle.
HOW TO READ THE CHART
- Live session box: bright, thick border, session tag in the corner. Closed boxes fade into quiet history.
- Session levels: horizontal lines starting at the bar that set the extreme. A label like "LDN.H A S:5" reads: London session high, grade A, score 5. The abbreviations: AS is Asia, LDN is London, NY is New York, .H is the high, .L is the low.
- Gold color with a soft glow and larger text: the grade is A or S. Those are the premium sessions.
- Thick border on a level: it was swept. The label gets a "swept" suffix.
- Grey line without text: the level was run. It stays as quiet history, or you can have runs deleted.
- Levels expire when the next session of the same type closes. Yesterday's Asia high stops mattering once today's Asia delivers a fresh one.
- Killzone shading: vertical background bands for Asia, London, NY AM, and optionally London Close. All set in New York time.
- Dotted horizontal line: the midnight open at 00:00 New York.
- Dotted vertical lines to the right of price: the projected next open of each session, in session color. The chart version of the dashboard countdown. They respect the Weekdays Only filter.
- Neutral horizontal lines: previous day high and low (PDH, PDL) and previous week high and low (PWH, PWL), always from the last completed day and week. When a daily and a weekly level are equal they merge into one line with a combined label.
- Session midlines (CE, consequent encroachment, simply the middle of the range): dotted at the middle of each closed session, turning solid gold with a label like "AS CE" on the first touch. On by default.
- Killzone range lines: when a killzone closes, its high and low freeze as dashed lines in the killzone color. They carry no score, no lifecycle and no statistics. They are pure context and expire when the next killzone of the same type closes. On by default.
THE SCORE
Every component is measured at session close against the average of the last 20 sessions of the same type. Asia is always compared with Asia, London with London.
- Range: the session range is more than 1.2x its own average, +2
- Volume: the session volume is above its own average, +2
- Clean extreme: the high or low was set in the first half of the session and never revisited within 0.1 ATR, +1
- Key confluence: the level lies within 0.25 ATR of PDH, PDL, PWH or PWL, +1
Grades: S (6), A (5), B (4), C (3), D (0 to 2). There is no strength filter on purpose. A day produces at most six levels, which is scarce enough to show them all and let the grade speak.
SEQUENCE STATISTICS
Six pairs, following the natural hand-off: Asia levels are judged by London, London levels by New York, New York levels by the next Asia. For each pair the dashboard shows the swept share, run share, held share, and n, the number of judged levels behind those percentages. Held means the judging session closed without resolving the level. The optional custom session gets the full level lifecycle but stays out of these statistics.
This is regime information. If "AS.H in LDN" shows 36 percent swept while the lifetime base is 45, London is currently respecting Asia highs more than usual. An alert can warn you when a pair crosses 70 percent swept.
THE DEAD ZONE
Between the New York close and the Asia open, nothing is open. I named that window the Dead Zone, and it does real work here. Liquidity is thinnest there. A New York level that gets run inside the Dead Zone disappears before Asia ever gets to judge it. That is why the New York pairs always show a smaller n: n only counts levels that survived until their judging session opened. The dashboard names the Dead Zone when you are in it and counts down to the next open. Neutral shading, on by default, makes it visible on the chart. It is defined as "no session live", so it stays correct through every daylight saving (DST) change, and with Weekdays Only on, the whole weekend becomes one long Dead Zone.
DASHBOARD
Session now with a closing countdown, or Dead Zone with an opening countdown. Range and volume of each session against its own average, live sessions marked. The six pairs with percentages and n. Active level count, the lifetime swept versus run ratio, and Killzone now with its own countdown. Heat bars are proportional everywhere.
HOW I USE IT
My preferred timeframes, in order:
- 15m is the home base. Sessions are 30 plus bars wide, so the clean extreme component means something. The 09:30 New York open lands exactly on a bar. And the chart loads the most history, which gives the statistics their highest n.
- 5m is the execution frame. Sweeps and runs resolve on bar closes, so 5m shows the fight around a level in finer detail, and killzones become readable blocks. The cost is sample size: the statistics run on roughly a third of the history, so I treat those percentages as indicative and keep the regime read on 15m.
- 1h works but is the edge case. Hourly bars cut off the 09:30 New York open, and a six bar session makes the score coarse. Above 1h the script draws nothing on purpose.
On 15m I read the dashboard first: which session is live, how its range compares with average, and what the pair stats say about the current regime. Levels graded A or S from a session that expanded on volume are the ones I treat as real liquidity references, especially with key confluence. Then I watch how the next session treats them. A sweep, thick border, stops taken and price rejected, is a different trade than a clean run. I drop to 5m for execution around those levels and during killzones. I do not use this above 1h, and the script will tell you the same.
The way I think about it: session highs and lows are liquidity pools with a clock attached. Equal highs can form anywhere, but a session extreme tells you which desk made the level, when it stops being defended, and, through the statistics, what usually happens to it next.
SETTINGS THAT MATTER
- Sessions: four windows, each with its own IANA timezone (Asia/Tokyo, Europe/London, America/New_York by default). These are real timezone names, not UTC offsets, so daylight saving is handled automatically. The sessions simply follow their local clocks.
- Weekdays Only: off by default. Crypto trades the weekend, and weekend sessions usually grade D by themselves on thin range and volume. Turn this on and everything restricts to Monday through Friday: the weekend becomes one long Dead Zone, Friday New York levels wait for Monday Asia, and the countdown switches to a days format.
- Max Session Boxes: 42 keeps two weeks of session history for a zoomed-out view, 6 keeps two days for intraday focus.
- Run Levels Become: greyed history or deleted. Your choice of how loud the past is.
- Focus Fade: levels more than 6 ATR away from price render dimmed, gold glow included, so your eye goes to what is in play.
- Killzones: four windows in New York time, each with its own color. London Close is off by default. Killzone Range Lines adds the frozen high and low of each completed killzone as dashed lines.
- Timeframe guard: above 60 minutes the script draws nothing and says why. This is an intraday tool, and pretending otherwise would only produce misleading levels.
ALERTS
Session Opened, Session Closed, New A/S Session Level, Session Level Swept, Session Level Run, Killzone Started, Session Midline Tapped, Sweep Rate Threshold (a pair crossing 70 percent swept with n of at least 10).
CALCULATION DETAILS
- All state changes happen on confirmed bars. Sweeps, runs and statistics never repaint within a bar.
- Sessions use Pine session strings with full IANA timezone support. Without a day filter, Pine fires sessions on all seven days. That is correct for 24/7 markets, and it is what the Weekdays Only toggle changes.
- The rolling averages for range and volume use the last 20 completed sessions of the same type, calculated before the current session is added. A session is never compared with itself.
- A sweep needs a wick beyond the level with the close back inside the 0.1 ATR buffer. A run needs a close beyond the level plus the buffer. A first sweep marks the level, a later run still resolves it.
- Outcomes are only recorded while the judging session is open. A level that survives its judge counts as held at the judge's close.
- The statistics are computed from the bars your chart loads. They reload per chart timeframe. 15m loads the most history and gives the highest n. On 5m the same engine runs on roughly a third of the sample, treat those percentages as indicative.
HONEST LIMITATIONS
- The statistics describe the past, they do not predict. They tell you what this chart did over the loaded history, not what it will do next.
- n differs per pair by design. Levels run inside the Dead Zone leave the population before their judging session opens, which is why the New York pairs carry a smaller n. That is honest counting, not a bug.
- Statistics depend on the chart timeframe and the loaded history, so two timeframes show different percentages. Neither is wrong, they measure different samples.
- With Weekdays Only off, weekend sessions are part of the statistics. With it on, both n and the percentages change, because you measure a different market. Neither setting is the truth, they answer different questions.
- Scores compare a session with its own rolling history, so the first 20 sessions of each type on a fresh chart carry less reliable scores while the averages fill up.
- On 1h charts bar alignment can cut off session opens (there is no 09:30 bar on an hourly chart). That is part of why the timeframe guard sits at 60 minutes.
ORIGINALITY
The session and killzone concepts come from the public ICT vocabulary and from years of session-based intraday trading. Every line of code, the scoring system, the sweep versus run grammar, the judged-while-open statistics engine, the Dead Zone concept and the visual language are my own work.
Questions and suggestions are welcome in the comments. If the stats surprise you on your market, that is usually the most interesting place to start reading.
Indicator

Multi-Engine MatrixTitle: Multi-Engine Matrix
Description:
The Multi-Engine Matrix is an advanced, all-in-one trading suite designed to bring institutional concepts and momentum oscillators directly onto your main chart. By combining session or timeframe-based liquidity ranges with customizable oscillator projections and a real-time data dashboard, this indicator eliminates the need for multiple chart panes, keeping your workspace clean and highly informative.
🌟 Core Features
1. Dynamic Range & Liquidity Sweeps
The indicator automatically boxes price action based on your chosen mode, tracking the Highest High (HH), Lowest Low (LL), and the
Volume Point of Control (POC).
Session Mode: Tracks the Asian, London, and New York sessions using customizable time inputs.
Timeframe Mode: Tracks ranges based on a selected Higher Timeframe (e.g., Daily or 4H).
Liquidity Sweeps: When price breaks out of a historical session/timeframe box and sweeps the HH or LL, the level turns red and is clearly marked with an "X", highlighting potential liquidity grabs and reversal zones.
Volume POC: Displays the Point of Control for each active and historical range, acting as a magnet or support/resistance level.
2. On-Chart Multi-Engine Oscillators
Forget opening separate indicator panes at the bottom of your chart. The Multi-Engine Matrix projects up to two momentum oscillators (Top Engine and Bottom Engine) directly above and below the active price ranges.
Available Engines: RSI, Stochastic RSI, WaveTrend, and DMI.
Customizable Size: Adjust the projection height (Small, Medium, Large) and the distance from the price action.
Real-time Visualization: Watch momentum diverge or align with price action within the same visual context. WaveTrend momentum histograms, RSI overbought/oversold zones, and DI crossover dynamics are beautifully rendered as on-chart polylines.
3. Real-Time Bias Dashboard
A sleek, adaptive dashboard is positioned on your chart (top right by default) to give you an immediate macroeconomic and momentum overview.
Active Session: Instantly know which market session you are currently trading.
Daily & Weekly Bias: Automatically calculates if the current price is Bullish or Bearish relative to the Daily and Weekly open levels.
Live Metrics: Displays the exact current values for RSI, WaveTrend Momentum, and Directional Movement (DI+ / DI-).
Daily CVD (Cumulative Volume Delta): Tracks intraday buying and selling pressure to gauge true market intent.
4. Quality of Life Features
Moving Averages & VWAP: Optional overlays for session VWAP and your choice of Moving Average (SMA, EMA, WMA, RMA).
Adaptive UI: Fully supports PulseWire's Light and Dark modes. Text colors, labels, and borders automatically adapt to your chart's background for optimal visibility.
⚙️ How to Use
Set Your Mode: Choose whether you want to trade based on specific Time Sessions (Asian/London/NY) or Fixed Timeframes.
Select Your Engines: Choose your preferred momentum oscillators for the Top and Bottom engines.
Watch for Sweeps: Look for price sweeping the historical highs (HH) or lows (LL) marked by a red "X". Combine this with extreme readings on the projected oscillators to spot high-probability reversal setups.
Confirm with the Dashboard: Use the Daily/Weekly bias and CVD metrics to ensure you are trading in the direction of the underlying momentum.
Disclaimer:
The information provided by this script is for educational and informational purposes only and does not constitute financial advice. Trading in financial markets involves a high degree of risk and may not be suitable for all investors. Past performance is not indicative of future results. Always conduct your own research and backtest thoroughly before risking real capital. Indicator

Session Edge Profiler | Flux ChartsGENERAL OVERVIEW:
The Session Edge Profiler is a statistical dashboard indicator that profiles up to five configurable trading sessions (Asia, London, NY AM, NY Lunch, NY PM by default) across the available completed trading days loaded on the chart. The indicator records each session's range, volume, directional outcome, and smart money structure (Fair Value Gaps, swing breaks, higher highs, lower lows) on every completed day, then surfaces the resulting statistics in a configurable on-chart dashboard with progress bars and best value markers.
For every metric, the indicator filters history by the selected weekdays. Range-based metrics are normalized against the previous daily ATR for cross-volatility comparison, while volume, directional, extreme, and structure metrics are calculated directly from completed session records. The indicator also computes percentile rankings of the current session range against its historical distribution. Session boxes can be plotted for visual reference, and a live label tracks the active session's running range against its historical average and percentile rank in real time. The indicator is statistical, session based, dashboard driven, and includes one alert condition for sessions exceeding the 90th percentile of their historical range distribution.
WHAT IS THE THEORY BEHIND THE INDICATOR?:
Markets do not move uniformly across the day. Each trading session carries different participant types, different volume profiles, and different structural behaviors. The Asia session tends to be range bound and accumulative. The London session frequently sweeps overnight liquidity. NY AM often produces the largest expansions of the day. NY Lunch is typically the lowest volume window. NY PM frequently reverses or extends NY AM moves into the close.
These tendencies are widely cited but rarely measured per instrument. The Session Edge Profiler quantifies them. By recording per session statistics across the historical window available on the chart, and by filtering by selected weekdays, the indicator builds an empirical profile of how each session has actually behaved on a specific symbol rather than relying on generalized assumptions. The result is a session level statistical profile that can be compared against the current session in real time, identifying when a given session is behaving unusually large, unusually quiet, or consistent with its historical edge.
SESSION EDGE PROFILER FEATURES:
◇ Session tracking with customizable times, names, and colors
◇ Statistical dashboard with up to thirteen configurable metrics
◇ ATR normalized range comparison across sessions
◇ Today percentile ranking of the live session range
◇ Daily extremes tracking (HOD %, LOD %)
◇ Directional statistics (Bull %, Continuation %)
◇ Volume profiling (Vol Share %, Avg Vol)
◇ Smart money structure analytics (FVGs, Swing Breaks, FVG Survival, HH, LL)
◇ Active session live label with real time percentile and average comparison
◇ Session range boxes with current and historical display
◇ Weekday filtering applied uniformly across all statistics
◇ Dashboard theming (Dark or Light), nine position options, and five text sizes
◇ High percentile range alert
SESSION TRACKING AND RANGE BOXES:
🔹What is Session Tracking?
Session Tracking is the foundation of the indicator. Five configurable session windows are monitored on every bar. When price enters a session window, the indicator opens an active tracking object that records the session's high, low, open price, total volume, and structural events. When price leaves the session window, the active object is closed and its values are committed to the historical record for that session.
🔹Why is Session Tracking important?
Every statistic computed by the indicator depends on accurately segmenting the trading day into sessions. Without a reliable session lifecycle, range comparisons, HOD/LOD attribution, volume share, and structure counts would be inconsistent. The session lifecycle also defines what gets drawn on the chart: the live range box for the current session and, optionally, persistent boxes for historical sessions.
🔹How is Session Tracking detected and calculated?
Every bar is checked against the configured session time windows in New York time. The moment price enters a session window, a new session opens: the session's high, low, open, and volume start fresh, and the FVG, swing break, HH, and LL counters reset to zero. While the session is active, the high updates to the running maximum, the low updates to the running minimum, and volume accumulates with each new bar. When price leaves the session window, the session is closed: the final high, low, open, close, and volume are committed and the session is marked complete for the day.
A trading day boundary is determined by shifting time forward by 6 hours and comparing the resulting calendar date in New York time. This shift causes a new day to register at 18:00 NY time, aligning the trading day with the start of the Asia session at 19:00 NY. When a new trading day begins, the completed session statistics from the previous day are added to each session's history along with the weekday they were recorded on, the daily fields reset, and a new tracking cycle begins.
🔹Settings: Sessions Group
◇ Enable Toggle: Turns the session on or off. Disabled sessions are excluded from the dashboard, the live label, and all calculations.
◇ Session Name: Custom label used in the dashboard column header, on the session box, and in the active session label. Defaults: Asia, London, NY AM, NY Lunch, NY PM.
◇ Session Time: The session window in NY time using HHMM,HHMM format. Defaults: Asia 1900,0200, London 0200,0830, NY AM 0830,1200, NY Lunch 1200,1330, NY PM 1330,1600.
◇ Session Color: Color applied to the dashboard column header (when active), the session box border and background, and the active session label.
🔹Customization
Display Group
◇ Show Session Ranges: When enabled, plots a translucent box around the current session showing its running high and low, with the session name labeled in the top left corner. Historical session boxes are also retained on the chart for visual reference.
◇ Show Active Session Stats: When enabled, plots a live label next to the most recent bar of the active session displaying the session name, current range, current range as a percentage of historical average, and current percentile rank.
◇ Label Size: Sets the text size of the active session label. Options: Tiny, Small, Normal, Large, Huge.
STATISTICAL DASHBOARD:
🔹What is the Statistical Dashboard?
The Statistical Dashboard is a configurable table that summarizes the historical statistical profile of every enabled session. Rows correspond to metrics. Columns correspond to sessions. Each cell shows the metric value for that session, optionally rendered with a unicode progress bar and a star marker (★) for the session with the highest value on metrics where "highest" is the meaningful target.
🔹Why is the Statistical Dashboard important?
The dashboard is where the indicator's measurements surface. Rather than requiring a trader to scroll through chart history and visually estimate session behavior, the dashboard reduces the entire weekday filtered history of every session to a compact table of directly comparable numbers. The header line shows the active weekday filter and the maximum number of historical days used in any cell, providing immediate context for the statistical sample size.
🔹How is the Statistical Dashboard calculated?
On the most recent bar of the chart, the indicator reviews each enabled session's stored history. For every past session, it checks whether the weekday it was recorded on is included in the selected weekday filter. If yes, the session contributes to the running totals: range sums, volume sums, HOD/LOD counts, bull counts, continuation counts, FVG counts, swing break counts, HH counts, LL counts, and volume share. After the review, totals are converted to averages or percentages and written to the dashboard cells.
Best value markers are computed by tracking the maximum value across all enabled sessions for the metrics where "highest" is the intended target: Avg Range, HOD %, LOD %, Avg FVGs, and FVG Survival %. For metrics where directional bias matters (Bull %, Continuation %) or where higher is not strictly better (Vol Share %, Avg Swing Breaks, Avg HH, Avg LL), no best marker is shown.
[Screenshot: Full dashboard table screenshot in Dark Mode with every metric row enabled. Header line showing the active weekday filter and sample size, column headers in each session's color, progress bars rendered in percentage cells, and the SMART MONEY divider row visible separating the structural metrics from the range and directional metrics above.
🔹Settings: Dashboard Group
◇ Show Dashboard: Master toggle for the entire dashboard. When disabled, no table is rendered.
◇ Theme: Dark Mode or Light Mode. Controls background, row, header, and text colors. The best value highlight cell uses a deeper accent color on the selected theme.
◇ Position: Table placement on the chart. Options cover all nine combinations of vertical (Top, Middle, Bottom) and horizontal (Left, Center, Right) anchoring.
◇ Text Size: Tiny, Small, Normal, Large, Huge. Affects every cell.
◇ Show Progress Bars: When enabled, percentage and percentile cells render an 8 segment unicode bar alongside the numeric value, scaling from 0% to 100%. When disabled, only the numeric value is shown.
🔹Customization
Metric Toggles
Each of the following dashboard rows can be independently shown or hidden:
◇ Avg Range (ATR%)
◇ Vol Share %
◇ Avg Vol
◇ HOD %
◇ LOD %
◇ Bull %
◇ Continuation %
◇ Today Percentile
◇ Avg FVGs
◇ Avg Swing Breaks
◇ FVG Survival %
◇ Avg HH
◇ Avg LL
🔹Signal Colors
◇ High: Color applied to high tier values (Today Percentile at or above 75, FVG Survival at or above 70). Default: green.
◇ Mid: Color applied to mid tier values (Today Percentile between 25 and 75, FVG Survival between 40 and 70). Default: orange.
◇ Low: Color applied to low tier values (Today Percentile at or below 25, FVG Survival below 40). Default: red.
ATR NORMALIZED RANGE STATISTICS:
🔹What is ATR Normalized Range?
The Avg Range (ATR%) metric expresses each session's average range as a percentage of the daily Average True Range. A value of 45% means the session, on average, covered 45% of a full day's ATR.
🔹Why is ATR Normalized Range important?
Raw range values cannot be compared across instruments or across volatility regimes. A 200 point range means very different things in calm versus volatile markets. Normalizing by daily ATR removes that distortion: the resulting percentage is directly comparable between sessions, between symbols, and between months of history.
🔹How is ATR Normalized Range calculated?
For each completed session, the raw range (session high minus session low) is divided by the daily ATR value of the previous completed day. The daily ATR uses a configurable length (default 14) and is always read from the previous daily bar, which means the value is fixed for the entire current trading day and never repaints. The session's normalized range is stored alongside its weekday in the history. When the dashboard renders, the indicator averages all normalized ranges from sessions whose weekday passes the filter, then multiplies by 100 to produce the displayed percentage.
🔹What is Today Percentile?
Today Percentile expresses where the current session's live range sits within the historical distribution of that same session's past ranges. The comparison stays within the session: today's London is compared only against past Londons, today's NY AM only against past NY AMs, and so on, all filtered by the selected weekdays. A value of 80 means the live range is larger than 80% of past occurrences of the same session on those weekdays.
🔹How is Today Percentile calculated?
For each enabled session, the indicator computes the current normalized range (current session range divided by daily ATR). It then walks through that session's own past history, counting how many past sessions have a normalized range less than or equal to the current value, while skipping any past session whose weekday is not enabled in the filter. The percentile is the percentage of qualifying past sessions at or below the current value.
The cell color reflects the tier: at or above 75 uses the High color, at or below 25 uses the Low color, otherwise the Mid color. The numeric value is rendered with an ordinal suffix (1st, 2nd, 3rd, 4th, and so on) for readability, and the progress bar segments scale from 0 to 100.
🔹Settings:Filters Group
◇ ATR Length: Lookback for the daily ATR used in normalization. Range: 5 to 50. Default: 14.
DAILY EXTREMES TRACKING:
🔹What are HOD % and LOD %?
HOD % measures how often a given session contained the day's highest price. LOD % measures how often it contained the day's lowest price. Both are expressed as a percentage of the total weekday filtered days in history.
🔹Why are HOD/LOD statistics important?
Knowing which session historically sets the daily extreme on a given instrument helps frame intraday liquidity expectations. A session with a high HOD % is the session that most frequently posts the day's selling extreme. A session with a high LOD % most frequently posts the day's buying extreme. On many instruments NY AM dominates both, but the ratio shifts by symbol and by weekday, which is why measuring rather than assuming is useful.
🔹How are HOD % and LOD % calculated?
While the trading day is in progress, the indicator continuously tracks the day's running high and running low across all bars, not just within session windows. When a new trading day begins, every completed session from the previous day is checked: if the session's recorded high matches the day's high, that session is tagged as the HOD session; if its low matches the day's low, it is tagged as the LOD session. These tags are stored with the session in history. When the dashboard renders, it counts how many sessions in the weekday filtered history carry each tag and converts those counts to percentages. The session with the highest HOD % across all enabled sessions receives a star marker, and the same applies to LOD %.
DIRECTIONAL STATISTICS:
🔹What are Bull % and Continuation %?
Bull % is the percentage of historical sessions that closed higher than they opened. Continuation % is the percentage of historical sessions whose direction matched the previous occurrence of the same session.
🔹Why are directional statistics important?
Bull % captures the session's directional skew. A session with Bull % consistently above 60% on a particular instrument and weekday set has a measurable upward tendency. Continuation % captures the session's persistence: a high continuation rate means the session frequently extends the previous day's same session direction, while a low rate suggests the session tends to reverse the prior day's bias.
🔹How are Bull % and Continuation % calculated?
For each completed session, Bull is true when the session's close (the chart close at the bar where the session ended) exceeds its open. Continuation is true when the previous occurrence of the same session was bullish in the same direction (both bullish or both bearish). The very first occurrence in history has no previous reference and is excluded from the continuation calculation. The dashboard divides the bullish session count by the total session count for Bull %, and the matched continuation count by the continuation eligible count for Continuation %.
No best value marker is shown for either metric, since "highest" is not inherently better: directional bias and continuation are interpretive measurements rather than competitive ones across sessions.
VOLUME PROFILING:
🔹What is Volume Profiling?
The indicator tracks two volume metrics per session: Vol Share % (the session's average share of total daily volume) and Avg Vol (the session's average absolute volume).
🔹Why is Volume Profiling important?
Volume distribution across the day reveals participant activity. Sessions that historically account for a disproportionate share of daily volume are the sessions where flow is most concentrated. Sessions with low volume share (typically NY Lunch) are statistical low conviction windows where moves are more likely to be lower quality.
🔹How is Volume Profiling calculated?
While each session is active, the indicator accumulates bar volume into the session's running total. When the trading day rolls over, total day volume is computed as the sum of all completed session volumes for that day. Each session's Vol Share is then computed as its session volume divided by total day volume, multiplied by 100, and saved into the session's history alongside the absolute volume. When the dashboard renders, Avg Vol is the simple weekday filtered mean of recorded session volumes, and Vol Share % is averaged across the weekday filtered history.
SMART MONEY STRUCTURE ANALYTICS:
🔹What are the Smart Money metrics?
The Smart Money section of the dashboard surfaces four structural counters per session:
◇ Avg FVGs: average number of Fair Value Gaps formed during the session.
◇ Avg Swing Breaks: average instances where the close pierces a previously confirmed pivot high or pivot low.
◇ FVG Survival %: percentage of FVGs that were not invalidated within the same session in which they formed.
◇ Avg HH and Avg LL: average count of new higher highs and lower lows in pivot structure during the session.
🔹Why are Smart Money metrics important?
These metrics quantify the structural activity of each session. High FVG counts indicate aggressive displacement and gap creation. High Swing Break counts indicate liquidity sweeps and structural inflection. FVG Survival measures how often gaps formed during the session are respected (not immediately filled in the opposite direction), giving a session level reliability score for the FVG concept. HH and LL counts profile each session's tendency to extend structure in one direction versus the other.
🔹How are Smart Money metrics calculated?
A Fair Value Gap is detected as a 3 bar pattern: a bullish FVG forms when the current bar's low sits above the high from two bars ago, and a bearish FVG forms when the current bar's high sits below the low from two bars ago. Whenever an FVG forms during an active session, the session's FVG counter increments and the gap level (the high from two bars ago for a bullish FVG, the low from two bars ago for a bearish FVG) is added to a list of active gaps for that session, along with its direction.
On every later bar within the same session, the indicator checks each active gap. If price closes below a bullish FVG's level, or closes above a bearish FVG's level, the gap is treated as invalidated and removed from the active list, and the session's invalidation counter increments. At the end of the session, FVG Survival % is computed as the count of total FVGs minus invalidated FVGs, divided by total FVGs, expressed as a percentage. The cell is color coded by tier: at or above 70 uses High, at or above 40 uses Mid, otherwise Low.
Swing breaks use a configurable pivot strength (default 5 bars on each side). When a pivot high confirms and price subsequently closes above that pivot level, a bullish swing break fires and the pivot is consumed (cleared from active tracking). The same applies symmetrically for pivot lows. Each break increments the active session's Swing Break counter.
HH and LL counts use the same pivot detection. When a new pivot high confirms with a level greater than the session's previous tracked pivot high, the session's HH counter increments. When a new pivot low confirms with a level less than the session's previous tracked pivot low, the LL counter increments.
🔹Settings: Filters Group
◇ Pivot Strength: Bars on each side required to confirm a pivot high or pivot low for the swing break and HH/LL calculations. Range: 2 to 20. Default: 5. Higher values produce fewer, more significant pivots; lower values produce more frequent, noisier pivots.
ACTIVE SESSION LIVE LABEL:
🔹What is the Active Session Live Label?
A floating label that appears next to the most recent bar of the active session, displaying live statistics for the session currently in progress.
🔹Why is the Active Session Live Label important?
The dashboard summarizes completed historical sessions. The live label answers a different question: how does the session that is currently developing compare to history, right now? It allows a trader to see, mid session, whether the current session is tracking above, near, or below its average range and what percentile it currently occupies, without waiting for the session to close.
🔹How is the Active Session Live Label calculated?
The label content includes the session name, the live range (current session high minus current session low), the ratio of the live normalized range to the historical average normalized range expressed as a percentage, and the current percentile. The percentile is computed by iterating the session's weekday filtered history and counting how many records have a normalized range at or below the live value.
The label position updates every bar to track the right edge of the current session at its current high. When the session ends, the label is deleted.
🔹Settings
◇ Show Active Session Stats: Toggle for the label.
◇ Label Size: Sets text size. Options: Tiny, Small, Normal, Large, Huge.
WEEKDAY FILTERING:
🔹What is Weekday Filtering?
A set of seven toggles (Sunday through Saturday) that determines which weekdays contribute to every statistic on the dashboard, the live label, and the alert condition.
🔹Why is Weekday Filtering important?
Session behavior is not uniform across the week. Monday open behavior differs from midweek behavior. Friday afternoon often shows reduced participation. By filtering history to only the selected weekdays, traders can profile each session under conditions that match the current trading day, rather than averaging in unrelated days.
🔹How is Weekday Filtering applied?
Each session in history is tagged with the weekday it was recorded on. Every calculation in the dashboard, the live label, and the alert checks that weekday against the user's selection and skips any session whose weekday is not enabled. The dashboard header line displays a compact label of the active filter: "All" when every weekday is enabled, "Weekdays" when only Monday through Friday are enabled, or a custom combination such as "M/Tu/W" otherwise. The header also shows the largest number of sessions any column was able to use after filtering, which serves as the sample size indicator.
🔹Settings: Filters Group
◇ Sun, Mon, Tue, Wed, Thu, Fri, Sat: Individual toggles. Defaults: Mon, Tue, Wed, Thu, Fri enabled; Sun and Sat disabled.
ALERTS:
🔹What alerts are available?
A single alert condition is provided:
◇ Range > 90th Percentile: Fires when an active session's current normalized range exceeds the 90th percentile of its weekday filtered historical normalized range distribution.
🔹When does it fire?
On every bar where at least one enabled, active session has a current normalized range above which 90% of its history sits. The alert fires once per qualifying bar, allowing traders to be notified when a session is in the process of becoming statistically large relative to its own history.
IMPORTANT NOTES:
◇ All session times are evaluated in New York time regardless of the chart's display timezone. Adjust session times if profiling instruments where session timing conventions differ from the defaults.
◇ Trading day boundaries are anchored to 18:00 NY time (the 6 hour shift before midnight) so that the Asia session opens at the start of each new trading day. This is the convention used for HOD/LOD attribution and for pushing completed session records to history.
◇ Daily ATR is always read from the previous completed daily bar. This means the value used for normalization is fixed for the current trading day and does not repaint as new bars print, while still giving the live percentile calculations a stable reference.
◇ The session history for each session is built progressively as the chart loads. Sessions on the very first day on the chart cannot contribute to continuation statistics because no earlier occurrence of the same session exists to compare against.
◇ Best value markers (★) are shown only on metrics where "highest" is the meaningful target: Avg Range, HOD %, LOD %, Avg FVGs, and FVG Survival %. Other metrics intentionally omit the marker.
◇ FVG Survival counts gaps that survive to the end of the session in which they formed. A gap that survives the session but is invalidated on a later day is still counted as survived for the session that created it.
UNIQUENESS:
The Session Edge Profiler distinguishes itself from common session indicators in several ways. Most session tools plot boxes and stop there, while this indicator extends session tracking into a full statistical profile with thirteen configurable metrics per session, reducing the entire history of every session to a single, scannable table. Range comparisons use ATR normalization rather than raw point values, making the dashboard meaningful across volatility regimes and instruments without per chart recalibration, and percentile ranking of the live session against history provides a single number answer to a question many traders ask intuitively: is this session unusually large or unusually small for this time and this weekday? FVG and swing break tracking are integrated into the session profile rather than treated as separate indicators, allowing direct comparison of which session produces the most structural activity and how reliable that structure tends to be on a given instrument. FVG Survival % quantifies a concept that is rarely measured anywhere else: how often each session's FVGs actually hold within their own session, converting a qualitative idea into a session level reliability score. Weekday filtering applies uniformly to every statistic on the dashboard, the live label, and the alert, allowing traders to profile sessions only on days that match the current trading day rather than diluting the sample with unrelated weekdays. Best value markers and progress bars make the dashboard scannable at a glance, with the strongest session per metric immediately visible without parsing numbers. Finally, the active session live label provides real time positional context that complements the historical dashboard: the dashboard answers what a session usually does, while the label answers what the session is doing right now, with both views driven by the same underlying statistical model. Indicator
