Current Volume Profile Indicator for MT4 and MT5

Written by Dominic Walsh · Published · Last updated

The current volume profile indicator asks where price spent its time. Two hundred bars get sorted into forty buckets by typical price. The busiest bucket becomes the point of control. Widening out from there until seventy percent of activity is covered gives the value area edges.

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 3: POC, VAH, VAL
Alerts popup, push notification, email, sound
Inputs 16

Colours, widths and shapes

Three lines plus chart objects.

`POC` runs gold at width 2.

`VAH` runs dodger blue above it.

`VAL` runs crimson below.

Trend objects mirror each level on the chart.

Object names all begin with `ObjPrefix`.

  • POC: line, gold, width 2
  • VAH: line, dodger blue, width 1
  • VAL: line, crimson, width 1
current volume profile indicator: The control point and both value edges on EURUSD H1.
The control point and both value edges on EURUSD H1.

What the formula does

Buckets, not bars

Price gets divided up. `LookbackPeriod` `200` bars set the high and low. `BucketCount` `40` splits that span into equal slices.

Filling them

Each bar counts once. Its typical price, the average of high, low and close, decides which slice it lands in. The fullest slice becomes the point of control.

The value area

It grows outward from there. Neighbouring slices get added until `ValueAreaPct` `0.70` of the total is inside. The outermost pair gives the two edges.

Interpreting what you see

The gold line marks where price spent most of its time.

Between the blue and crimson lines is the usual territory.

Outside them price was moving rather than settling.

A tight value area describes a balanced market.

Levels rebuild as the window rolls forward.

Forty buckets set how precise each level can be.

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

`EnableAlerts` heads the level alerts and ships true with `EnablePopup`. Turn on `EnablePushNotify` for a phone, `EnableEmail` for mail, or `EnableSound` to play `SoundFile`. A close within five points of a level reports once a bar.

Every Current Volume Profile Indicator input

Core settings

Setting What it does Default
LookbackPeriod Bars used to build the profile. Bars built into the profile, `200`. 200
BucketCount Histogram buckets across price range. Price slices across the span, `40`. 40
ValueAreaPct Value Area target fraction (default 70%). Share of activity inside, `0.70`. 0.70
RefreshEveryBars Recompute on every Nth new bar. Rebuild every Nth bar, `1`. 1
ObjPrefix Object name prefix, `”CurVP_”`. CurVP_

Display settings

Setting What it does Default
PocLineColor POC trendline color. Busiest slice colour, `clrGold`. gold
VahLineColor Upper edge colour, `clrDodgerBlue`. dodger blue
ValLineColor Lower edge colour, `clrCrimson`. crimson
PocLineWidth (see inputs panel) 2
VaLineWidth (see inputs panel) 1

Alert settings

Setting What it does Default
EnableAlerts Master switch, `true`. on
EnablePopup (see inputs panel) on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) off
SoundFile Which clip plays, `”alert.wav”`. alert.wav
current volume profile indicator: Inputs panel with LookbackPeriod, BucketCount and ValueAreaPct.
Inputs panel with LookbackPeriod, BucketCount and ValueAreaPct.

Choosing where it lives

Two hundred bars means a different span on every chart. EURUSD H1 is the reference chart. The window covers about eight days there. On M5 it is under a day. On H4 it spans more than a month.

What this one cannot tell you

Bar counts stand in for real traded volume.

One bar counts once, however large it was.

Forty buckets is coarse on a wide range.

A rolling window means levels move as bars fall out.

Copy the compiled Current Volume Profile 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.

Download the Current Volume Profile Indicator for MT4 and MT5

The zip holds the compiled Current Volume Profile 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

What does BucketCount 40 control?

How finely the price span is sliced. Forty buckets across two hundred bars gives levels precise to a fortieth of the range. More buckets sharpen the point of control but make each slice thinly populated.

How does ValueAreaPct 0.70 pick its edges?

By growing outward from the busiest bucket, adding neighbours until seventy percent of all counted bars sit inside. The last two buckets added become the upper and lower edges you see drawn.

Does LookbackPeriod count volume or bars?

Bars, and the distinction matters. Each of the two hundred bars adds one count to whichever bucket its typical price falls in, so the profile measures time spent at a price rather than contracts changing hands.

Why set RefreshEveryBars above 1?

To save calculation on a slow machine. At the default the profile rebuilds on every new bar, which is fine on H1 but costs more on a fast chart with two hundred bars to re-sort.

Are results guaranteed?

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

Category: this is part of our Volume collection. Next, plainly, yet, 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