Skip to main content


pjsProfileBars – An easy-to-use order flow tool for NinjaTrader 8

PJSProfilebars was created as nothing at the time I could find existed to fulfil my desires (which is typical of most of the tools I create). Namely, order flow presentation in a simple, clear way that also met my performance requirements (trading instruments like NQ in very volatile times can be tough!). It also had to be genuinely useful. I trade real $ – So it can’t just look pretty.  I think it’s still a unique tool in terms of what it does, and how it does it. If you trade futures, I truly believe this is one of the best tools available anywhere, period. See what you are missing vs traditional bars!

Before, and after! See what you are missing inside those bars…


Amazingly simple to use. PJSProfilebars lets you see INSIDE the bars and identify areas of interest and importance. Please be sure to read the ‘Updates‘ section below for all the latest news.

This is an 18 range NQ chart. Note the different widths of the profiles and the colour shading in the datagrid (widths can be changed in NT with Alt-Uparrow/Dnarrow). The whole point of pjsProfileBars is to give you an ‘at a glance’ view of important bars, without interpreting numbers. Most other tools simply plot the same size profiles for every bar or give you a huge screen of numbers to read. For me, in my trading, this is not very useful! I can tell you in a split second which are the important bars on this chart, without scanning through them. This is the whole point of the indicator, and one of its unique features.

The section at the bottom of the above chart is the ‘Data Grid’ and is optionally enabled. It’s included with the tool. Various important numbers, including the delta candles above the grid can be shown (so yes, it’s a delta / cumulative delta indicator too!).  A great feature of the grid is the colour variance on numbers of importance. It’s so easy at a glance to see those bars that matter. This is always relative to the other bars currently shown on the screen, so it automatically adapts to differing volatility, during the open, overnight, etc. This is used to great effect with delta in the  ‘momentum’ mode which is very useful in determining trend exhaustion.

It also completely fails back to candle mode too! 2 charts in one! So this is the same, exact chart, with the X-axis reduced. Traditional candles or box candles can be used. This meant for me, not having to have a candle AND a profile/order flow chart.

The delta grid will scale right down in candle mode and still provide extremely useful information. Take a look at the following chart. Note the data grid shown with the arrow (the oscillator on this chart and the trend background colourings are done with pjsHeikenAshi)

It does all this without bogging down your system. Performance in volatility was an absolute requirement and one of the reasons for building pjsProfileBars. No NT8 lag allowed! I have not seen a better performing order flow indicator – Certainly nothing that comes close to this whilst keeping the performance you need to trade volatile markets.

A most important feature and where pjsProfilebars is different from most other tools.

What do you get more information out of?


or this!?

Look carefully at the profile shapes. Most volume profiling tools just draw per the first example. PJSProfilebars draws profiles relative to the other bars on the screen, so again, you can see the important bars naturally, without looking at numbers. They just stand out. Note the volume builds at the top and bottom of the swings. Not so easy to see in the prior example, is it?  This is the default display behaviour for PJSProfilebars – You can turn it off and have traditional profiles if you prefer.

An alternative profile shape can make this even more obvious. Here is our take on an alternative way for viewing profiles, included in the tool.  

Doesn’t that give you more information, than this, below? Believe it or not, that’s the same chart. not sure how anyone can look at bars in the same way anymore 🙂  The ‘BUY’ / ‘SELL’ tags – These are optionally shown and are in testing. They have automatically detected areas of interest, where reversals might be occurring. They are not stand-alone buy/sell signals, but certainly, you should pay attention when they appear.

PJSProfilebars will also optionally show your naked VPOC’s, too. Also, take a look at those profile shapes again! These can be filtered.

All the above examples are showing volume being plotted, but it’s possible to have a pure ‘delta’ view also. This, in its own right, is very valuable and can deliver a fantastic additional perspective over volume alone. It will certainly reveal things that may not be obvious in a pure volume chart.

Delta profiles

PjsProfileBars running on the chart, with the option to plot the bars turned off, and ‘trade aid’ algorithms turned on. This is a Heiken Ashi chart, with candles plotted with the pjsHeikenAshi indicator. You can see here the highlighted bars – All these plots are made by the profile bars indicator running on the same chart. 

