ICT Sessions & Killzones [JOAT]ICT Sessions and Killzones
Maps the trading day into sessions and killzones, then shows where each session's liquidity rests and when the next session raids it.
What it is
Intraday price is organised by time: different sessions have different behaviour, and each one leaves liquidity that the next session hunts. This indicator frames when the market is active and where that liquidity sits, so the raids become obvious in advance. It is an original session-mapping tool built around the widely-taught concept of session killzones and inter-session liquidity.
How it works
• Session boxes — Asia, London, New York AM and New York PM are each boxed from their own high to their own low across their clock window. The box is that session's realised range, and its edges are the liquidity the following sessions tend to seek.
• Liquidity lines — every completed session leaves its high and low as thin levels extended to the right. Resting buy-side liquidity sits at the highs, sell-side at the lows, each labelled.
• Sweeps — when a later session trades through a prior session's high or low, that raid is tagged, marking where stops were likely taken.
• Classic reference levels — the previous day's high and low and the midnight open are drawn as the anchor points this style of analysis leans on.
• Bias read — a simple, transparent read from the midnight open and the most recent killzone sweep-and-reclaim prints an understated directional tag. This tool is about mapping context and timing; it deliberately shows direction rather than full trade management.
The dashboard
An adjustable session-clock panel shows which session is currently active, the countdown context of the day, the most recent liquidity event, the current bias, and the reference levels in play, so the state of the day is readable at a glance.
How to use it
• Set the session windows and timezone to your market.
• Watch for a session to sweep the prior session's high or low and then reclaim — that is the timing this map is built to highlight.
• Use it as a context and timing layer beneath your own entry method, or alongside a structure or entry tool.
Settings
Session windows and timezone, which sessions and reference levels to display, sweep marking, bias options, plus full visual and dashboard controls.
Originality and usefulness
The contribution is a single, coherent map of session ranges, inter-session liquidity, sweeps and classic reference levels, with a transparent bias read — assembled so a trader can see the day's liquidity structure and timing without cluttering the chart. Everything evaluates on confirmed bars and does not repaint.
Notes and limitations
• Session times depend on the timezone and the instrument's trading hours; set them correctly for your market.
• The bias read is intentionally simple context, not a standalone trade signal.
• This tool maps liquidity and timing; it does not place stops or targets for you.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
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

GMS Session Rays (Sydney/Asia/London/NY)A lightweight Pine v6 indicator that plots the previous completed session’s High and Low for the four major sessions—Sydney, Asia, London, New York—so you always see the most actionable structure levels without chart clutter. Lines auto-update at the end of each session and extend right as horizontal rays. Labels are clean, stack automatically to avoid overlap, and can be placed on the left or right side of the chart.
What it shows
Previous session High/Low for each enabled session (not the current live session).
Right-extended rays at those prices, updated when the session closes.
Optional labels per session (e.g., “sydney high”, “london low”), with auto-stacking to prevent overlaps.
Customization
Per-session toggles: show/hide each session; show/hide labels per session.
Style controls: color, width, and line style (Solid/Dotted/Dashed) per session.
Label controls: global on/off, Left/Right placement, bars offset, Y-offset (in ticks), size (Tiny/Small/Normal), auto-stacking with adjustable step.
Session windows: editable HHMM-HHMM for Sydney/Asia/London/NY.
Timezone: set a single indicator timezone (default America/New_York).
Only Today mode: clears older rays daily to keep charts minimal.
How it works (under the hood)
Tracks High/Low only while a session is active; when it ends, those values are frozen and plotted as the previous session levels. Indicator

