Volume Profile Indicator
Created 25 Jan 2024
·
Updated 28 Mar 2025
The Volume Profile indicator is a Free NinjaTrader 8 indicator with the following features. An Advanced Premium version with additional features is also available.
Prerequisites
To properly use this indicator you should have the following prerequisites available.
- NinjaTrader 8, with any license type. Click here to download
- Order Flow data is not required to use this indicator — you don't need a Lifetime license.
- An automated-trading.ch account with an active Free account (no paid subscription required)
Description
- Display of volume profile on each bar (or a period of bars)
- Display of volume profile on each trading session, with an optional time interval setting
- Calculation and display of the value area on each volume profile
- Splitting of volume profile clusters interactively with a mouse click
- Merging and grouping (composition) of volume profiles 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
- Precise visualization of price discovery and balance areas
Examples
Auto-detecting ranges based on value area confluence
The most basic usage of the indicator is to display volume profiles on each bar of the chart. The volume profiles show value areas calculated on a parametrizable percentage, and with Auto Merge enabled, the indicator can define price ranges based on volume activity on each range. This automatic range detection can generate range breakout signals when a bar breaks out long or short from the last range formed.
Volume Profile on Renko charts
The built-in NinjaTrader 8 OrderFlow Volume Profile indicator is great but has limitations — it can't be used on Renko charts, and requires the costly NinjaTrader Lifetime license. Our Volume Profile indicator doesn't have these limitations: it's a free indicator usable even without OrderFlow data enabled, and works on both regular candlestick charts and any type of Renko chart.
Entry strategy example
One trading strategy that can be built on the session-based volume profile is an opening range strategy: a volume profile is calculated between 01:00 and 09:00 Eastern Time, 30 minutes before market open, defining a range between its value area levels. When price breaks from that range, the breakout can be followed to enter long or short.
Parameters
We always try to keep the parameters to a minimum.
| General | |
| Use OrderFlow Data | Tells the indicator whether you have OrderFlow data enabled (NinjaTrader Lifetime license). Check this if you have OrderFlow; uncheck it if you don't — in which case you should enable TickReplay on your chart. |
| Align |
|
| Width % | The profile width as a percentage of the total width of the candle bar(s) — 100 fills the whole area. |
| Profile Period |
|
| Bars Period | Only available when Profile Period is Bars — the number of bars per volume profile. 1 draws a profile per bar, 2 draws one profile per pair of bars, and so on. Bars can be merged or split manually afterward. |
| Time Zone |
The time zone used for the Session Interval parameter below.
|
| Session Interval (hh:mm-hh:mm) | Only available when Profile Period is Sessions — the time interval that defines the trading session. For an RTH session profile, use 09:30-16:15. |
| Ticks Per Level | Groups multiple ticks per level, aggregating volume for each price level instead of showing each individual tick — useful on markets with high trading volumes such as the Nasdaq (NQ or MNQ). |
| Value Area % | The percentage of trading volume used to calculate the value area around the POC. The standard value is 68% (a normal distribution's value area), but any percentage — e.g. 40% — can be used. |
| Auto Merge Profiles | Enables/disables automatic composition of adjacent profiles based on value area overlap — useful for automatically detecting ranges of balance and breakouts into price discovery mode. |
| Rendering | |
| Profile Opacity | The opacity to render the body of the profile. |
| Value Area Opacity | The opacity to render the value area of the profile — generally set slightly higher than the body opacity for contrast. |
| Profile Body Color | Draw color of profile levels other than the POC and value area levels. |
| POC Color | Draw color of the POC level. |
| Value Area Color | Draw color of the value area levels. |
| Show POC | Enables/disables highlighting the POC level with its own color. |
| Show Value Area | Enables/disables highlighting the value area levels with their own colors. |
| Show Labels / Font Size | Enables/disables pivot level labels, and their font size. |
Interactive Commands
Interactive commands are merge/split operations applied to volume profiles by right-clicking on them.
Merge Right
Accessible by right-clicking a volume profile that has a successor profile — concatenates the clicked profile with its right-hand neighbor into one composite profile, which can be further composed with its remaining neighbors.
Profile before merge:
Profile after merge:
Merge Left
Accessible by right-clicking a volume profile that has a predecessor profile — concatenates the clicked profile with its left-hand neighbor into one composite profile, which can be further composed with its remaining neighbors.
Split Profile
Visible when the clicked profile is composed of more than one candlestick — splits it into multiple unit profiles, which can be re-merged afterward.
Download & Installation Instructions
License Requirements
At automated-trading.ch you can choose to either purchase a monthly subscription to use our premium products, or use our free products without subscribing.
In both cases, you need to create an account so you can get a License you can use for both premium and free products.
To obtain your license, simply sign up and then get your license on the billing page.
Download
You can also download this strategy — and every other automated-trading.ch strategy or indicator — anytime from your centralized Downloads page.
Installation Steps
Frequently Asked Questions
General
Release Notes
- Fix Bug: error calculating Value Area on condensed profile; Fix drawing of profile on higher ticker-per-level values
- Fix Bug: crash calculating value area on aggregated profile; Fix lagging on NQ/MNQ
- POC/Value area lines changed to Solid instead of dashed; Fixed glitch on session mode with close intervals
- Rewrite of rendering algorithm fixing glitch/blinking/lag on NQ and MNQ
- Bug Fix: false "License not recognized" error; Session mode completely rewritten
- Refresh Rate removed
- Refresh Rate applied to chart drawing rather than calculations
- Added EST/Local Time timezone options for session profiles; Added Min Refresh Rate (Seconds) parameter; More performance optimization; Better license management
- Fixing Serialization of properties when saving templates; Fix detecting start/end of session
- First Release of the indicator