In summary

  • Extremely efficient rendering with automatic degradation if required and fallback to candles when zooming down to where profiles would be unreadable. Maintains performance during times of volatility on modest systems (the NT chart lag issue!). A huge amount of time was spent on making the rendering and operation extremely efficient 
  • Works on any time frame, with ANY underlying bar type (including non-time-based charts, renko, unirenko, etc.)
  • Designed to give you a modern, order flow based view of your chart bars, without compromising your existing charting. Just slide x-Axis left to zoom in/out!

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 version or above for this release (Ninjatrader changed to a 64bit-only model). This version has also been test-installed on the 8.1.x series and no issues were noted


2022.06.02 – A new version has been released! Please note that all release notes will in future be posted in the product documentation, under the release notes sub, here 

2022.03.11 – Super new features. A new divergence algo. Some assistance trade entry option, so you can auto-trigger trades on the algos if you want. Some new stats, including Volume and Delta Rank (as with most PJSProfileBars metrics, we are looking at comparisons with recent data, not numbers!). Time and Sales! This is actually really cool. A reconstructed tape with block trade reconstruction and different alerting. Just re-install to upgrade and answer YES to overwrite any existing files.

2022.02.15 – Minor update. Sorry folks. I had a small bug in the voice alerts for the bars which meant sweep and block announcements were intermittently working. Now fixed. But, I also added order flow sounds which can be configured via the settings below (this was going to be saved for another release soon). This is a bit like TickStrike if you are familiar with that. The sound files are now included in the distribution also, but you may change the default sounds to anything you like. So, you can now ‘listen’ to the market!

2022.02.12 – Major update. Whilst existing functionality should remain exactly the same, new features have been added. There is a new profile display mode that can be set in the Profiles – appearance section called ‘Sell vol on left, buy on right’. It will result in profiles  per the below image

Ninjatrader split buy

Another new feature that can be seen in the above image (click to expand) are the dominant site options. Set here to display a block above/below the bars, with live delta. These are the options in the appearance settings

There are some new options in the ‘Data’ section. These relate to reconstructing the CME tape, trade blocks, and voice alerts for different size blocks. These options are shown below

New start and end times have been added to allow alerts to be disabled outside these times. I avoid volume alerts during the close for example, and out of the main trading hours. These are the settings

The data grid has been expanded to allow the display of new statistics. These include COT high/low, Block trade counts (I’ve never seen this on another app, but I really find it useful to find out where larger participants are participating), and bar duration. The latter I have also found quite useful.

The option to show numbers within the bars has been added (note – this will have a minor performance impact if enabled)

There is another display mode. If you want a pure ladder display (useful with opacity shading and / or numbers on), you can have that too!

Imbalance tracking has been added. You can set different colours and have trade imbalances highlighted if you wish. The imbalance level is configurable per the below settings in the appearance and ‘Trade aids – Imbalances’ section. 

Trade imbalances

Options have been added to alert you to possible trapped buyers or sellers. This is generally an accumulation of buying or selling in one part of the profile, with the resulting move going against the majority of the aggressive participants. These options are here

Many of these new features can also be toggled on and off, live, without going to the indicator settings or reloading of the chart. This is much, much better! You access the context menu by left-clicking the indicator on the screen (either on a bar or the data grid if enabled), then right-clicking the same area. You should get a menu per the following image

A variety of sample templates that I use myself have been added to the distribution. These will be available in your installation as indicator (not chart) templates. You could load them and take a look as a starting point for different types of setup if you wish.

There has been a significant number of minor code tweaks for cosmetic and performance reasons. Default options for the indicator have been changed slightly to offer a better startup experience for new users. This will not affect your settings if you have already installed a prior version. If you wish, the template-reset option will install these new defaults. They are primarily around colouring and styling.

As you can probably tell, this is a _major_ , (indeed, massive!) update. The new code has been in use live as well as having been tested by running for 2 weeks continuously. It should be a seamless update and you can (should) be able to update by installing the indicator in the usual way and answering ‘Yes’ to overwrite the existing version.

I sincerely hope you like the new features. I personally, love them!

2021.12.12 – Minor naked poc updates. Moved naked vpoc settings into own group. Added option to extend the naked poc lines X pixels right. Noticed that the prior bar was not displaying naked POC until a further bar had been printed. Now resolved.  Nvpoc line now draws before the profile (instead of after), so that it’s behind the profile, else it might overlay the POC volume bar. OHLC bar type has been added as an additional fallback to bars type. Delta histogram can now optionally be shown inside of the volume profile. ‘Delta alerts’ on-off option fixed. Added an experimental trapped buyers/sellers trade aid. Let me have your feedback on this, please!

2021.10.05 – New features and some code tweaks. New ‘Cumulative delta’ modes. Please note a slight behaviour change. Cumulative delta mode now shows the running cumulative delta and not just the displayed bars. There are these new options

Enabling the ‘show as momentum’ option and setting the ‘Cumulative delta momentum period’ will enable you to show the data grid like this

Added the ‘NullStyle’ chart style to the distribution. This is a chart style I created that enables you to hide the native bars. It provides better performance than alternative options.

Code tweaks for performance.  Fix – use candle colours as set in indicator for up/down candles in bar mode, instead of up/down colours for profiles.

‘Delta Max’ was added to the data grid. This is an option I have not seen elsewhere, but I found useful for some time (years). You can think of it as iceberg detection. Very high values relative to the rest of the bars will indicate someone absorbing large amounts in very narrow price bands at those levels.

2021.09.19 – During further testing, I found some minor bugs. These are mainly to do with use on time-based charts that I don’t use much, but that’s no excuse for not properly testing! Damn my eagerness to push out a new version/features! They were just such good updates 🙂 Anyway – Apologies. The bugs have been squished and the download has been updated. I spent today playing back the entire of last week multiple times via multiple time/non-time/onbarclose/oneachtick charts to check. Thankfully, all looks sound again.

2021.09.18 – Fixed support for minute series historical data on time-based charts. This was there before, but the number of options, oneachtick, onbarclose etc. non-time based charts etc. might have broken it. If you select an invalid combination now, a warning should be displayed in the bottom right of the chart. Minute resolution for historical data is useful for fast load and low memory usage (read better NT8 performance) when you have longer-term bars, like a month of hour bars, or daily bars, for example, and where you do not need tick resolution. Also fixed some bar issues for different combinations of time/non-time based charts/oneachtick/onbarclose, etc. Again, you should get a helpful msg if you select an ill-advised combo.
Added a lookback period option to the liquidity zones. I’d initially limited it for performance reasons, but I wanted more on a specific chart, and not all PC’s are created equal. You can now extend this if you wish.

2021.09.15 – A great update! New trade aid, “liquidity zones”. Use this option as you will, but I set the line thickness between 6-10 and the opacity at around 5%. This allows me to see the overlap in a darker colour of multiple zones in the same place. Deeper colour, better area. Watch these. I am sure you will find them extremely helpful. For me, I use a chart period or around 5 days to give me enough zones, but experiment for your setup. 
Also, another new extremely good option on the naked vpocs. These can now vary in line thickness by the strength of the POC. Super, super useful. Both these options are added as a result of me trading for real with this indicator. The reason these features are unique (until someone sees this and copies it!), is they come from actual trading experience, not just ideas. I’ve been running with these 2 new options (and a couple more in the works) for a few months and they have helped my results considerably. Keeping it simple, but improving via real trading experience is what it is all about. ia Please do give them a try! There are also a few other minor code tweaks, fixes and improvements, including a fix for a rare issue on certain bar types where the profiles would disappear and a few more nanoseconds of performance squeezed out.

Done – Added option to abbreviate BUY/SELL labels to B/S, mainly for use when in scaled-down bar/candle only mode.

2021.02.21 – Small fix to avoid a possible ‘null’ error when trying to calculate the value area on certain bars. 

Additional screenshots below

Profiles with cell borders using the default NT8 dark slate theme

And, one more. Could not resist showing you this live example that just happened! 


If you are using the profile bars and want to hide the underlying NT8 bar type, select ‘NullStyle’ as the NT ‘Chart Style’, or select it from the bars dropdown at the top of every chart. This is efficient as it stops the NT native bars plotting altogether. I’ve bundled my ‘NullStyle’ candle type, for free, with pjsProfiles in case you want to use it. 

Once you have your chart running, use the ctrl-UpArrow/DnArrow to play with the width of your bars until you get something that looks nice.

Real-world usage

We are actual traders, trading real money and not just software developers trading SIM. We’ve traded with our indicators, 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. 

**** Please be sure to check out the documentation for the product, especially the brief ‘Getting Started‘ and ‘First Steps‘ guides! ****