HTF Session Sweep ModelHTF Session Sweep Model
The HTF Session Sweep Model is a session-based market structure tool designed to help traders observe how price interacts with the previous confirmed higher-timeframe candle during active trading sessions.
This script was created because session trading can become messy when traders manually mark multiple highs, lows, opens, boxes, sweeps, breakouts, and traps across different timeframes. Instead of adding unrelated indicators together, this model uses one central reference point: the previous confirmed HTF candle. Once an enabled session begins, the script maps that HTF candle’s high, low, midpoint, and optional session open level onto the chart. Price action during that session is then classified around that reference range.
The purpose of the script is not to predict price. The purpose is to provide a clean framework for reading session behaviour around a higher-timeframe range.
Core Concept
The script is built around the idea that the previous higher-timeframe candle can provide useful reference levels for intraday price behaviour. Its high and low can act as areas where liquidity may be taken, where breakouts may develop, or where failed breakouts may occur.
The model does not project the HTF candle before the session opens. It activates when an enabled session opens. At that point, it takes the most recent fully confirmed HTF candle and uses it as the active session reference.
This creates a consistent question for the trader:
How is price reacting around the previous confirmed HTF candle during the current session?
What Makes This Script Original
This script is not designed as a simple combination of unrelated indicators. The components are connected through one session-based model:
1. Session engine
The script allows users to enable Asia, London, and New York sessions. Each session can use its own time window and timezone setting.
2. HTF reference map
At the start of an enabled session, the script maps the previous confirmed HTF candle. This includes the HTF high, low, midpoint, optional candle body, and optional session open level.
3. Sweep model
The script checks whether price sweeps above the HTF high or below the HTF low. Users can choose between a basic wick sweep or a stricter sweep that requires price to close back inside the HTF range.
4. Delivery shift confirmation
After a sweep occurs, the script can wait for a delivery shift confirmation before marking a sweep entry. A bearish confirmation requires price to break below a recent low range after a high sweep. A bullish confirmation requires price to break above a recent high range after a low sweep.
5. Breakout model
If price closes and holds outside the HTF range, the script can classify the move as a breakout. Users can set how many bars price must hold beyond the range.
6. Displacement filter
The breakout model can optionally require stronger candle movement by comparing the candle body against ATR. This helps filter weaker breaks that do not show meaningful displacement.
7. Failed breakout trap model
If price breaks beyond the HTF high or low and then returns back inside the range, the script can classify that move as a failed breakout trap. A Bull Trap means price broke above the HTF high and failed back inside. A Bear Trap means price broke below the HTF low and failed back inside.
These parts work together because they all answer the same question: did price sweep the HTF range, accept beyond it, or fail after breaking it?
How The Script Calculates The Model
When a new enabled session begins, the script requests the previous confirmed candle from the selected higher timeframe. The selected HTF may be adjusted by the user, such as 1H, 2H, 4H, Daily, or Weekly.
The script then stores the following values:
* Previous HTF open
* Previous HTF high
* Previous HTF low
* Previous HTF close
* Previous HTF midpoint
* Current session open
These values become the session reference map.
During the active session, the script checks price against the HTF high and low.
High Sweep:
A high sweep is detected when price trades above the previous HTF high.
Low Sweep:
A low sweep is detected when price trades below the previous HTF low.
Close Back Inside Sweep Mode:
When this stricter mode is selected, a high sweep requires price to close back below the HTF high. A low sweep requires price to close back above the HTF low.
Sweep Entry:
A sweep entry is not triggered by the sweep alone. After a sweep, the script waits for a delivery shift confirmation using the selected lookback length.
Breakout Long:
A breakout long is detected when price closes above the HTF high and holds above it for the selected number of bars.
Breakout Short:
A breakout short is detected when price closes below the HTF low and holds below it for the selected number of bars.
Bull Trap:
A bull trap is detected when price breaks above the HTF high but later closes back below the HTF high.
Bear Trap:
A bear trap is detected when price breaks below the HTF low but later closes back above the HTF low.
Volume Filter:
The optional volume filter compares current volume against a moving average of volume multiplied by the selected volume multiplier. When enabled, sweep and breakout conditions must also pass the volume filter.
Bar Close Confirmation:
The script includes an option to confirm signals only after the bar closes. This is enabled by default to make signals more stable for alerts and historical review.
How To Use This Script
1. Choose the reference timeframe
Select the HTF candle you want to use as the session reference. Intraday traders may use 1H, 2H, or 4H. Higher-timeframe traders may prefer Daily or Weekly.
2. Enable the sessions you trade
The script supports Asia, London, and New York sessions. Users can enable or disable each session and adjust the session window and timezone.
3. Watch the HTF range during the session
Once the session opens, the script draws the previous confirmed HTF candle range. The high and low are the main reaction levels.
4. Read price behaviour around the range
If price sweeps a level and returns inside, it may indicate a liquidity sweep.
If price closes and holds outside the range, it may indicate breakout continuation.
If price breaks outside and then returns inside, it may indicate a failed breakout trap.
5. Use the labels as classifications, not automatic trade commands
The labels are designed to classify price behaviour. They are not guaranteed buy or sell signals.
6. Combine with your own confirmation
Users should combine this model with their own market context, risk management, higher-timeframe bias, and execution plan.
Main Visual Elements
HTF Range Box:
Shows the previous confirmed HTF candle range during the active session.
HTF Candle Display:
Optionally displays the previous HTF candle body and wick on the chart.
High and Low Lines:
Marks the previous HTF high and low.
Midpoint Line:
Marks the midpoint of the HTF range.
Session Open Line:
Marks the price at the open of the active session.
Sweep Marks:
Marks when price sweeps above or below the HTF range.
Sweep Entry Marks:
Marks when a sweep is followed by delivery shift confirmation.
Breakout Marks:
Marks when price closes and holds outside the HTF range.
Trap Marks:
Marks failed breakout conditions as Bull Trap or Bear Trap.
Dashboard:
Optional compact dashboard showing the current session, HTF reference, confirmation mode, state, high, low, and midpoint.
Important Settings
Reference HTF Candle:
Controls which higher timeframe is used for the previous confirmed candle reference.
Sweep Mode:
Choose between Wick Sweep or Wick Sweep + Close Back Inside.
Confirm Signals On Bar Close:
When enabled, signals confirm after candle close. This is recommended for cleaner historical review and alerts.
Delivery Shift Lookback:
Controls how many bars are used to confirm a shift after a sweep.
Breakout Hold Bars:
Controls how many bars price must remain outside the HTF range before a breakout is confirmed.
Displacement Filter:
Requires the candle body to be large enough compared with ATR before confirming a breakout.
Volume Filter:
Optional filter requiring current volume to exceed average volume by the selected multiplier.
Keep Historical Sessions:
When disabled, the chart stays cleaner by only showing the current/latest session map. When enabled, historical session maps can remain visible, with a limit to reduce chart clutter.
Visual Modes:
Clean mode is designed for normal use.
Stealth mode reduces visual intensity.
Debug mode makes internal reference levels easier to inspect.
Alerts
The script includes alert conditions for:
* HTF high swept
* HTF low swept
* Sweep short
* Sweep long
* Breakout long
* Breakout short
* Bull trap
* Bear trap
* Master alert for any model event
The master alert is included so users can create one alert condition instead of setting up many separate alerts.
Recommended Use
This script is best suited for traders who use session timing, higher-timeframe ranges, liquidity sweeps, breakout continuation, and failed breakout concepts.
It may be useful on intraday charts where Asia, London, and New York session behaviour matters. It can also be adjusted for different markets and timeframes by changing the reference HTF and session settings.
Limitations
This script does not predict future price movement. It classifies how price behaves around the previous confirmed HTF candle during active sessions.
A sweep does not guarantee a reversal.
A breakout does not guarantee continuation.
A trap does not guarantee a full trend change.
Volume data may behave differently depending on the market and symbol.
Session behaviour can vary across forex, crypto, futures, indices, and stocks.
This tool should be used as a market structure framework, not as a standalone trading system.
Originality And Usefulness Statement
The originality of this script is in how it combines session timing, previous confirmed HTF candle mapping, sweep classification, breakout confirmation, and failed breakout detection into one connected workflow.
The script is useful because it gives traders a structured way to observe whether price is taking liquidity, accepting outside a higher-timeframe range, or failing after a breakout attempt. Each component supports the same central model rather than acting as an unrelated indicator mashup.
Disclaimer
This indicator is for educational and analytical use only. It is not financial advice and does not guarantee trading results. Users are responsible for their own trading decisions, testing, and risk management.
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

Indicator

Indicator

Indicator

Forex Sessions UTC + customise (DST Support)This Pine Script is designed to highlight forex trading sessions on a PulseWire chart, showing which session (Asia, London, New York, Frankfurt, Sydney) is active based on your selected timezone offset and daylight saving time (DST) settings. It also includes an option to highlight session overlaps, like the London-New York and Asia-London overlaps.
Let's break down the script in detail:
### 1. **Inputs**:
* **`timezoneOffset`**:
* This input allows you to select your local timezone offset in hours relative to UTC (e.g., -2 for UTC-2 or +3 for UTC+3). It helps adjust the session times based on your local time.
* **`isDST`**:
* A boolean input that determines if Daylight Saving Time (DST) is active or not. If DST is enabled, the session times will be adjusted by one hour.
### 2. **Function: `timeInDailyRange`**:
This function checks if the current time (bar) is within a given session's start and end time.
* **`startH, startM`**: Start time of the session (hours and minutes).
* **`endH, endM`**: End time of the session (hours and minutes).
* **`tzOffset`**: The timezone offset in hours (which adjusts the start and end times for different regions).
The function handles sessions that cross over midnight. For example, the Asia session starts at 23:00 UTC and ends at 07:00 UTC, so it checks if the current time falls within that period.
### 3. **Session Times (in UTC)**:
Each trading session has specific times defined in UTC:
* **Asia Session**: 23:00 UTC to 07:00 UTC
* **London Session**: 08:00 UTC to 16:00 UTC
* **New York Session**: 13:00 UTC to 21:00 UTC
* **Frankfurt Session**: 07:00 UTC to 15:00 UTC
* **Sydney Session**: 21:00 UTC to 05:00 UTC
These times are defined in 24-hour format, and they represent the opening and closing hours for each market.
The script uses specific colors to represent different sessions:
* **Asia**: Yellow (`asiaColor`)
* **London**: Red (`londonColor`)
* **New York**: Navy Blue (`nyColor`)
* **Frankfurt**: Blue (`frankfurtColor`)
* **Sydney**: Green (`sydneyColor`)
* **Overlaps**:
* London-NY overlap: Purple (`overlapLN`)
* Asia-London overlap: Orange (`overlapAL`)
These colors are used to highlight the background during active sessions.
### 5. **Session Highlighting**:
The script uses the `bgcolor` function to change the background color of the chart when a session is active.
* For each session, it checks whether the current time (bar) falls within the session's time range (adjusted by the `timezoneOffset`).
* If a session is active, it will highlight the chart background in the corresponding session color.
### 6. **Overlaps**:
* **London-NY Overlap**: The script checks if both the London session and the New York session are active at the same time (i.e., if their time ranges overlap). If so, it highlights the overlap area in purple.
* **Asia-London Overlap**: Similarly, the script checks if both the Asia and London sessions are active at the same time, and if so, it highlights the overlap area in orange.
### 7. **Daylight Saving Time (DST) Adjustment**:
* If the **`isDST`** flag is enabled (i.e., DST is active), the script adjusts the session start and end times by adding one hour to each session. This is because during DST, trading hours shift by one hour (usually in regions that observe DST).
* This adjustment is applied to all session times, so the script accounts for the time change and ensures that the session times are correctly displayed.
### 8. **Final Background Color Logic**:
* The `bgcolor` function checks whether each session is active by calling `timeInDailyRange` for each session and then colors the chart accordingly.
* It also checks for overlapping sessions and colors the chart with the appropriate overlap color.
### Example Scenario:
1. **Timezone Offset**: If you select `timezoneOffset = 3` (UTC+3), the session times will be adjusted by adding 3 hours to the start and end times.
2. **Daylight Saving Time (DST)**: If `isDST = true` is selected, the session start times will shift by 1 hour forward (e.g., 23:00 UTC becomes 00:00 UTC for Asia).
3. **Visual Outcome**: The chart will display different colors in the background depending on which trading session is active (e.g., red for London, navy for New York), and purple or orange for overlap sessions.
### Key Features:
* **Customizable Timezone Offset**: Adjust session times to reflect your local timezone.
* **Daylight Saving Time Support**: Automatically adjusts session times during DST.
* **Highlighting Sessions**: Color the chart background to visualize when different trading sessions are active.
* **Overlap Highlighting**: Highlights the periods when certain sessions overlap (London-NY, Asia-London).
In summary, this script is useful for traders who want to visually see when different forex trading sessions are active on the chart, with flexibility for timezone and DST adjustments.
Indicator

Quantura - Session High/LowIntroduction
“Quantura – Session High/Low” is a professional-grade session mapping indicator that automatically identifies and visualizes the highs, lows, and ranges of key global trading sessions — London, New York, and Asia. It helps traders understand when and where liquidity tends to accumulate, allowing for better market structure analysis and session-based strategy alignment.
Originality & Value
This indicator unifies the three most influential global sessions into a single, adaptive visualization tool. Unlike typical session indicators, it dynamically updates live session highs and lows in real time while marking session boundaries and transitions. Its multi-session management system allows for immediate recognition of overlapping liquidity zones — a crucial feature for institutional and intraday traders.
The value and originality come from:
Real-time tracking of session highs, lows, and developing ranges.
Simultaneous visualization of multiple global sessions.
Optional vertical range lines for clearer visual segmentation.
Customizable session times, colors, and time zone offset for global accuracy.
Automatically extending and updating lines as each session progresses.
Functionality & Core Logic
Detects the start and end of each trading session (London, New York, Asia) using built-in time logic and user-defined UTC offsets.
Initializes session-specific high and low variables at the start of each new session.
Continuously updates session high/low levels as new candles form.
Draws color-coded horizontal lines for each session’s high and low.
Optionally adds vertical dotted lines to visually connect session range extremes.
Locks each session’s range once it ends, preserving historical structure for review.
Parameters & Customization
New York Session: Enable/disable, customize time (default 15:30–21:30), and set color.
London Session: Enable/disable, customize time (default 09:00–16:30), and set color.
Asia Session: Enable/disable, customize time (default 02:30–08:00), and set color.
Vertical Line: Toggle dotted vertical lines connecting session high and low levels.
UTC Offset: Adjust session timing to align with your chart’s local time zone.
Visualization & Display
Each session is color-coded for quick identification (default: blue for London, red for New York, green for Asia).
Horizontal lines track evolving session highs and lows in real time.
Once a session closes, the lines remain fixed to mark historical range boundaries.
Vertical dotted lines (optional) visually connect the session’s high and low for clarity.
Supports full overlay display without interfering with other technical indicators.
Use Cases
Identify liquidity zones and range extremes formed during active trading sessions.
Observe session overlaps (London–New York) to anticipate volatility spikes.
Combine with volume or market structure tools for session-based confluence.
Track how price interacts with prior session highs/lows to detect potential reversals.
Analyze session-specific performance patterns for algorithmic or discretionary systems.
Limitations & Recommendations
The indicator is designed for intraday analysis and may not provide meaningful output on daily or higher timeframes.
Adjust session times and UTC offset based on your broker’s or exchange’s timezone.
Does not provide trading signals — it visualizes session structure only.
Combine with liquidity and volatility indicators for full contextual understanding.
Markets & Timeframes
Compatible with all asset classes — including crypto, forex, indices, and commodities — and optimized for intraday timeframes (1m–4h). Particularly useful for traders analyzing session overlaps and volatility transitions.
Author & Access
Developed 100% by Quantura. Published as a Open-source script indicator. Access is free.
Compliance Note
This description fully complies with PulseWire’s Script Publishing Rules and House Rules . It provides a detailed explanation of functionality, parameters, and realistic use cases without making any performance or predictive claims. Indicator

Indicator

Indicator

Key Prices & LevelsThis indicator is designed to visualize key price levels & areas for NY trading sessions based on the price action from previous day, pre-market activity and key areas from NY session itself. The purpose is to unify all key levels into a single indicator, while allowing a user to control which levels they want to visualize and how.
The indicator identifies the following:
Asia Range High/Lows, along with ability to visualize with a box
London Range High/Lows, along with ability to visualize with a box
Previous Day PM Session High/Lows
Current Day Lunch Session High/Lows, starts appearing after 12pm EST once the lunch session starts
New York Open (8:30am EST) price
9:53 Open (root candle) price
New York Midnight (12:00am EST) price
Previous Day High/Lows
First 1m FVG after NY Session Start (after 9:30am), with the ability to configure minimum FVG size.
Opening Range Gap, showing regular market hours close price (previous day 16:15pm EST close), new session open price (9:30am EST open) and optionally the mid-point between the two
Asia Range 50% along with 2, 2.5, 4 and 4.5 deviations of the Asia range in both directions
Configurability:
Each price level can be turned off
Styles in terms of line type, color
Ability to turn on/off labels for price levels and highlighting of prices on price scale
Ability to control label text for price levels
How is it different:
Identifies novel concepts such as 9:53 open, root candle that can be used as a bounce/resistance area during AM/PM sessions as well as confirmation of direction once closed over/under to indicate price's willingness to continue moving in the same direction.
It also shows 1st 1m FVG after New York Session open, that can be used to determine direction of the price action depending on PA's reaction to that area. While both 9:53 and 1m FVG are 1m based markers, these levels are visualized by the indicator on all timeframes from 15s to 1h.
Additionally the indicator is able to both highlight key prices in the price scale pane as well as combine labels to minimize clutter when multiple levels have the same price.
Lastly for in-session ranges such as Lunch High/Low the indicator updates the range in real-time as opposed to waiting for the lunch session to be over. Indicator

Indicator

KillZones & Sessions [TradingFinder] Volume | Asia, London & NY🔵 Introduction
🟣 Session
The forex market operates 24 hours a day, 5 days a week, with only Saturdays and Sundays being off; traders often focus on one of the forex trading sessions instead of trying to trade in all markets 24 hours a day.
Trading sessions are time intervals during which a specific financial market is active and trades are conducted. The Asia, London, and New York sessions are the most important trading sessions throughout the 24-hour period, during which a significant amount of money and liquidity enters the market.
🟣 Kill Zone
Traders in financial markets profit from the difference between the price at which they buy or sell and the current market price. Traders have different time horizons for trading.
Among these, some traders engage in daily or even hourly trading and must operate during times when the market has desirable trading volumes and significant price movements.
Kill zones are segments of a session with higher trading volumes and price fluctuations compared to the rest of the session.
🔵 How to Use
🟣 Session Time
The "Asia Session" consists of two sessions: "Sydney" and "Tokyo." The beginning of this session, according to the "UTC" time zone, is at 23:00 and ends at 06:00. Similarly, the beginning of the "Asia KillZone," according to the "UTC" time zone, is at 23:00, and it ends at 03:55.
The "London Session" consists of two sessions: "Frankfurt" and "London." The beginning of this session, according to the "UTC" time zone, is at 07:00, and it ends at 14:25. Similarly, the beginning of the "London KillZone," according to the "UTC" time zone, is at 07:00, and it ends at 09:55.
The beginning of the "New York am" session, according to the "UTC" time zone, is at 14:30, and it ends at 19:25. Similarly, the beginning of the "New York am KillZone," according to the "UTC" time zone, is at 14:30, and it ends at 16:55.
The beginning of the "New York pm" session, according to the "UTC" time zone, is at 19:30, and it ends at 22:55. Similarly, the beginning of the "New York pm KillZone," according to the "UTC" time zone, is at 19:30, and it ends at 20:55.
Important : To prevent session overlap, the working hours of each session have slightly changed.
🔵 Features
🟣 Simultaneous Session and Kill Zone
With this indicator, you can simultaneously view the kill zone and session. High and low lines are used to indicate sessions, while filled areas with color represent kill zones. If you do not want to see kill zones, you can turn off the display settings.
🟣 Candle, Time, and Volume
Using the "More Info" feature, you can see the number of candles, elapsed time, and traded volume within the colored filled area.
🔵 Settings
•Show More Info: To display "More Info," you need to turn on this feature and turn it off whenever you don't need it.
• You can also customize these settings for each session separately :
o Display or hide session.
o Choose session color.
o Set session time range.
o Display or hide kill zone.
o Set kill zone time range.
Indicator

Sessions KillZones Library [TradingFinder]🔵 Introduction
"The Forex Trading Sessions" highlight the active periods across different markets where significant trading volume and influence on the forex market are evident. The primary trading sessions globally include the "Asian Session," "London Session," and "New York Session."
A "Kill Zone" refers to a segment within a session characterized by high trading volume and notably sharper price movements. Consequently, there's a higher probability of encountering price action setups within these zones. Traders capitalize on this phenomenon in pursuit of more successful trading outcomes.
If you aim to integrate sessions or kill zones into your indicators or strategies, utilizing this library can amplify the precision and efficiency of your Python script development.
🔵 How to Use
First, you can add the library to your code as shown in the example below:
import TFlab/SessionAndKillZoneLibrary_TradingFinder/1
🟣 Parameters
SessionDetector(Session_Name, Session_Time, KillZone_Time, Session_Show, KillZone_Show, AreaUpdate, MoreInfo, Session_Color, Info_Color) =>
Parameters:
•Session_Name (string)
•Session_Time (string)
•KillZone_Time (string)
•Session_Show (bool)
•KillZone_Show (bool)
•AreaUpdate (string)
•MoreInfo (bool)
•Session_Color (color)
•Info_Color (color)
Session_Name : You must enter the session name in this parameter.
Session_Time : Enter here the start and end time of the session, which should be based on the UTC time zone.
KillZone_Time : Enter the start and end times of the kill zone, which should be based on the UTC time zone, here.
Session_Show : You can control whether or not to show the session using this entry. You must set true to display and false to not display.
KillZone_Show : Using this input you can control whether the kill zone is displayed or not. You must set true to display and false to not display.
AreaUpdate : If you want the session to be determined based on the time and high and low of the session itself, you must enter "Session" and if you want the area to be determined based on the time and high and low of the kill zone, you must enter "Kill Zone".
MoreInfo : If you want more information, you should set this entry to true, otherwise set to false. This information includes the number of candles in the area, the length of time in the area and the volume of transactions in the area.
Session_Color : Enter your desired color to display the session at this section. It is recommended to use bright and sharp colors.
Info_Color : Enter your desired color to display more information in this section.
🔵 Function Outputs
The outputs of this function are direct and indirect.
🟣 Indirect outputs
These outputs include session display, kill zone display, and time and volume information of session or kill zone.
🟣 Direct outputs
There are 8 direct outputs, which are:
Session Time : If the Session is active, it outputs 1, and if the Session is inactive, it outputs 0.
Kill Zone Time : If the Kill Zone is active, it outputs 1, and if the Kill Zone is inactive, it outputs 0.
Open : Session opening price.
High : The highest price of the session.
Low : The lowest price of the session.
Close : The last price of the session.
Low Touch Alert : If "Area Update" is in "Kill Zone" mode, if the price reaches the lowest price of the kill zone in the same session after the end of the kill zone, this output will be true. You can use this output to create an alert.
High Touch Alert : If "Area Update" is in "Kill Zone" mode, if the price reaches the highest price of the kill zone in the same session after the end of the kill zone, this output will be true. You can use this output to create an alert.
Important : To use "Open", "High", "Low" and "Close", "Area Update" must be in "Session" mode.
Library

Sessions Lite [TradingFinder] New York, London, Asia, NYSE Forex🔵 Introduction
A trading session is one of the basic concepts in the financial market that refers to specific time periods. In fact, a session means hours during the day and night, during which traders in a certain part of the world conduct their transactions.
Although the "Forex" and "CFDs" market is open 24 hours a day and it is possible to trade in it, but in some hours the activity in this market decreases so much that many traders prefer not to trade and only watch the market. On the other hand, there are specific times when the market is very busy and dynamic, and many traders tend to trade during these hours of the day and night.
Trading sessions are usually divided into three main categories, which are "Asian", "European" and "North American" sessions. These trading sessions are also called the "Tokyo", "London" and "New York" sessions, respectively. But they also categorized these sessions in more detailed ways such as "Sydney session", "Shanghai session" or "NYSE session".
🔵 Tokyo trading session (Asian session)
After the weekend that happens on Saturday and Sunday, the Forex market starts with the Asian session. In this continent, most of the transactions are done in the Tokyo session, and for this reason, it is usually called the Asian session or the Tokyo session. However, other countries such as Australia, China and Singapore also do a lot of trading in this session.
The Tokyo session has a lower volume of transactions compared to the London and New York sessions, and therefore the liquidity is lower. In this session, most of the Forex currency pairs move in a price range. For this reason, different people use the ups and downs with the trading strategy in the range and get profit.
The low liquidity of the Tokyo session means that trading spreads are also higher during these hours. Besides, most of the transactions of this session are done in the early hours and at the same time as the planned news release.
In the Tokyo or Asia session, the best currency pairs to trade are the "Japanese yen", the "Australian dollar", and the "New Zealand dollar".
"Nikkei" index is also a good option for trading. If you trade in the Tokyo session, you should also be aware of the release of economic news and data from Australian, New Zealand and Japanese financial institutions.
🔵 London trading session (European session)
After the Asian session, it is time for the European session. In this period of time, transactions are very large and many European markets are involved. However, the European session is usually known as the London session.
Because of its specific time zone, London is not only known as the Forex trading center in Europe, but it is also known as the Forex trading center in the world. The London session overlaps with two other major trading sessions in the world, Asia and America. This means that most of the Forex transactions are done in this session. According to the latest statistics, 32% of Forex transactions are related to the London session, which shows that about a third of the activity performed in Forex takes place during this period.
This will increase the volume of Forex transactions and increase liquidity. An event that causes the spread of transactions to decrease. Of course, high liquidity also leads to greater volatility, which is desirable for many traders.
In the European session, the pound and euro currencies and the "DAX", "FTSE100", and "CAC40" indices are known as the best tradable assets. Also, traders of this session should pay attention to the news and data published by the "European Central Bank" and the "Bank of England". The news of countries like Germany, France and Italy are also very important.
🔵 American trading session (New York session)
When the New York session begins, several hours have passed since the end of the Tokyo session, but the European session is in the middle. In this session, they usually affect the financial activities carried out in America, but they also affect other countries such as Canada, Mexico and several South American countries.
The "US dollar" and stock indices such as "S&P", "Dow Jones" and "Nasdaq" are the most important assets that are traded in this session.
The early hours of the American session have a lot of liquidity and volatility due to the overlap with the European session, but with the end of the European session, the activity in the American session also decreases.
You can trade all major Forex currency pairs in the New York trading session. In this session, the "Federal Reserve", as the most important central bank in the world, is the institution that you should pay attention to its news and data.
The trading session indicator is an analytical tool in the financial markets that is used to display and analyze specific trading periods during a day. These indicators are generally useful for determining support and resistance levels during any trading session and for detecting different trading patterns.
For example, usually these indicators display the open and close price levels, the highest and lowest prices during a trading session. Also, you may notice various price patterns such as price channels, price phase phases and market trend changes during different trading sessions using these indicators.
🔵 cause of construction
In particular, the session light indicator version is designed and built for those traders who use many different tools on their chart at the same time. These traders can include "Volume Traders", "ICT traders", "Day Traders" and... These individuals can use "Session Lite" without disturbing the display of their other trading tools such as "Order Blocks", "Liquidity", "Zigzag", "FVG" etc.
But in general, there are several reasons for making tools like trading session indicators in financial markets, some of which include the following :
1. Analysis of specific time frames : Some traders and investors like to consider specific time frames for price analysis and review. For example, analyzing price changes during each trading session can help analyze trading patterns and identify trading opportunities.
2. Recognize different price patterns : Different price patterns may be observed during trading sessions. Trading session indicators can help to make better trading decisions by analyzing these patterns and their strengths and weaknesses.
3. Identifying Support and Resistance Levels : These tools may help to identify support and resistance levels during any trading session which can be helpful in deciding whether to enter or exit the market.
🔵 How to use
The Session Lite indicator displays 8 sessions by default. Asia session, Sydney session, Tokyo session, Shanghai session, Europe session, London session, New York session and New York Stock Exchange (NYSE) session are the sessions that are displayed.
You can activate or deactivate the display of each session by using the tick button next to the name of each session.
Two gray vertical dashes are also displayed by default, which indicate the beginning of the European session and the New York session. This feature is available for all sessions, but it is enabled by default only for these two sessions, and you can activate it for the rest of the session. You can enable or disable the display of this line by using the Start Session tick key.
Likewise, the information table is displayed by default, which includes the open or closed information of each session and the start and end times of each session. These timings are based on the UTC time zone.
Accordingly, the schedule of trading sessions is as follows :
Asia session from 23:00 to 06:00
Sydney session from 23:00 to 05:00
Tokyo session from 00:00 to 00:06
Shanghai session from 01:30 to 06:57
European session from 07:00 to 16:30
London session from 08:00 to 16:30
New York session from 13:00 to 22:00
New York Stock Exchange (NYSE) session from 14:30 to T 22:00
Important note : the beginning of the European session coincides with the opening of the Frankfurt market.
🔵 Settings
• In the settings section, there are customization capabilities according to the type of use of each user. The settings related to showing or not showing the box of each session, the start indicator of each session, setting the start and end time of the session and choosing the desired color to display each session are among the things that can be set from this section.
• At the end of the settings, you will see the "Info Table" option; By disabling this option, the "sessions" clock table displayed on the upper right side will be disabled.
Indicator

LIT - TimingIntroduction
This Script displays the Asia Session Range, the London Open Inducement Window, the NY Open Inducement Window, the Previous Week's high and low, the Previous Day's highs and lows, and the Day Open price in the cleanest way possible.
Description
The Indicator is based on UTC -7 timing but displays the Session Boxes automatically correct at your chart so you do not have to adjust any timings based on your Time Zone and don't have to do any calculations based on your UTC. It is already perfect.
You will see on default settings the purple Asia Box and 2 grey boxes, the first one is for the London Open Inducement Window (1 hour) and the second grey box is for the NY Open Inducement Window (also 1 hour)
Asia Range comes with default settings with the Asia Range high, low, and midline, you can remove these 3 lines in the settings "style" and untick the "Lines" box, that way you only will have the boxes displayed.
Special Feature
Most Timing-based Indicators have "bugged" boxes or don't show clean boxes at all and don't adjust at daylight savings times, we made sure that everything automatically gets adjusted so you don't have to! So the timings will always display at the correct time regarding the daylight savings times.
Combining Timing with Liquidity Zones the right way and in a clear, clean, and simple format.
Different than others this script also shows the "true" Asia range as it respects the "day open gap" which affects the Asia range in other scripts and it also covers the full 8 hours of Asia Session.
Additions
You can add in the settings menu the last week's high and low, the previous day's high and low, and also the day's open price by ticking the boxes in the settings menu
All colors of the boxes are fully adjustable and customizable for your personal preferences. Same for the previous weeks and day highs and lows. Just go to "Style" and you can adjust the Line types or colors to your preferred choice.
Recommended Use
The most beautiful display is on the M5 Timeframe as you have a clear overview of all sessions without losing the intraday view. You can also use it on the M1 for more details or the M15 for the bigger picture. The Template can hide on higher time frames starting from the H1 to not flood your chart with boxes.
How to use the Asia Session Range Box
Use the Asia Range Box as your intraday Guide, keep in mind that a Breakout of Asia high or low induces Liquidity and a common price behavior is a reversal after the fake breakout of that range.
How to use the London Open and NY Open Inducement Windows
Both grey boxes highlight the Open of either London Open or NY Open and you should keep an eye out for potential Liquditiy Graps or Mitigations during that times as this is when they introduce major Liquidity for the regarding Session.
How to use the Asia high, low and midline and day open price
After Asia Range got taken out in one direction, often price comes back to those levels to mitigate or bounce off, so you can imagine those zones as support and resistance on some occasions, recommended in combination with Imbalances.
How to use the previous day and week's highs and lows
Once added in the settings, you can display those price levels, you can use them either as Liquidity Targets or as Inducement Levels once they are taken out.
Enjoy! Indicator

Session candles & reversals / Flowly Indicators— Overview
Like traditional candles, session based candles are a visualization of open, high, low and close values, but based on session time periods instead of typical timeframes such as daily or weekly. Session candles are formed by fetching price at session start (open), highest price during session (high), lowest price during session (low) and price at session end (close). On top of candles, session based moving average is formed and session reversals detected. Session reversals are also backtested, using win rate and magnitude metrics to better understand what to expect from session reversals and which ones have historically performed the best.
By default, following session time periods are used:
Session #1: London (08:00 - 17:00, UTC)
Session #2: New York (13:00 - 22:00, UTC)
Session #3: Sydney (21:00 - 06:00, UTC)
Session #4: Tokyo (00:00 - 09:00, UTC)
Session time periods can be changed via input menu.
— Reversals
Session reversals are patterns that show a rapid change in direction during session. These formations are more familiarly known as wicks or engulfing candles. Following criteria must be met to qualify as a session reversal:
Wick up:
Lower high, lower low, close >= 65% of session range (0% being the very low, 100% being the very high) and open >= 40% of session range.
Wick down:
Higher high, higher low, close <= 35% of session range and open <= 60% of session range.
Engulfing up:
Higher high, lower low, close >= 65% of session range.
Engulfing down:
Higher high, lower low, close <= 35% of session range.
Session reversals are always based on prior corresponding session , e.g. to qualify as a NY session engulfing up, NY session must have a higher high and lower low relative to prior NY session , not just any session that has taken place in between. Session reversals should be viewed the same way wicks/engulfing formations are viewed on traditional timeframe based candles. Essentially, wick reversals (light green/red labels) tell you most of the motion during session was reversed. Engulfing reversals (dark green/red labels) on the other hand tell you all of the motion was reversed and new direction set.
— Backtesting
Session reversals are backtested using win rate and magnitude metrics. A session reversal is considered successful when next corresponding session closes higher/lower than session reversal close . Win rate is formed by dividing successful session reversal count with total reversal count, e.g. 5 successful reversals up / 10 reversals up total = 50% win rate. Win rate tells us what are the odds (historically) of session reversal producing a clean supporting move that was persistent enough to close that way too.
When a session reversal is successful, its magnitude is measured using percentage increase/decrease from session reversal close to next corresponding session high/low . If NY session closes higher than prior NY session that was a reversal up, the percentage increase from prior session close (reversal close) to current session high is measured. If NY session closes lower than prior NY session that was a reversal down, the percentage decrease from prior session close to current session low is measured.
Average magnitude is formed by dividing all percentage increases/decreases with total reversal count, e.g. 10 total reversals up with 1% increase each -> 10% net increase from all reversals -> 10% total increase / 10 total reversals up = 1% average magnitude. Magnitude metric supports win rate by indicating the depth of successful session reversal moves.
To better understand the backtesting calculations and more importantly to verify their validity, backtesting visuals for each session can be plotted on the chart:
All backtesting results are shown in the backtesting panel on top right corner, with highest win rates and magnitude metrics for both reversals up and down marked separately. Note that past performance is not a guarantee of future performance and session reversals as they are should not be viewed as a complete strategy for long/short plays. Always make sure reversal count is sufficient to draw reliable conclusions of performance.
— Session moving average
Users can form a session based moving average with their preferred smoothing method (SMA , EMA , HMA , WMA , RMA) and length, as well as choose which sessions to include in the moving average. For example, a moving average based on New York and Tokyo sessions can be formed, leaving London and Sydney completely out of the calculation.
— Visuals
By default, script hides your candles/bars, although in the case of candles borders will still be visible. Switching to bars/line will make your regular chart visuals 100% hidden. This setting can be turned off via input menu. As some sessions overlap, each session candle can be separately offsetted forward, clearing the overlaps. Users can also choose which session candles to show/hide.
Session periods can be highlighted on the chart as a background color, applicable to only session candles that are activated. By default, session reversals are referred to as L (London), N (New York), S (Sydney) and T (Tokyo) in both reversal labels and backtesting table. By toggling on "Numerize sessions", these will be replaced with 1, 2, 3 and 4. This will be helpful when using a custom session that isn't any of the above.
Visual settings example:
Session candles are plotted in two formats, using boxes and lines as well as plotcandle() function. Session candles constructed using boxes and lines will be clear and much easier on the eyes, but will apply only to first 500 bars due to Tradingview related limitations. Rest of the session candles go back indefinitely, but won't be as clean:
All colors can be customized via input menu.
— Timeframe & session time period considerations
As a rule of thumb, session candles should be used on timeframes at or below 1H, as higher timeframes might not match with session period start/end, leading to incorrect plots. Using 1 hour timeframe will bring optimal results as greatest amount historical data is available without sacrificing accuracy of OHLC values. If you are using a custom session that is not based on hourly period (e.g. 08:00 - 15:00 vs. 08.00 - 15.15) make sure you are using a timeframe that allows correct plots.
Session time periods applied by default are rough estimates and might be out of bounds on some charts, like NYSE listed equities. This is rarely a problem on assets that have extensive trading hours, like futures or cryptocurrency. If a session is out of bounds (asset isn't traded during the set session time period) the script won't plot given session candle and its backtesting metrics will be NA. This can be fixed by changing the session time periods to match with given asset trading hours, although you will have to consider whether or not this defeats the purpose of having candles based on sessions.
— Practical guide
Whether based on traditional timeframes or sessions, reversals should always be considered as only one piece of evidence of price turning. Never react to them without considering other factors that might support the thesis, such as levels and multi-timeframe analysis. In short, same basic charting principles apply with session candles that apply with normal candles. Use discretion.
Example #1 : Focusing efforts on session reversals at distinct support/resistance levels
A reversal against a level holds more value than a reversal by itself, as you know it's a placement where liquidity can be expected. A reversal serves as a confirming reaction for this expectation.
Example #2 : Focusing efforts on highest performing reversals and avoiding poorly performing ones
As you have data backed evidence of session reversal performance, it makes sense to focus your efforts on the ones that perform best. If some session reversal is clearly performing poorly, you would want to avoid it, since there's nothing backing up its validity.
Example #3 : Reversal clusters
Two is better than one, three is better than two and so on. If there are rapid changes in direction within multiple sessions consecutively, there's heavier evidence of a dynamic shift in price. In such case, it makes sense to hold more confidence in price halting/turning.
Indicator

Indicator
