Intraday Reference Levels

$39
Listed on the NinjaTrader Ecosystem NinjaTrader 8 Indicator

Previous day high and low, session and weekly opens, the New York midnight open — eleven key levels

No machine ID No vendor license server No repaint Instant download Free updates Verified on NinjaTrader 8 · 2 Oct 2026
Intraday Reference Levels on a 15-minute ES chart with full-name labels at a large font — Today High, Prev Day High, Prev Day Close, Session Open, Today Low, Prev Day Low — the lines white or colored per level Intraday Reference Levels on a 15-minute ES chart, the full NinjaTrader window: yesterday’s high, low and close, today’s open and its live high and low, each line labeled with its code and price Intraday Reference Levels on a 15-minute ES chart with all eleven levels on, the lines projected to the right edge and the info box in the bottom-left corner Intraday Reference Levels on a 15-minute ES chart, the lines drawn only to the current bar: yesterday’s five levels from the previous session, today’s open, high, low and midpoint developing, and the midnight open, labels at each line’s end Intraday Reference Levels on a 15-minute ES chart, full-name labels at the default size, the six default levels across two sessions Intraday Reference Levels on a 2000-tick ES chart zoomed to one afternoon: only Today High and Prev Day High on, price testing the previous-day high from above Intraday Reference Levels on a 2000-tick ES chart with all levels on and price-only labels at the right edge of the chart Intraday Reference Levels on a 2000-tick ES chart with full names and prices on every label, from the weekly open at the top to the previous-day low at the bottom Intraday Reference Levels on a 2000-tick ES chart with only the two opens on: the Weekly Open at 7715.50 above the whole session and the Session Open at 7599.50 under it, full names and prices at a large font Intraday Reference Levels on a 5-minute ES chart across two sessions with four of yesterday’s five levels on, projected across today, where price broke the previous-day high in the afternoon
1 / 10

Get your key levels auto-drawn
Stop manually placing lines every time you open your charts

Yesterday’s levels

PDH (Previous-day high) on by default
PDL (Previous-day low) on by default
PDC (Previous-day close) on by default
PDO (Previous-day open) off by default
PDM (Previous-day midpoint) off by default

Today’s current levels

TDO (Session open, today’s) on by default
TDH (Today’s high) on by default
TDL (Today’s low) on by default
TDM (Today’s midpoint) off by default

The opens

WO (Weekly open) off by default
MNO (Midnight open) off by default

Every NinjaTrader 8 key level, drawn automatically.

The key levels Basic tool Reference Levels
Previous-day high, low, close and open of the session your template defines✓✓
Previous-day midpoint the line price measures the range against✓
Today’s open, high and low live, from the session’s first bar✓✓
Today’s midpoint, live rolling into tomorrow’s previous-day levels✓
Weekly open at the week’s first bar the Sunday 18:00 ET reopen on futures, Monday’s open on RTH and stock charts✓
New York midnight open Eastern by default; exchange or local time if you prefer✓
Correct by design
No repaint a level locks the moment it is known✓✓
Never fabricates no level rather than a wrong one✓
Reads your session template yesterday is your session, RTH or the full Globex day✓
Readable
Labels that never overlap auto-spaced, however tight the cluster✓
Name, price or both five label modes, three placements✓
On-chart info box every active level in one corner✓
Yours to set
Every line its own color, style and width with an opacity slider✓✓
The reach of the lines, one switch for all right ray, full width, to the current bar, or off✓
Everything adjustable 44 settings across 14 groups✓
Works on
Chart types
Tickany count
Minuteany, intraday
Volumeany size
Range, Renkoany size
Instruments
Futuresall exchanges
Stocksand ETFs
FX and cryptono volume needed
Data providerany
Needs
NinjaTrader 8recent version, free included
DataLevel 1 is enough
Session templatesingle-session, RTH or ETH
Machine IDnone

In short: NinjaTrader 8, a chart with a few days of history and a single-session template. That is all Intraday Reference Levels needs.

