Indicator

Midnight Open Suite+ (M1D)Midnight Open — is ICT's primary intraday bias reference.
Price trading above it is at a premium to that open; price trading below it is at a discount. It is a level the market returns to often enough that where price sits relative to it is worth knowing before anything else about the day.
This script marks that open and the three that follow it, measures the range the first half hour builds, and reports where price stands against each. It takes no directional opinion of its own.
THE OPENS
Four New York opens are drawn, each on its own settings:
- 12am, the Midnight Open.
- 3am, the London open.
- 8:30am, the release time that begins the New York morning.
- 9:30am, the cash open.
Each is a ray beginning at the candle that genuinely opened on its own time, carrying that candle's opening price. No level is drawn back across bars that closed before the price it marks existed, and no price is borrowed from a neighbouring bar.
Each open also carries an optional vertical line marking the minute itself, stamped with its own time. That stamp is derived from the time the open is configured to, so it cannot drift out of agreement with the level it names — move an open to a different minute and its stamp moves with it.
By default a level stops where the following day's level begins, so only one of each is ever live. It can instead be set to run on indefinitely.
THE OPENING RANGE
The 12:00–12:30am window is drawn as a single zone from its own high to its own low, with an optional equilibrium — the 50% — running across it. The window opens on the Midnight Open's own time and its length is adjustable, so moving the open moves the range with it.
The 50% of a range is its equilibrium.
Zone and equilibrium are both kept for several days. Four days is the default, which leaves the previous three equilibria on the chart behind the current one.
WHY A LEVEL IS SOMETIMES WITHHELD
An open can only be read from a bar that opens on that exact minute. A bar that merely contains the minute opened earlier and carries an earlier price. On a 60-minute chart there is no bar that opens at 8:30 or at 9:30, so those two are not drawn at all rather than being placed a few points out — a level that is slightly wrong still looks right, which makes it worse than one that is visibly absent.
Withheld levels are never silent. The dashboard names each one and states the bar size that dropped it, so an empty row reads as "this timeframe cannot measure it" rather than "it has not happened yet".
An open is placeable when the chart's bar length divides evenly into the minutes between midnight and that open. With the four default times and the half-hour range, that means any bar length dividing 30 minutes — the 1, 2, 3, 5, 10, 15 and 30 minute charts. Move an open to a different minute and the arithmetic follows it.
THE DASHBOARD
Bias is read from the Midnight Open alone, and is stated as both a direction and the premium or discount it implies.
Below it each open is listed with its price and the signed distance price currently sits from it, in points or in ticks. The opening range is listed with its size and whether price stands above, inside or below it, and the equilibrium with its own price and distance.
A level carried in from a previous day is still the level drawn on the chart, so it is still listed — but it is named as carried over, because reading a stale open as today's is how it gets traded by mistake.
WHAT IT DRAWS
- Four opens as dotted rays, each from the candle that set it, named above its own line.
- An optional full-height vertical line on each open, stamped with its time.
- The 12:00–12:30am range as a soft zone whose border matches its fill, captioned with the window it covers. The caption re-centres on the span the zone currently occupies, so it tracks across with it rather than trailing at the left edge.
- The equilibrium as a thin dashed line through the zone, named inline on its own level so the text sits exactly at the price.
- Optional rays extending the range's high and low.
- A dashboard carrying bias, every open with its distance, and the range with its position.
Labels are transparent callouts throughout: nothing carries a background, and every offset is in pixels rather than price, so the spacing holds at any zoom level.
SETTINGS
- Each open has its own show toggle, name, hour and minute, ray colour, style and width, and the same four controls again for its vertical line and time stamp.
- How many days of levels stay on the chart, and whether a ray stops at the next day's level or runs to the right edge.
- Opening range: window length, zone colour and transparency, how far the zone extends, whether the high and low extend as rays, and the zone's caption.
- Equilibrium: visibility, colour, line style, and whether it is named.
- Labels: whether levels are named, whether the price is included in the name, whether every kept day is named or only the newest, time stamp position, and label size.
- Dashboard: position, text and background colours, header fill, the two directional colours, text size, and whether distance is reported in points or ticks.
NOTES
- Non-repainting. Levels are set on confirmed bars only and none is revised once its bar has closed.
- All times are New York and resolve through the exchange-independent New York clock, so they stay correct across daylight saving on any symbol.
- At the default times every level is measurable on the 1, 2, 3, 5, 10, 15 and 30 minute charts. Any other timeframe drops whichever levels its bars cannot open on, and names them.
- Four alert conditions: price crossing the Midnight Open, price crossing the opening range equilibrium, and the range's high or low being closed through.
- Every drawn element is black by default. Only the dashboard's directional readings carry colour, and all of them are inputs.
- This is a mapping tool. It draws reference levels and reports where price sits relative to them; it produces no entries, targets or stops.
Disclaimer-
This is not financial advice. A level drawn by a model is context, not a recommendation to trade, and where price opened yesterday says nothing certain about where it goes today. Indicator

Session Levels - Asia, London, NY, Premarket & Prior DayWhat it shows
session highs/lows for Asia, London, premarket, and the NY session during the RTH window; midnight open; NY RTH open and session close; optional NDOG 25% / 50% / 75% vs prior RTH close.
Prior day: completed RTH open, high, low, and close from the last RTH session, plus prior calendar day 24h high/low.
Untouched liquidity levels: optional highlight (color/line width) until the first qualifying wick/body intersection with the level (see inputs).
History: optional list of untouched levels from earlier days (subject to PulseWire line/label limits).
How to use
Set timezone and session strings to match your instrument (default: America/New_York). Enable or disable level groups and adjust colors under Levels and Colors.
Use "Untouched liquidity" to emphasize levels that have not yet been traded through per the script rules.
If you hit drawing limits, lower "Max untouched historical levels" or turn off historical untouched levels.
Limitations
Drawing count is capped by max_lines_count and max_labels_count. Very long history may require reducing stored historical levels or zooming to a shorter range.
Disclaimer
For chart analysis and education only. Past or hypothetical behavior does not guarantee future results. Not financial advice. Indicator

Sessions Highs and Lows Unmitigated + 12AM Divider Sessions High and Lows Unmitigated & 12AM Divider
It keeps track of which session highs and lows price hasn't touched yet, and removes them the second it does.
Every X2 Asia, London, and New York session gets its high and low plotted as a simple horizontal line. Those lines follow price forward in real time, staying visible for as long as the level is still unmitigated. The moment price trades through one, it's gone.
It tracks the last two sessions per killzone, so you always have context without the chart getting messy. There's also a dotted midnight line marking each new trading day — clean, subtle, and easy to reference without adding any real noise.
Works on crypto too — weekends included, no gaps in the midnight lines.
You can adjust:
— Line colour per session
— Line width
— Every session and carry window to match your timezone and workflow
Where it's most useful:
— Seeing at a glance which session highs and lows are still unmitigated and worth watching
— Building confluence around entries using real, current session structure
— Knowing immediately whether a level has already been delivered or is still pending
No boxes. No fills. No noise. Just the levels that matter.
Enjoy. :) Indicator

Midnight OpenThis Midnight open indicator tracks and displays each trading day’s midnight open based on a user-selected time zone. It lets the user choose between America/New_York, the chart’s exchange time zone, UTC, GMT, or a custom GMT/UTC hour offset, then detects when midnight occurs in that time zone and captures the open price either from the chart timeframe or from a 1-minute source for better precision. It filters by trading-week mode, so the script can operate on standard Monday–Friday schedules, Sunday–Thursday futures-style weeks, or all calendar days. Once a valid midnight open is found, it plots the current day’s level as a step line on the chart and can also draw a separate horizontal line for each day, with optional labels showing the weekday, 00:00 time stamp, and active time zone.
The Midnight Open indicator also keeps a rolling weekday dashboard that stores the latest Monday through Friday midnight open values and shows them in a table in the chart corner, with the active time zone included in the table header. Those table values are formatted with comma-separated numbers while preserving the instrument’s tick precision. To keep the chart clean, the script automatically limits how many historical lines and labels remain visible based on a user-defined lookback count. In addition, it generates a “new midnight open” event when a fresh daily level is captured and can fire a dynamic alert message that includes the active time zone, symbol, and timeframe, making it easier to monitor midnight reference levels across different markets and time zone settings.
Indicator

Indicator

Indicator

Indicator

Indicator

Indicator
