Index
Prequisites
To use this indicator you should have available the following prequisites
- NinjaTrader 8. Click here to download
- Order Flow data is not required to use this indicator (you don't need to have a Lifetime license)
- automated-trading.ch Account with Premium Subscription
Description
The Volume Profile indicator [Advanced] is a premium NinjaTrader 8 indicator which has the following features
- Display of volume profile in 3 Modes
- Session Mode: Display volume profile defined on a time interval for each trading session
- Bars Mode: Display volume profile on each Bar or an aggregate of bars. This mode also allows auto merging of profiles
- Click & Drag Mode: This mode allows to interactively creates volume profiles on the chart using mouse clicks
- Calcuation and display of value area on each volume profile
- Merge and grouping (composition) of volume profile interactively with a mouse click
- Split of volume profile clusters interactively with a mouse click
- Unique Auto Composition of volume profiles based on value area overlapping
- Works Seamlessly with or without OrderFlow Data or Tick Replay
- Works Seamlessly on any timeframe including Renko Bars
- The usage of Machine Learning Algorithm to classify profile types (P-Shape, D-Shape, b-Shape)
- Display of POC and Value Areas as a progressing line through the volume profile
- Export of POC and Value Area lines as Plots that can be used from the Ninjatrader Strategy Builder, AlgoStudio or Bloodhound 3rd-party Software
We highly recommend joining our discord community by following this invite link
Examples
Here are few examples of the indicator in action:
The most straightforward usage of the indicator is to layout RTH session volume profiles and trading price action on POC and Value Area levels on the previous day Volume profile.
Off course you can change the session time interval to whatever session suits the instrument. The time interval works seemlesly on time-based Timeframes and on price-based timeframes such as Renko bars or Range Bars. If you want to activate the volume profile on two seperate intervals for the same trading session, you can add two instances of the indicator to the chart, each with a session interval
The other basic usage of the indicator is to display volume profiles on each bars on the chart. The volume profiles will show value areas calculated on a parametrizable percentage. The confluence between the value area bounds, the open and close prices and the point of control of the bar can show opportunities for short term scalping. This mode will modify the volume profile sequence according to a merging algorithm based on Value Area overlap. You can Also manually decide to unmerge profiles, or merge them by Right-Clicking on the Volume Profile and click on Context Menu commands
The Volume profile can have three main types:
- P shape : This type suggests that the most volume occured on the top of the profile. When confirmed by the price action this can give a hint that the price may continue going higher
- D shape : This type suggests that the most volume occured on the middle part of the profile. No directional bias can be confirmed
- b shape : This type suggests that the most volume occured on the bottom of the profile. When confirmed by the price action this can give a hint that the price may continue going lower
This example shows how one can use the profile type to confirm a directional bias. The example shows the first "b" cluster followed by the price breaking down followed by a second "b" cluster with a higher confirming score. The example alsow shows a "P" profile that marked price reversal. If you look closely to the first "P" profile price action, you can see that the price was rejected at the lower part of the profile before going up again and closing the Cluster above the POC. This is a strong signal to go bullish
This example illustrates usage of the indicator under the Click & Drag mode where you can create volume profiles by clicking on the chart. To do this click (press and release the mouse) once on the start anchor on the chart, you will notice that a rectangle will be drawn on the chart following the mouse movement, then click a second time on the chart where you want the volume profile to end.
After creating the Volume profile by click & drag actions, you can Transform the volume profile by clicking on it to activate the transfrom state, you can drag it around and you also can remove it by Right-Clicking on it and click on the "Remove Profile" context menu button. You can also Extend the selected volume profile into the latest bar and make it active and extend its calculations with new live price bars
In this example the POC render mode and the Value Area render mode were set to "Porgress" instead of "Last Value". In this mode, the POC & Value Area Lines are drawn in a progressive for each bar. This allow to Visualize how volume has changed inside the volume profile bars cluster which can create trading opportunities when price action visits those levels. For example on the image above on the first leftmost arrow, we can see a clear breakout from the Value Area upper level. The same is observed for the second arrow. Whereas the third arrow shows a case where the price pulled back and broke the Value Area lower level, this can be a trade long to target the POC level.
Parameters
We always try to keep the parameters to minimum.
License | |
License | This is the license key you get when you create an account on automated-trading.ch. After creating an account, copy your license key from the billing page. You need to set this parameter only once per month, once the license key is validated it will be remembered for the rest of the month. |
General | |
Use OrderFlow Data | This parameter tells the indicator if you have OrderFlow data enabled (NinjaTrader Lifetime license) or not. You should check this if you have OrderFlow. And uncheck it if you don't have OrderFlow data, in which case you should enable TickReplay on your chart for the indicator to work properly. |
Align |
This parameter sets the drawing alignment of the profiles on the chart
|
Profile Period |
This parameter sets the profile period type. It can have three possible values
|
This parameter section is visible only when the Profile Period parameter is set to Sessions | |
Time Zone |
This parameter sets the time zone to be used for setting the Session Interval parameter below. Since futures markets are open and closed based on US market time zone which is EST (US Eastern, New York), this parameter allows you to specifiy trade time interval on another timezone which is your local machine timezone
|
Session Interval (hh:mm-hh:mm) | This parameter sets the time interval that defines the trading session.
For example if you want to draw a volume profile on the RTH session, the value of this parameter should be "09:30-16:15" |
This parameter section is visible only when the Profile Period parameter is set to Bars | |
Aggregate Bars Period | This parameter sets the number of bars for one volume profile. If you set this value to 1, the indicator will draw a profile for each bar. If you set this to 2, the indicator will draw one volume profile for each couple of bars. Notice that you can merge or split bars manually which will affect this initial clustering period |
Ticks Per Level | This parameter sets the option to group multiple ticks er level. which can provide a more accurate representation of the market activity at each price level. When volume data is grouped per level, the indicator aggregates the volume for each price level, rather than showing each individual tick. This can be especially useful in markets with high volatility and wide prices such as the nasdaq (NQ or MNQ) |
Show POC | Enable/Disable highlighting the POC level with its own color |
Show Value Area | Enable/Disable highlighting the value area levels with their own colors |
Value Area % | This will set the percentage used to calculate the Value Area of profiles. The value area is the area in which x% of trading volume occured. The standard value for this is 68% which represents the value are of a Normal distribution. But you can set this to other values such as 70%, in this case the value area will be calculated, on each new price tick, to show the price levels that represent 70% of the total volume of the profile. The value are is the area around the POC (Point of Control) which is the price level having the maximum traded volume |
Show Profile Body | Enable/Disable highlighting the profile Body with a distinguish color |
Auto Merge Profiles | This will enable/disable the automatic composition of adjacent profiles based on the overlapping of their value areas. This can be useful to automatically detect ranges of balance, and when the price breakout of those ranges in price discovery mode. Those two events can build the foundation of a trading strategy based on market auction theory |
Machine Learning | |
Classify Profile Type | This parameter enables classifying and displaying each Volume Profile type based on Machine Learning Algorithm |
Profile Type Text Position | This sets the position on which to render the profile type. This can have two possible values: Top or Bottom. |
Text Font Size | This sets the Font size of the profile type text to draw on top or below the profile |
Profile Type Brush | This sets the color of the profile type text |
Text Opacity (1-100) | This sets the text color opacity of the profile type text |
Rendering | |
Profile Width % | This parameter sets the profile width in percentage of the total with of the candle bars(s). The value of 100 will fill the whole area. |
Profile Opacity | The opacity to render the body of the profile. I personally set this value to 40 |
POC Render Mode |
This parameter has two values:
|
Value Area Render Mode |
This parameter has two values:
|
Value Area Opacity | The opacity to render the value area of the profile. In general you would want to set this to a slightly higher value than the body opacity to create a clear contrast between the two areas |
Profile Body Color | Draw Color of profile levels other than the POC and value area levels |
POC Color | Draw Color of the POC level (point of control) |
Value Area Color | Draw Color of the value area levels |
Show Labels | Enable/Disable showing pivot levels labels |
Label Font Size | This sets the font size of the labels if they are enabled |
Interactive Commands On the Click & Drag Mode
Interactive Commands On the Bars Mode
Interactive commands are operations of merge/split that can be applied to volume profiles on the chart by right-clicking on them
Signals & Usage in Strategy Builder
The indicator exposes signals that can be used from the Strategy Builder and Third-party software such as Bloodhound and AlgoStudio.
Those signal plots are transparent and are not drawn on the chart. To use them from the strategy builder you can select them and build a logic upon their values like this:

Download & Installation Instructions
To download and install the indicator follow the instructions below
- Click on the below download button to download the Indicator file
- Import the downloaded .zip file into NinjaTrader using the import NinjaScript menu item
- Next, open a new chart window
- After installing the indicator and opening a new Chart window you should add the indicator to the chart. Right-click on the chart and click on Indicators...
- Copy/Paste your license key that you can find on the Billing page into the license parameter
- The indicator requires the Premium Subscription. Check the Pricing page for details
- After adding the indicator to the chart with a valid license, the indicator will be run on Historical data loaded on the chart.
- After that, the indicator is added with success and will continue to run on live market data


Frequantly Asked Questions
General
Yes, If you have an idea that you believe can improve this indicator, I will be more then happy to hear from you. Please use the contact page to send me a message
No, the source code of the indicator is protected for copyright reasons
Yes, this indicator Exposes the POC and Value Area values through Plot series that can be used from within a strategy
Yes you can use this indicator without TickReplay if OrderFlow is enabled on your NinjaTrader platform
Release Notes
- First Release of the indicator
User Comments & Feedback
You can find feedback of our users and ask questions about this strategy by joining our discord community by following this invite link or clicking on the Discord logo image. Joining is completely free