Theoretical average position tracker for Ninjatrader

By August 9, 2017Tech

pjsTheoAvg – A theoretical average position tracker for Ninjatrader (well, for traders really, but it currently only works with NT)

OK, given the summer slowdown, I finally got around to creating a theoretical average position tracker for Ninjatrader.  What is this you say?  If you scalp, or scale into or out of positions, you’ll often have multiple entries and exits at different prices. Most DOM’s will show you average entry price, but scalp in and out a bit to improve basis etc., and that soon means little. If you are making multiple entries and exits throughout the day, you might be more interested in your theoretical average price, which could be well above/below the current price, vs the avg entry price of each position that the DOM typically gives you. That’s what this does. I know, you can calculate it in your head…  But, if you are a math retard like myself, or if you simply have too much else going on whilst trying to make a living, this will help.


This was built for Ninjatrader 8. It _may_ work with other versions (notably version 7), depending on if they changed the log format or not. I have not tested it. If it works, let me know in the comments below. I have only tested it using ES, but I expect it to work on any decimal pricing.

Using it – Really simple.  Configure the path to your Ninjatrader log folder (normally in my documents, ninjatrader 8, log) using the browse button, enter the instrument name in the box below (these settings are pre-populated with defaults already, just change them to suit your own setup), and click the ‘Go’ button.  All trades from today for that instrument are reviewed and your averages are shown. The newest trades should be at the top of the list. Long, short, short, long – Does not matter. It should show you your average price for the day (based on what profit/loss you took along the way). There are some options on the menu entries. Now you’ve set the log folder, you can now enable ‘auto refresh’ option if you like. This should update the log in real-time, rather than you clicking the Go button to update.  The app will remember the screen sizing and positioning so you can configure it as part of your trading desktop. Other settings should also be saved when you close the app.

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.


Not much. Windows, Ninjatrader (or it’s log files) and .NET 4.0 and you should be good to go. There is no install. Simply copy to a folder of your choice (I recommend one of it’s own – pjsTheoAvg is a nice name 🙂 ) and dbl-click the TheoAvg.exe to run. If you want to run multiple instruments, just copy to different folders and run multiple times.


none yet, but there will be as I am actively using this, so this is a placeholder for when that happens. This is a first release. A very early one. Let me know if any issues in the comments below.

2017.08.12 – A few minor polishing items. Icon was not showing correctly in taskbar, when start on minimised was selected, sometimes app was missing from taskbar. Maybe a couple other minor tweaks. Also added right-click on mini window option to force refresh log file. Useful if started app before NT and it did not update real-time because of file issues etc.

2017.08.09 – Well, that didn’t take long. I found by using for a day that it could be better, so I added a mini display, transparency options, and a minimise on startup option for the main window.  Wow! That’s better 🙂

2017-08-15 – Fixed a reported bug where the log path could not be changed. Sorry about that. Quite a biggie! Should be fixed in the latest download.


You can download the latest version of the indicator here

 (Ninjatrader 8 and ES is all I have tested with)

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

If you download it, and like it, please do me a favour and give it a little like above so I know. Thanks!


This tool, per most of my tools is free for non-commercial use (I define that as a ‘private’ investor with your own funds), but if you find it useful and wish to donate beer money, you can do so Via Bitcoin or PayPal. Any amount (no matter how small) will give you a warm fuzzy feeling and help me keep the power on. Be fair, just donate what you think is right. Thank you.

Bitcoin to  1PsQP6ECsevKRck4NPNJ3ZLnGaSJLxNyUT

PayPal to pjs DOT guernsey AT gmail DOT com

Commercial arrangements and custom versions are available if you wish to re-distribute or use for commercial purposes.  Please do not redistribute this, but feel free to link to it here.

At the very least, if you liked this or found it useful, please let me know in the comments section below or give it a like/share above. Thanks!

Contact me

You can view my linkedin here


  • Natalie says:

    Cool indicator! Just an issue with starting it. Every time I browse to my own NT log and press go, it changes the file path to your google drive folder

  • Pablo Heras says:

    I tryed to import the indicator to the last NT8 versión and it says this Ninjascript was made for an older version….

    • pjsmith says:

      Hi – That’s because this isn’t actually an indicator. It’s an executable you run outside of Ninjatrader. Don’t try and import it 🙂 Extract the contents somewhere and run it.

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.

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