There are 2 chart templates beginning pjsXXX in this download that should be installed into your templates folder along with the indicator. The templates include my current NQ scalp template. You can use these when you create your new chart to get yourself off to a start if you wish.

As usual, let me know below if any issues and I will try to resolve them, 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.

Alerts – A lot of people have not realised the alerts can be voice alerts! Yes, this indie speaks to you!  For some, it has not worked. This is just how their Windows 10 has been configured. To fix this is easy. If you don’t get voice alerts, and you have in fact enabled alerts in the settings, check this

In your windows 10 ‘settings’, Time and language


And check what voices you have there

You need Hazel installed. If not, you will need to install it from Microsoft. Also, click ‘Preview voice’ and make sure your PC actually can speak OK.


if you have any questions, please contact us via the website (or email). 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.

Please be sure to check the DOCUMENTATION

Contact us

Please use the contact form via the website if you want to get in touch.


  • Homaira says:

    what is your website?How can I learn more about your indicators.

  • amin valliani says:

    Hi PJ,
    I downloaded the trial version and find it very nice specially. with the signals.
    Questions :
    1. How do I the alerts activated ? I am not sure what the Suffix in the tool menu means.
    2. Also, What do the red triangles mean or what are they for ?

    • pjsmith says:

      Hi Amin,
      The suffix in the alerts is part of the settings for the voice alerts. I run a lot of charts and it’s possible to have multiple alerts being spoken. The suffix is the text that will be added to the end of the spoken alert so you can be a little clearer about where the alert originated from. For example, I run several alerts on nq. I’ll often add a suffix of ‘long term’, or ‘300 tick’, so I know just from the alert which chart triggered. The triangles alert you to a certain imbalance condition. Really, just pay attention to where they are printing and see if/how those bars become relevant to your trading.

      • amin valliani says:

        Hello Paul,
        1. I really like the profile tool. My only concern is how to activate the alerts. I did check the alerts box and typed in a single word “signal”. I did not get any alerts. There must be some trick I am missing.
        2. The red triangles are great at support and resistance areas.
        3. I plotted rectangles and ellipses on the higher time frame, (NQ) and made it universal i.e to plot on all NQ charts. The rectangles and ellipses do not show on the chart with the Profile too added. Is there a conflict between the profile and drawing tools ??

        I am enjoying the tool. Waiting to buy you a cup of Starbucks coffee when the percent change tool is ready (LOL).
        Thank you

        • pjsmith says:

          Hi – Did you get my email? Please reply to that as I sent you some screenshots etc. It will be easier than here. Thanks! To be clear, the alerts are voice alerts. The indicator will actually speak. This does however rely on Windows 10 speech synthesis, which you likely have, but I can work with you to check that.

          • amin valliani says:

            Hi Paul,
            I did not get any emails with screenshot or attachments. AOL sometimes missis emails.
            Can you please resend.

          • amin valliani says:

            I sent you an email with a couple of GIF attached.
            Thank you

  • Steve Lyon says:

    Is there a manual for the Profile bars or something that explains each item in properties of the indicator? Also, I can’t get my charts to scale right. When I open up Right Scale Properties it keeps reverting Range back to Fixed. So chart candles are all compacted together and I can’t see candles unless I manually expand right scale. Also candles print on the right side of profile.

    • pjsmith says:

      There is not currently a user manual. I am putting together something, along with some introduction videos soon.

      Typically, you do not want the native candles to show, so this indicator ships with a ‘NullStyle’ chart style. Try selecting this as the chart type in your data series and it should remove the native candles from the chart. Alternatively, you can set the native chart candle colour to transparent. Then, use the Ninjatrader bar width (alt arrow up and down) to set your bar width and ctrl arrow up and down to set your spacing.

    • pjsmith says:

      In re-reading your comment, I see another thing. Disable ‘AutoScale’ in the indicator properties. This will fix your squished chart. This is now the default in the new distributions..

    • Petr says:

      Hi I had the same problem, all in one but I happened to figure it out, I set the size of the candle to 6 (with) and more and then the profile and the candle next to it are displayed. Peter
      Ahoj měl jsem stejný broblém, vše v jednom ale náhodou jsem na to přišel, nastavil jsem velkost svíčky na 6 (with) a více a pak se zobrazuje profil a svíčka vedle. Petr

      • pjsmith says:

        Holding down Alt and using the up and down arrows should vary the size of your candles / profiles easily until you get it to look good.

  • pjsmith says:

    A new version was posted today… Details in the ‘Updates’ section above.

  • Ron Steinberg says:

    I’m testing the Profile bar indicator on the trial; I do like the product but have several questions on its use. In particular, I was getting volume buys and sells for each period for several days; but it didn’t provide information in today’s session. I didn’t check or uncheck anything in the settings so wonder what might have happened. So in general, what box(es) need to be checked to ensure I am getting buy and sell volumes as they are updating for each bar in real-time? Thanks.

    • pjsmith says:

      If it did not display any signals in this session, then no signals were found. Sometimes, depending on your settings, there just will not be a setup that meets the requirements. If you want to email me, pjs dot guernsey at gmail dot com, I can help you further. Th BUY and SELL will show historically, so a good way to test is to load up your chart with a few days data on it, and if you are seeing BUY / SELL anywhere, it is working. Only other thing I can think of, is, make sure indicator is set to OnBarUpdate. Feel free to email me though.

  • Petr says:

    Hi, I have been using your PJSCumdelt indicator for free for several years, thanks for it. It is “simple” but according to him something can be estimated. I want to ask, I downloaded your new version for a test. Below are bars with the magnitude of the delta. When the bar is small, the color cannot be distinguished if it is red or green and everything is dark and the size of the number cannot be read. Would it be possible to set or program only two colors? Minus red + plus green. No other shades of these colors. Thank you for answer. Peter

    Ahoj, používám Váš indikátor PJSCumdelta zdarma už několik let, díky za něj. Je “jednoduchý” ale dá se podle něj něco odhadnout. Chci se zeptat, stáhl jsem si Vaši novou versi na zkoušku. Dole se objevují bary s velikostí síly delty. Když je bar malý nejde rozlišit barva jestli je červená nebo zelená a vše je tmavé a nejde přečíst ani velikost čísla. Šlo by nastavit či na programovat jen dvě barvy? Mínus červená +plus zelená. Žádné jiné odstíny těchto barev. Děkuji za odpověď. Petr

    • pjsmith says:

      Hi Peter. Yes, this could be possible. It would help if you could email me a screenshot of the issue so I can advise further. pjs dot guernsey at Thanks!

  • jim says:

    Hi PJ,
    Do you know if your profile bars that plot the buy or sell signals will send that to Bloodhound by Sharkindicators? Thanks

    • pjsmith says:

      I intentionally made those signals plot standard NT8 text drawing objects so that the likes of Markers plus could use the signals. I am not 100% sure if Blodhound can detect text markers, or not. It was not exposed as a series object for performance reasons, but I do have an API for my indies that it also uses, though I have not published details, just yet!

  • jim says:

    Thanks PJ for getting back to me so fast. I own Markers plus also but much more familiar with Bloodhound.
    Thanks again

    • George H says:

      Hi Jim. I too wanted to know if the profile bars that plot the buy or sell signals will send that to Bloodhound by Sharkindicators. I too are familiar with Bloodhound and Blackbird. Did you find out any further information on this? Thanks

      • jim says:

        Hi George, I was just trialing the Profile bars and tried getting Bloodhound to take the signals but was not successful. I would be interested in the future if someone was able to get it figured out.

  • Mark Cadero says:

    Hi Paul, I downloaded the profile bars but have Ni idea how to use them. Do you have any videos showing how to use them. Also for the settings how do we know what to put for all the settings. Thank You, Mark

    • pjsmith says:

      Hi Mark – I don’t have any videos as yet. Out of the box, it should start printing profiles for popular instruments. There are quite a lot of settings in this one, and whilst some people will figure out what most of it is, the documentation is a little lacking for people new to these types of charts right now. I am in the process of building some here, with examples, etc., but any questions, just ask.

  • Riki Kalil says:


    I just purchased a license through Paypal. Will it be emailed to me? I haven’t seen anything come through?

  • Riki Kalil says:

    The only emails I have thus far are my confirmation email for creating a profile and then one telling me you commented on my post.

  • Ming Kin Ng says:

    Hi, I just bought it but I can’t received any e-mail

  • Javier says:

    Is it possible to use the indicator into a strategy?? Is not shown in the strategy builder.

    • pjsmith says:

      Hi – It is not intended for use with strategy builder at this time. Supporting strategy builder in the traditional way has performance implications that this indicator tries to avoid. Algo support is coming future releases.

Leave a Reply

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