pjsOpeningRangeV2 – An opening range indicator for Ninjatrader 8

This is the long awaited update to the original pjsOpeningRange indicator. Now updated to accommodate 2 years of feedback and real world usage. Do not underestimate the value of this indicator! Used correctly (and there are many ways to do this), it will give you an executable edge you can learn to exploit.


At its simplest, put it on a chart and it’ll plot a line for the high and low of the opening range for a time period you specify in the settings, optionally shaded, etc. Example below. 

5 minute opening range example

5 minute opening range

But, it can do, much, much more! Add multiple instances for different range times and customise it to suit your charts. Once you figure out the power of this indicator, you’ll want to!

At first glance, opening range may seem pretty simple, but there are a lot of nuances – This indicator deals with most of them.

Full feature list

  • To ‘the second’ resolution
  • Works on any time frame (including non time based charts)
  • Optionally use ‘exchange time’ for those really accurate, small ranges
  • Line labels (optional)
  • Range extensions ((fibs, if you prefer) optional & customisable)
  • Midpoint marker (optional)
  • price labels (optional)
  • Custom colours, line thickness, dash types, and font sizing
  • Custom prefix for your line labels (optional)
  • Lines/ranges can be hidden until OR is  formed (this greatly helps with chart clutter and you don’t want to trade the range until it is formed, right?)
  • Optional shading of OR in desired colour and opacity
  • Accurate historical ranges on longer term charts without loading tick data (assuming data was recorded live)
  • Exposes range data for use in strategies, etc.
  • Plot support for high, low, and midpoint. Overlay on NT DOM, or for use in the strategy builder for automated trading.

Here are the settings, configured for the example 5 minute opening range as shown above. You can change the time period the indicator marks the high and low for, so it is customisable for any time range you wish. The examples are 143000 hrs and 143500 hrs, so a 5 minute opening range (US Mkt, but based on GMT).  Time format is hhmmss. This format enables you to have short ranges, like 30 seconds, as some professional traders will use. You can add multiple copies of the indicator if you want several different time periods. You will have to configure to your local time.


pjsOpeningRange configuration settings

So there you go.

What do you think? Have any ideas? Let me know in the comments section below.

You might like to take a look at some of my other Ninjatrader bits and pieces.


Ninjatrader 8

Updates to V2

2019.10.16 – Small update ( I say small, but it took a lot of work to get right!), the indicator now has a ‘Duration’ option in addition to the ‘End Time’. For most people, they will continue to use the end time as normal. There are however some instances where the end time is less than the start time, for example, where the start time is at the close of the session, and the end time is pre-open. Most opening range indicators cannot cope with this – Now pjsOpeningRange can. The duration is specified in seconds and overrides the end time, which you should still specify. So, for example, 1 hour is 3600. Doing it this way enables ranges to span multiple sessions, even days if needed. The default is zero, and for ‘Opening’Ranges at least, that’s the way it should likely stay.

Additional screenshots below

30 minute opening range

30 minute opening range with extensions

30 second opening range

shaded 30 second opening range with price and prefix labels


If you are using the indicator in real-time, you will get accurate, to the tick, ranges. If you are using this historically (without tick replay turned on), the reported range will be limited to the high/low of the bar (which is actually how some people use it). However, the indicator stores the to the tick values detected in real-time and restores them, if you re-load the chart for any reason, or look at historical charts. I do not recommend you use tick replay, in any case.

Real-world usage

We are actual traders, trading real money and not just software developers trading SIM. We’ve traded with this indicator, live, for 1000’s of hours. We can offer some ideas for usage, though we strongly recommend you experiment and find your own edge. We’ll be posting more details here and some video content soon 🙂


if you already have a license key, please make sure you enter it in the indicator properties as part of the process of adding the indicator to your chart. Probably a good idea to ‘save as default’, so your key is remembered in your indicator template. 

As usual, let me know below if any issues and I will try to resolve, time permitting.


This tool requires a license after the 7 day trial period. You can purchase one here. Please make sure the indicator meets your requirements, prior to purchase. Thanks for your support!


Can I install this on multiple computers? Yes – Up to 2 with the same licensed version of ninjatrader, with the same license key.


if you have any questions, please email us via the web site. If you already have the indicator, please be sure to provide your product key and machine id with the request. We cannot help you unless you provide your product key AND your machine id. Please note, your machine ID can be found in Ninjatrader, under the ‘Help, About’ menu.

Contact us

Email me via the web site if you want to get in touch.

One Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.