Use a single-session template: on a template with two session blocks in one day the levels follow each block, which is almost never what you want. The midnight open needs a full-day template with a bar at midnight.

Get Intraday Reference Levels on your chart

All plans give you instant access to Intraday Reference Levels, ready to use right away. No machine ID required.

14-day free trial

$0/14 days

Ends by itself. Nothing to cancel, nothing charged.

Start free trial
Included:
  • Every setting of the paid version
  • All eleven levels, labels and the info box
  • Every line style, reach and color
  • No card required
  • No vendor license server
  • Same install as the full version

Licensed through NinjaTrader’s vendor licensing.

Buy now

$39/once

One-time payment, lifetime license.

Buy now
Everything in the trial, plus:
  • Yours to keep — no renewal, no expiry
  • One license — every computer you own
  • Free updates
  • Support by email, from the traders who built it
  • 14-day money-back guarantee
  • Instant download after checkout

Secure checkout via Creem. Price includes tax.

Monthly subscription

$3.99/mo

Billed monthly. Cancel any time.

Subscribe
While subscribed:
  • Every setting of the paid version
  • One license — every computer you own
  • Free updates while subscribed
  • Support by email, from the traders who built it
  • Cancel any time
  • Instant download after checkout

Secure checkout via Creem. Price includes tax.

How traders use it

Four ways to read the levels the market already watches. None of them is a signal; the entries, the stops and the discipline are still yours.

Before the bellThe morning map

Open the chart and the session is already framed: yesterday’s high, low and close, today’s open and, on a full-day template, the midnight open. The first read of the morning, before a single trade.

At the levelThe previous-day fade or break

Yesterday’s high and low are among the most-watched lines in day trading. A rejection there is a fade; a clean break and hold is expansion. Either way, the line was on your chart before it happened.

BiasThe midnight-open read

Above the New York midnight open, price is up on the day from where it began; below, it is down. One line that tells you which side of the daily auction you are trading on.

IntradayThe developing mid

Today’s midpoint updates live as the session trades: a natural intraday reference for which half of the range you are in.

New to trading key levels? Read the full guide →

Why choose us.

61+Countries(all products)
4.8/5★Average rating(all products)

Free trial on every paid product. Full refund within 14 days. Custom changes on request. Very few NinjaTrader 8 vendors offer all three. We do it for one reason: you should never have to pay to find out whether a tool works on your chart. Most of our tools are free. The paid ones are extensively tested, kept up to date and priced well below the usual rate. We would rather earn a customer who comes back than make a sale that does not last. Questions? Email support@usefulindicators.com. We answer fast.

260+Traders(all products)
700+Downloads(all products)
World map with every country running UsefulIndicators highlighted

Frequent questions.

Can’t find the answer to your question? Email us, we answer fast.

Download the zip after checkout, then in NinjaTrader 8 go to Tools → Import → NinjaScript Add-On and pick the file. Add Intraday Reference Levels to any chart from the Indicators list and the levels draw at once — most traders are done in under a minute. The step-by-step guide covers every message NinjaTrader can show and the update rule.

Eleven, in three groups. Yesterday: high, low, close, open and midpoint. Today, live: the session open, then a developing high, low and midpoint; all four become tomorrow’s previous-day levels when the next session opens. The opens: the weekly open at the first bar of the week (the Sunday 18:00 ET reopen on a futures template, Monday’s open on RTH and stock charts) and the New York midnight open. Six are on by default — yesterday’s high, low and close, today’s open, high and low — and every one has its own switch.

The one your chart’s trading-hours template defines. On an RTH template, yesterday is the cash-hours block that template sets; on a full Globex template it is the whole 23-hour day. On a template with two session blocks in one day the levels follow each block, which is almost never what you want — pick a single-session template and the levels follow that session exactly.

No. Every level locks the moment it is known — the close at the close, the open at the first trade — and a level shown on a past bar stays where it was. Today’s high, low and midpoint move while the session trades, because that is what a developing range does; they never move backwards in history.

Because the indicator would rather draw nothing than draw a wrong line. The usual reasons: the chart holds too little history (load a few days and the previous-day levels appear at once); the weekly open was switched on mid-week — it waits for the next week to begin rather than show a mid-week price, and it needs the bars back to the week’s first session loaded; or the midnight open is on but the template is RTH-only, so there is no bar at midnight to read. The info box lists every level it does have.

No, and we won’t pretend it is. These are the reference prices the whole market watches, drawn correctly and on time. What price does at them, and what you do about it, is the trade — and that stays yours.

No. Intraday Reference Levels never touches your orders, positions or account. It draws on the chart — every order is yours to place, in your own order-entry window, exactly as before.

Each one is a numbered group in the settings panel, with its own line, label and on/off switch. The codes below are the codes on the chart and the titles of their groups in the panel; the other names in bold are the panel’s own.

Previous day high and low, close and open

PDH, PDL, PDC, PDO and the midpoint PDM are the previous session’s high, low, close, open and mid — the session your trading-hours template defines. Each is its own numbered group with Show Line (On/Off), a Line setting (color, width, dash) and Show Label (On/Off). They lock when that session closes and stay where they were, so yesterday’s five are today’s reference from the first bar.

Today’s open, high, low and midpoint, live

Session Open is set at the session’s first bar; TDH, TDL and TDM develop as the session trades, moving with every new high and low and holding the midpoint between them. When the next session opens, today’s four roll into tomorrow’s previous-day levels. The same three switches apply to each: the line, its style, its label. Daily and higher charts get a warning instead of a wrong line, because these levels are intraday by definition.

Midnight open (ICT) and the weekly open

MNO is the ICT true-day open: the price at 00:00 in the MNO Timezone, Eastern by default (00:00 New York, the ICT standard), or Exchange or Local. It is off by default and switches on in its own group, with the same line style and label switches as every other level. WO marks the week’s first bar and holds all week, so the weekly open is one line, not a calculation.

Codes, names and prices on every level

Show Labels is the master switch; Label Content is NameAndPrice (PDH 5247.50, the default), the code only, the full name and price, the full name, or the price only; Vertical Placement puts the label above, on or below the line; the font, the text color and an optional Show Label Box with its box color style it. Show Info Box lists every active level’s price in the chart corner you pick under Position.

Lines as rays, full width, or to the current bar

Line Extension is one setting for the whole set: RightRay projects each level from its origin bar to the right edge (the recommended default), FullWidth spans the whole chart, ToCurrentBar stops at the current bar, and None hides the lines and keeps only the labels. Each level keeps its own Line color, width and style, so a previous-day close can be bold and a midpoint faint, and a level you never use is one switch away from gone.

Follows your trading-hours template, RTH or ETH

The levels are the session your Trading Hours template defines: on CME US Index Futures RTH they are the cash session’s, on an ETH template the Session Open is the Globex open and the previous-day levels cover the whole overnight-to-close session. Switch the template and every level follows, with nothing to re-enter. Time zones are the template’s own, so a chart in Oslo or Sydney draws the same New York levels.

It’s built lean — a tick costs a couple of comparisons, only a new high, a new low or a session boundary redraws a line, and the label text is cached. If your chart ever lags with it on, email us: that’s a bug, not normal.

Email support, answered by the traders who built it. Bugs get fixed, and updates are free.

Yes. NinjaTrader 8 ships Prior Day OHLC (yesterday’s open, high, low and close) and Current Day OHL (today’s open, high and low, live), and they are worth trying first. What Intraday Reference Levels adds is the whole set in one indicator: the previous-day midpoint, today’s midpoint, the weekly open and the New York midnight open, with codes and prices on every label and one line-extension setting for all eleven. The guide compares the built-ins level by level.

This is one. MNO draws the midnight open at 00:00 New York by default — the ICT true-day open — and its MNO Timezone setting can switch to the exchange’s zone or your local one. It is off by default; switch it on in its own settings group.

