Volume Profile Range V6 Indicator: Fifty Rows Per Session

Written by Dominic Walsh · Published · Last updated

The volume profile range v6 indicator builds a horizontal histogram beside the chart. It takes one session, splits its price range into `Rows` bins, and shares each bar tick volume across the bins that bar touched. The busiest row becomes the point of control.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 0
Alerts popup, push notification, email, sound
Inputs 21

What the Volume Profile Range V6 Indicator draws on the chart

OBJ_RECTANGLE rows form the profile, sitting `ProfileGapBars` to the right of the last candle.

Value area rows draw in `ColValueArea` and rows outside it in `ColOutside`.

OBJ_TREND rays mark the point of control and the two value area edges.

A session box outlines the range when `ShowSessionBox` is on.

Volume profile range v6 indicator on EURUSD H1 with the session profile and value area
Volume profile range v6 indicator on EURUSD H1 with the session profile and value area

How the Volume Profile Range V6 Indicator calculates its values

Defining the session

`StartHour` `0` and `EndHour` `24` bound the window in server time. `SessionDaysBack` `0` picks today. The code then finds the highest high and lowest low inside that window.

Filling the bins

binSize takes the session range over `Rows` `50`. Each bar spans a number of bins from its low to its high, and its tick volume gets divided evenly across them. So a wide bar spreads its volume rather than dumping it in one row.

Finding the value area

The busiest bin becomes the point of control. The code then grows outward from it, always taking the fuller neighbour, until the accumulated volume reaches `ValueAreaPercent` `70.0` of the session total.

How to read the signals

The point of control is where the session traded most heavily.

The value area covers seventy percent of that activity by default.

A thin row means price passed through quickly.

Tick volume is a proxy for activity, not a record of contracts traded.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

Alerts sit under `EnableAlerts`, which starts on, and `EnablePopup` carries the message. `EnablePushNotify`, `EnableEmail` and `EnableSound` all begin false. `SoundFile` picks the clip. The check runs once per closed bar.

Every Volume Profile Range V6 Indicator input

Core settings

Setting What it does Default
Rows Price bins (rows) in the profile. Price bins in the profile, default `50`. 50
ValueAreaPercent Value area coverage (%). Share of session volume the value area covers, default `70.0`. 70.0
StartHour Session start hour (server time). Session start in server time, default `0`. 0
EndHour Session end hour (24 = whole day). Session end in server time, default `24` for the whole day. 24
SessionDaysBack 0 = today’s session, 1 = yesterday… Which session to profile, default `0` for today. 0
ProfileGapBars Gap (bars) from last candle to profile. Gap between the last candle and the profile, default `2` bars. 2
FillProfile Fill profile rows (outline if false). Fills each row rather than outlining it, default `false`. off

Display settings

Setting What it does Default
ProfileWidthBars Max profile bar width (bars). Widest the profile may draw, default `30` bars. 30
ShowSessionBox Draw the session range rectangle. Draws the session range rectangle, default `true`. on
ShowLabels Show POC / VAH / VAL text labels. Shows the point of control and value area labels, default `true`. on
ColValueArea Value-area rows (bright). medium spring green
ColOutside Outside-value rows (lighter shade). cadet blue
ColPOC Point of Control ray. Point of control ray colour, default orange red. orange red
ColVAEdge VAH / VAL edge rays. Value area edge colour, default goldenrod. goldenrod
ColBox Session range box. slate gray

Alert settings

Setting What it does Default
EnableAlerts Master switch for the value area exit alerts, default `true`. on
EnablePopup Terminal dialog on a value area exit, default `true`. on
EnablePushNotify Phone push on a value area exit, default `false`. off
EnableEmail Mail delivery on a value area exit, default `false`. off
EnableSound Sound playback on a value area exit, default `false`. off
SoundFile Wav clip for the profile alert, default `alert.wav`. alert.wav
Volume profile range v6 indicator inputs: Rows, ValueAreaPercent, StartHour, EndHour
Volume profile range v6 indicator inputs: Rows, ValueAreaPercent, StartHour, EndHour

Settings that fit your chart

A profile needs enough bars in the session to fill fifty rows. EURUSD H1 is the reference chart, where a full day gives twenty-four bars. On M15 the same session gives ninety-six, which fills the bins far better. On H4 a day is six bars and the profile turns crude.

When the Volume Profile Range V6 Indicator fails

Tick volume is a broker figure and differs between feeds on the same instrument.

Spreading a bar volume evenly across its bins is a convention, not a measurement.

Fifty rows on a six-bar session produces a profile with almost nothing in it.

Copy the compiled Volume Profile Range V6 Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Related on forexmt4systems.com: Range Trading Strategy.

Download the Volume Profile Range V6 Indicator for MT4 and MT5

The zip holds the compiled Volume Profile Range V6 Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

How does Rows at 50 divide the session?

It splits the session high to low range into fifty equal price bins. Each bar then contributes its tick volume across every bin between its own low and high. More rows give finer detail and need more bars to look sensible.

What does ValueAreaPercent at 70.0 cover?

Seventy percent of the session tick volume. The code starts at the busiest bin and grows outward, always adding the fuller neighbour, until it reaches that share. The two edges become the value area high and low.

Why does a bar spread its volume across bins?

Because a bar that spans ten bins traded across all of them. Putting the whole volume in one row would misrepresent where activity happened. Dividing evenly is a convention, and it is the usual one.

Can I profile yesterday with SessionDaysBack?

Yes. `SessionDaysBack` `0` gives today, 1 gives yesterday and so on. That is useful for studying how a completed session distributed itself before deciding what today has done differently.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Volume Profile Range V6 Indicator as one input. Always backtest before trading live.

Category: this is part of our Volume collection. Browse more Volume for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment