Do we really need another price line indicator!? Errrrr – Yes! So, I wrote this. A long time ago, actually, but I decided to share.

What this does


  • Plots a line across your chart in the style of your choosing, for Bid, Ask, Last, or any combination of the three.
  • Can revolutionise your chart behaviour! I mean it! If you trade short term price action, you can use the ‘Chart Updates’ option (with due consideration to your overall NT8 performance), to force chart updates at the rate of X milliseconds, vs NT8’s hardcoded best effort of 250ms. What difference would this make? In terms of trading in volatility, it really is night and day! 🙂
  • Monitor the spread for your instrument and warn you if it gets out of whack
  • Is also a tick counter/bar timer, so you can use this to replace at least a couple of different indies with one.
  • Uses OnRender code, to efficiently render the lines rather than using NT8 Draw., etc.


Download and utilise in the normal NT8 indicator way.


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


Ninjatrader 8


none yet… (not since public release, anyway!)


This tool is a freebie. Feel free to download for your own personal use. Thanks for your support!


OK, so I got asked for some info on the settings. Here you go.

Bar Timer
Tick counter as price marker – Instead of putting text on your chart etc., this utilises the price marker in the price column to show the tick counter. More space efficient (and nicer!). You might have to turn OFF the price marker in your data series properties, as this can overwrite the price line one with another marker of the same exact shape. The other 2 options should be self-explanatory.

Chart Updates
Forces an update of the chart visuals at the rate of milliseconds specified. NT8 normally refreshes a chart at a maximum rate of 4 times a second (max). This can provide for some laggy visuals during volatility. Note – This will INCREASE the load on your system as it will be required to re-draw the screen more times per second. This is excellent if your system can handle it. It is not a cure for laggy chart indicators that cause lag during volatility. But, your charts will come alive with this option set! 50-150ms is my personal sweet spot for fast charts vs performance. -1 disables the option and leaves NT to manage this per its normal behaviour.

Show spread – Shows the number of ticks between the bid and ask price in the top right-hand corner of your chart. If ‘spread warning’ is greater than zero and the spread exceeds this size, the spread text will change to a warning colour to alert you.
Up down tick marker colours – This changes the colour of the price marker (red/green), on up ticks / down ticks
Up Down bar marker colours – This changes the colour of the price marker to red/green depending on if the bar is currently closing up or down.

I think that about covers it.

Oh, one more thing. For observing price action, the recommended ‘Calculate’ rate in the indicator properties is ‘On Price Change’. This will mean your chart refreshes when the price actually changes, OR at the max refresh rate you specified if you enable the ‘Chart Updates’ feature, whichever happens last. No point updating your candles if the price has not changed? The exception to this would be if you were observing volume etc in thicker instruments like ES. A lot can happen between price changes. Watching volume bars with the indicator set to ‘On Each Tick’ and a setting around 50 vs NT default is night and day! This would ensure you get volume updates, even if the price has not changed. Do not use OnBarClose. Again, when you use this option, you are forcing your machine to do more work (re-drawing the screen). If your platform can handle it, it’s fantastic, but be aware it will make your setup work harder. With the option set to -1, the default, NT8 just behaves as it normally would.


What can I say – It’s a price line. If you seriously have a question, let me know!



Leave a Reply

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