It draws the ICT midnight open in New York time, which is the reference ICT traders use most. It does not draw killzones, fair value gaps or order blocks — those are different tools. For session ranges such as the Asian and London sessions, see the session levels indicator.

No. Overnight levels can only be measured when the overnight bars are on the chart, which on a regular-hours template they are not, so this version leaves them out rather than draw a wrong line. Our free overnight high low indicator draws the overnight and premarket high and low, with the midpoint, on a full-session chart. On an ETH template the Session Open is the Globex open. For the Asian, London and pre-market ranges as separate levels, the session levels indicator draws them.

It draws the fixed reference prices the whole market watches as support and resistance — the previous day’s high, low, close and open, today’s open and the midnight and weekly opens. It does not compute swing highs and lows or dynamic support and resistance from price structure.

Yes. Line Extension is one setting for the whole set: RightRay runs each level from its origin bar to the right edge (the default), FullWidth spans the whole chart, ToCurrentBar stops at the current bar, and None hides the lines and keeps only the labels. Each level still has its own Line color, width and style.

The Nerd Vault

Where every level comes from, when it locks, and why some are left off on purpose.
How it’s calculated
Yesterday = the previous session

PDH, PDL, PDC and PDO are the high, low, close and open of the previous session as your trading-hours template defines it: the cash-hours block on an RTH template, the whole Globex day on a full-session template. PDM is halfway between the high and the low, rounded to the tick.

Locked = known once, never moved

The open locks at the first trade of the session, the close at the last. Today’s high, low and midpoint extend while the session trades, and become tomorrow’s previous-day levels when the next session opens. A level shown on a past bar stays exactly where it was.

Midnight = the first bar after 00:00 ET

NinjaTrader stamps a bar by its close, so the bar that crosses midnight opened before it: the midnight open is the open of the next bar. Eastern by default; exchange or local time if you prefer. It needs a full-day template with a bar at midnight. The weekly open is the first bar of the week: the Sunday 18:00 ET reopen on a futures template, Monday’s open on RTH and stock charts.

Hover or tap a term to see it in the drawing and the table
PDHPDLPDCTDOMNOproduct default colors
TWO SESSIONS, NINE OF THE ELEVEN LEVELS · MES, LAST 7626.00 YESTERDAY LOCKS AT ITS CLOSE · TODAY’S RANGE IS STILL MOVING 7640760075607520 YESTERDAY00:00 ETTODAY PDH 7595.00PDL 7516.00PDM 7555.50 TDH 7628.75TDL 7552.25TDO · PDC · MNO · TDM DASHED = TODAY’S HIGH AND LOW, STILL DEVELOPING · YESTERDAY’S LINES SPAN THE SESSION THEY MEASURE A LEVEL THE INDICATOR CANNOT KNOW FOR CERTAIN IS LEFT OFF, NOT GUESSED Two sessions drawn from the worked example below, in the product’s default colors; the weekly open and yesterday’s open (one tick above its low) are left off the drawing. An illustration with a compressed time axis, not market data; the gallery captures are a different session.
Worked example · the levels on the July capture, MESPrices to the tick · midpoints rounded to the tick
LevelRuleFromValueLocks
PDHhighest trade of the previous sessionyesterday7595.00at yesterday’s close
PDLlowest trade of the previous sessionyesterday7516.00at yesterday’s close
PDClast trade of the previous sessionyesterday7586.25at yesterday’s close
PDOfirst trade of the previous sessionyesterday7516.25at yesterday’s open
PDM(PDH + PDL) ÷ 2, rounded to the tickyesterday7555.50at yesterday’s close
MNOopen of the first bar that opens at or after 00:00 ETovernight7583.50at that bar
TDOfirst trade of today’s session (“Session Open” on the chart)today7588.00at the open
TDHhighest trade so fartoday7628.75moves up only, until the close
TDLlowest trade so fartoday7552.25moves down only, until the close
TDM(TDH + TDL) ÷ 2, rounded to the ticktoday7590.50follows the range

When the next session opens, today’s open, high, low and midpoint become PDO, PDH, PDL and PDM without a reload. The weekly open (WO) is the first bar of the week and holds all week.

Locks, never repaints

A level is drawn the moment it is known and never redrawn behind you. Scroll back a week and every line sits where it sat live. The only lines that move are today’s developing high, low and midpoint: the high and low move outward only, and the midpoint moves with them.

Never fabricates

If the chart does not hold the bars a level needs — too little history, a weekly open before the loaded week — the line is left off rather than estimated. The weekly open switched on mid-week waits for the next week to begin. A missing line costs you a glance; a wrong one costs you a trade.

Midnight, in the right zone

The midnight open is judged in New York time by default — so a trader in Oslo and a trader in Chicago get the same line. Exchange time and local time are there for markets where those are the convention. It needs a full-day template: on an RTH-only template there is no bar at midnight, and the line is left off.

Labels that never overlap

When three levels land within a few ticks, their labels are spaced apart automatically while the lines stay exactly at their prices. Name, price or both; above, on or below the line; with or without a box.

This is the actual settings panel in NinjaTrader — the groups numbered in the panel, plain-English names, no cryptic abbreviations. Every row in the table below is one of these; each level is its own group with a line switch, its style and a label switch. Today’s open (TDO elsewhere on this page) is the “Session Open” group.

Intraday Reference Levels settings — general, labels and the first levels
Intraday Reference Levels settings — the remaining levels, the midnight open and the info box
SettingDefaultRange
General
Line ExtensionRight RayRight Ray · Full Width · To Current Bar · None
Labels
Show LabelsOnOn · Off
FontArial 12Any font
Label ContentName And PriceName And Price · Name Only · Full Name And Price · Full Name · Price Only
Vertical PlacementAbove LineAbove Line · On Line · Below Line
Text ColorWhiteAny color
Show Label BoxOffOn · Off
Box Color#000000 at 78%Any color
PDH (Prev Day High)
Show LineOnOn · Off
Line#3CC83C at 78% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
PDL (Prev Day Low)
Show LineOnOn · Off
Line#D23C3C at 78% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
PDC (Prev Day Close)
Show LineOnOn · Off
Line#326EDC at 86% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
PDO (Prev Day Open)
Show LineOffOn · Off
Line#AF5FEB at 86% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
PDM (Prev Day Mid)
Show LineOffOn · Off
Line#969696 at 51% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
Session Open
Show LineOnOn · Off
Line#F5C300 · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
TDH (Today’s High)
Show LineOnOn · Off
Line#32E632 · Dash · 2 pxAny color, style and width
Show LabelOnOn · Off
TDL (Today’s Low)
Show LineOnOn · Off
Line#E63232 · Dash · 2 pxAny color, style and width
Show LabelOnOn · Off
TDM (Today’s Mid)
Show LineOffOn · Off
Line#969696 at 59% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
WO (Weekly Open)
Show LineOffOn · Off
Line#FF9100 at 90% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
MNO (Midnight Open)
Show LineOffOn · Off
MNO TimezoneEasternEastern · Exchange · Local
Line#C88CFF at 78% · Solid · 2 pxAny color, style and width
Show LabelOnOn · Off
Info Box
Show Info BoxOffOn · Off
PositionBottom LeftBottom Right · Bottom Left · Top Right · Top Left

Ranges are printed only where the indicator enforces one. Line colors carry their default opacity; every color setting accepts any color.

The indicator listens to every tick because today’s high and low can change on any of them, but a tick costs a couple of comparisons: only a new high, a new low or a session boundary redraws a line. Label text and widths are cached until a setting changes; only the spacing between labels is recomputed as the chart moves. If your chart ever lags with Intraday Reference Levels on, that is a bug and we want to hear about it.

Which trades belong to “yesterday” and “today” comes from your chart’s trading-hours template, so the levels follow the session you trade, not the clock on the wall. The midnight open has its own zone setting: Eastern (00:00 New York, the default), the exchange’s zone, or your local zone. Keep NinjaTrader’s time zone on System Default (Tools → Options): on a custom display zone the Eastern and Exchange options are off by the difference between that zone and your PC clock, and only the Local option then judges midnight in the zone the chart is drawn in.

The file
IntradayReferenceLevels_v1.1.zip, 3.0 MB. A standard NinjaScript add-on: Tools → Import in NinjaTrader 8, nothing else to install. Delivered instantly on the checkout page and in your email receipt.
The license
One-time purchase, yours to keep. Tied to your NinjaTrader account email, not to a machine: install it on every computer you own.
Updates
Every update is free and installs with the same import. Remove the old version first (Tools → Remove NinjaScript Assembly), restart NinjaTrader, then import the new file.
Support
Email, answered by the traders who built it. Bugs get fixed. A step-by-step installation guide and the support page are there if you ever need them.
Platform
NinjaTrader 8, any recent version, the free tier included. One license, every computer you own. One-time purchase, free updates.
Session template
Use a single-session template (RTH, or a full ETH day). On a template with two session blocks in one day the levels follow each block — the open and close of every block, not of the day — which is almost never what you want.
History
Load a few sessions in the Data Series dialog and the previous-day levels are there at once. The weekly open activates at the first week rollover the chart sees: switched on mid-week it stays hidden until the next week, and on any chart it needs the bars back to that first session loaded. The midnight open needs a full-day template with a bar at midnight; on an RTH-only template it is left off.
Non-time bars
NinjaTrader stamps tick, volume, range and Renko bars by their close, so a bar that straddles a session boundary or midnight can place a boundary level one bar late. Inherent to how those bars are built; the price is still right. Renko and Heikin-Ashi bars carry constructed opens and clipped highs and lows, so on those charts the levels are the bar prices your chart shows, not trade prices.
Overnight levels
Overnight high, low and midpoint are not in v1.0. They are planned for a later release built on a proper overnight series.

Intraday Reference Levels makes no network connection of its own. Everything it draws comes from the bars already on your chart. Nothing about your charts or your trades is sent anywhere, and there is no telemetry. The only check is NinjaTrader’s own license verification of your NinjaTrader account, done by the platform, the same as for every licensed add-on.

Verification
Runs on
NinjaTrader 8.
Last checked
2 Oct 2026, on our own live charts. The date changes only when the indicator has actually been run.
Current build
v1.1, released 5 Oct 2026. Every update is free.
Changelog
v1.1 · 5 Oct 2026
Shorter chart label (the product name only). The settings panel shows the version of the installed file and links to the product page. No change to calculations or settings. If an earlier version is installed, remove it first: Tools > Remove NinjaScript Assembly > IntradayReferenceLevels_v1.0, restart NinjaTrader, then import this version.
v1.0 · 21 Jun 2026
Initial release: eleven levels (previous-day high, low, close, open, midpoint; today’s open, high, low, midpoint; weekly open at the week’s first bar; New York midnight open), locked once known, auto-spaced labels in five content modes, per-level style and reach, on-chart info box.

See the levels on your own chart before you decide.

Fourteen days, every setting, no card. It switches itself off, and if you keep it, it is $39 once and yours to keep.

Not for you if you want the tool to tell you what price will do at a level. Intraday Reference Levels draws the reference prices correctly and on time; the reaction, and the trade, are yours.

Pairs well with News indicator and economic calendar (Futures News Indicator) · Free VWAP indicator · Free initial balance indicator (Live IB Range) · Risk reward tool for Chart Trader (ATM Risk Reward) · Free previous week high and low indicator (Weekly H/L Lines) · Free monthly high and low indicator (Monthly H/L Lines)

We also offer custom builds

Can’t find the tool you need? We’ll build it.

Tell us what you want to see on the chart. You get a fixed price and a written plan before any work starts.

Request a free quote

Every tool on this site started as an idea like yours.

A moving-average zones indicator we built, on a NinjaTrader chart A trend indicator we built, on a NinjaTrader chart A VWAP indicator we built, on a NinjaTrader chart