Market Profile vs Volume Profile in Forex

Using a free EA (expert adviser) in MT4 and the pro account at (TV), I spent a few minutes comparing the results of market profile and volume profile (MP vs VP).

TradingView offers VP on their pro accounts. It’s good that it’s behind a paywall as that might confirm it being a more useful leading indicator, giving some predictive edge. But it may also just be because it requires more resources to calculate, particularly when loading a zoomed out view of the 5 minute timeframe (TF), for example.

The free EA for MT4[0], first created in 2006, offers less options and is less sophisticated than its VP cousin in TradingView. But is it comparable, as a free option?

A quick explanation of the difference

Market profile: prices mapped against time. How long did the price spend at each level?

Volume profile: prices mapped against volume. How much was traded at each price level?

Logically speaking, VP should reflect a more accurate measure of market sentiment, as quick movements at extremely high volume might barely register in MP. Let’s see if this plays out in practice over a small sample.

Results of a few minutes’ comparison

The MP EA I’m using in MT4, while not offering a definitive ‘Point of Control’ (POC) line, does show peaks at the exact prices the VP in TV does for today’s prices. Almost to the tick.

The downside is that it only displays on the right, covers the current price action, and doesn’t seem reconfigurable by time period, only allowing a calculation for the previous period. I may be wrong on that - I haven’t used MT4 much - so do send a message if you know more. What it means though is that I can’t very easily look at yesterday’s POC and see how today’s compares.

There are other EAs in MT4 that might perform better[1], as well as extensive discussion on the subject[2] at Forex Factory. That famous hive of scum and villainy.


Well, I just copied some of the EAs from [1] into MT4 (mql/indicators/downloads) and compiled them in MT4. The one called MarketProfile-va is actually much more useful than the first, giving a POC line and a transparent, behind-the-candlesticks look, with colour coding and a value area (VA) box. You just have to set it to a date and how many days to count for that to work.

Unfortunately, the POC doesn’t match yesterday’s VP POC in TV. In fact, it’s quite far out. 1.27406 in MT4 vs 1.26753 (for GBPUSD on 2017-06-12). TV’s POC doesn’t even show as a peak on the display.

Later still…

Then I tried out marketprofile_scrat (most downloaded on the list at [1] by a clear 1000 downloads at this point) and it shows a POC, colour coding for different markets (Asia, EU, US) and gives more options than the others. This is looking better. Apart from the start and end date options seemingly being reversed (unless I was using it wrong - it wouldn’t work the other way), it seems the best for MP out of the three. How does it compare to VP on TV?

Well, it showed 1.26527 as POC for the same day as before, so closer to TV, but still off. Long term it might give a fuzzy enough indication to make a trading decision, but it’s a little more awkward to use than TVs offering.

Trying to compare POCs for a few more days (MT4 vs TV respectively, 10pm-10pm for GBPUSD in June 2017):

  • 10-11th - 1.27408 vs 1.27450
  • 8-10th - 1.27309 vs 1.27373 (*)
  • 7th - 8th - 1.29566 vs 1.29418
  • 6-7th - 1.29052 vs 1.29100
  • 5-6th - 1.29064 vs 1.29061

(*) from 9pm on the 8th to capture the big GBP drop after exit poll news

So it looks, at first glance, like I’ve found a Market Profile indicator that matches the paid Volume Profile indicator on TV. Let me try another 5 days, just to be sure:

  • 4-5th - 1.28660 vs 1.28700
  • 1-2nd - 1.28827 vs 1.28834
  • 31-1st - 1.28751 vs 1.28743
  • 30-31st - 1.28093 vs 1.28864 (*)
  • 29-30th - 1.28581 - 1.28585
  • 28-29th - 1.28384 - 1.28391
  • 25-26th - 1.28787 - 1.28790
  • 24-25th - 1.29540 - 1.29582

(*) First major discrepancy, there is another peak at 1.28890, much closer, but European MP dominated in the MT4 chart. There is another large VA in TV, likewise, that matches MT4’s. There was a large swing on that day. This is noted as an issue with profiles on the Wikipedia page[3].

So clearly you have to be careful when there are two competing POCs, which can throw the final POC out. Assume both are perhaps control points and work from that assumption. BUT, given how close these results are, there’s a strong correlation between the two indicators. It looks like it’s going to be usable in a strategy, saving the monthly fee for TV for more trading capital!

More research into how time vs volume data can differ or correlate required, but I’m happy with the preliminary findings. If anyone can corroborate this in different time frames, over even in some automated way over a sample of 1000 or more days, it’d be much appreciated! I’ll of course link to your findings if you do.

I can’t find any VP indicators for MT4 (that don’t cost $hundreds) so I think this is the best match I can find for now. There is one for MT5, but I’m not sure how ‘free’ it is when you have to submit your (an) email address[4].

One avenue for improvement on the ‘working’ indicator would be to show yesterday’s POC alongside today’s. Sounds doable and the code is simple, so I’ll take a look when I get time. Otherwise manually clicking away works fine.

Test rig

Tested in MT4, under wine on Debian Jessie (GNULinux). Tradingview using same Oanda demo account as MT4.

EDIT: I’ve just found in a linked forum post that if you add your basic volume indicator you can match high volume to price quite easily, combining the best of market profile and volume data.

EDIT 2: Just found a better EA by the same author, showing previous days’ POCs[5]. Now we’re cooking!

[0] -

[1] -

[2] -

[3] -

[4] -

[5] -

Submit comments here. Sharing posts appreciated.

Filed under: Forex  |  Volume profile, trading

You may also like: