Another Market Profile Indicator

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hello trades,

This month I've discovered the market profile studies and coded another MP indicator, for myself.
Because I like this implementation, I thing it may be interesting for other fellow trades using this technique to take a deeper feeling of the market.

What offers this indi?

- User can select manually the profile's start time / end time by simply dragging the start/end range lines.
- User can select manually the plotted indicator limits on the chart by simply dragging the indi start/end lines.
- Indi automatically selects the best time frame available (smallest one) to compute the profile. Any way, user can easily change profile time frame on the indicator control panel active on the chart.
- User can change plotted line color for each individual instance of the indi.
- User can Hide/Show indi on the chart by pressing the corresponding button on the control panel.
- A time weight option is available. If "Yes" is selected, older uses of the price gets lower weight.
A "price used" at "start time" gets a 1 x 0.01 points, while a "price used" the "end time" receives 1 x 1 points.
- User can add multiple instances of the indi on the same chart. Any way, if so, she/he should carefully set a different Index value in the indicator Inputs tab (ctrl + I, Edit Indicator , Inputs tab -> Index). Each instance should get a different index value.
- Font size can be changed.
- Control panel can be moved anywhere on the chart by simply dragging the corresponding bar above the control panel.
- Color of the move bar is the same with the color of the indicator. This way trader easily identifies the correct control panel for each instance of the indi.
- Hovering over the indi trader can read real values of the indi (number of uses of each price in the profiled market).

Bellow is a screenshot of the market profile for GBPUD.
GBPUSD_Multip.PNG

And here the source.



Have fun,
Nicolae
 

Attachments

  • MarketProfile_Multip.mq4
    33.8 KB · Views: 143

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hello again :)

If you have troubles managing charts under MT4, the following tool may help you (or not).
It allows you to change faster the symbol (using a currency pad) and keep constant the chart ratio.
Not too much, but useful maybe for some users.

Nicolae
 

Attachments

  • ChartSet.mq4
    28.8 KB · Views: 59
  • 👍
Reactions: Enivid

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hello traders,

A simple strong / weak script is now available for traders looking to get a better idea of where the market is going on.
It allows trader to get a better feeling about each currency, rather than about pairs.
Among different techniques to count SW was chosen the distance of the price in pips vs. SMA
A correction based on pip cost is implemented to compensate the "difference" between pips (one pip is different on GBPUSD and GBPNZD for example in terms of profit/lost)
If a hot key is set, when lunched, the script alerts SW ranking for 1 day, 2 days, 4 days, 8 days, 17 days and 33 days (SMA 4 H , 200 periods).
Bellow are screenshots of the SW ranking as for March 25, 2016.

SW_1Day.PNG

SW_2Days.PNG
SW_4Days.PNG
SW_8Days.PNG
SW_17Days.PNG
SW_33Days.PNG
 

Attachments

  • SWScore.mq4
    15.1 KB · Views: 50
  • 👍
Reactions: bm0899 and Enivid

bm0899

Trader
Mar 28, 2016
10
0
7
44
Hi Nicolae,

Thanks for the great volume profile indicator. If you can kindly allow the indicator to do the following also, then it will be excellent:

* Use on current charts e.g., M1, M5, M15, 1H, 4H charts. I mainly use M1 charts and ability to select only few candles specified by user.
* The indicator should be able to do profiles based on only select few candles (3- 10 candles) only on M1/M5 charts.
* Click a button on control panel, after the button is clicked, you can draw a rectangle using your mouse, selecting only specific candle you need volume profiles for. This will be useful when you want to analyse volume profile for candles on M5 for few weeks ago (easily can select few candles and analyse volume on price). Your indicator already has a box around current price as soon a indicator is loaded.
* The rectangle box has a corner X button to close the volume profile. Later, profile can be initiated by the button using control panel.
* Control panel can be minimised.

On control panel, what is the function of: Most Used, Range, TF?
 

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hi bm0899

Modified the restriction and user can see now the indicator plotted on M5 and M1. Take note that under some circumstances M1 and M5 charts may freeze the platform. EX: If you set the interval for the market profile for say 3 months and try to see it on 1 minute, you probably will freeze the platform.
As you noted the indicator currently draw a rectangle having the following limits:

Left/Right: Start Time and End Time of the profile.
Up/Down: Higher High and Lower Low of the profile.

Now on the control panel:
Range: means the number of full days of the profile. It is orientative.
If you try to profile 2 hours from yesterday, it will indicate 1 day.
Most Used: It will give a correct indication only if "Time Weight: No".
Some price is most used in the profile. It indicates the number of times that price was used.
TF: It is a key point to understand.
User should understand that Chart TF has nothing to do with Profile TF.

The math behind the indicator is the following:
It takes each bar of Profile TF, from Start Time to End Time, and gives 1 point to each price from Bar Low to Bar High.
Distance between 2 discrete prices is 1 pip.
Say one 15 bar has Bar Low 1.4050 and Bar High 1.4065. All prices between 1.4050 and 1.4065 will receive 1 point. We say all this prices where used once by this bar.

Now, this is repeated with all bars from Start Time to End Time.
When you set TF on the control panel you set this Profile TF.
The Profile will not change when you change the Chart TF if you keep the same Profile TF.
This Indi automatically determines the smallest Profile TF available.
This means that it check if your broker provides you all bars for the profile you ask for.
If you wish the profile for one particular day from 5 years ago, probably you will not have data to compute the profile on say 15 minutes. You will be lucky to get the 1 hour profile.

Any way, user is allowed to change the Profile TF for values larger than the minim TF.
This way it can eliminate much of the noise.
I personally don't think that using this specific indicator for ranges bellow 1 day is relevant, mainly because there are very few data available for a reliable statistical distribution.

If you wish the profile of a certain bar, just place the Start Time and End Time vertical bars on the same bar. Indi will automatically move one bar on the next in time available bar (to the right) and will profile that bar on the best Profile TF available.
You can later change Chart TF to see more details if you wish.
Please not that the bar under the End Time vertical bar it is not counted.
If you set your profile limits on Chart TF 1H and you set the EndTime bar on the current bar (Bar 0), than price action from the current last hour will not be counted.
It is important to understand that this indi does NOT follow the market. If new bars are formed user should manually change the limits by moving the time limits.

Control panel can be minimised: Done
 

Attachments

  • MarketProfile_Multip.mq4
    35.5 KB · Views: 72
  • 👍
Reactions: photize and Enivid

bm0899

Trader
Mar 28, 2016
10
0
7
44
Hi Nicolae,

Thanks again for your remarkable skills and assistance with the indicator and changes. This is coming up to be an excellent tool. I have the following questions:

(1) You mentioned:
The math behind the indicator is the following:
It takes each bar of Profile TF, from Start Time to End Time, and gives 1 point to each price from Bar Low to Bar High.
Distance between 2 discrete prices is 1 pip.
Say one 15 bar has Bar Low 1.4050 and Bar High 1.4065. All prices between 1.4050 and 1.4065 will receive 1 point. We say all this prices where used once by this bar.

Does volume/market profile is based on actual number of lots/contracts traded at each price (data provided by broker)? As I was confused reading your above comments, where you have mentioned you allocate 1 point to each price, is this 1 point based on actual volumes. Just wanted to know the accuracy of the volume at prices.

(2) The indicator crashes often at M5 and often there are no indicators at M15. I am planning to use this on MT4 Indicies (like DAX, NASDAQ, etc). Would this work on any platform? Is the indicator very process driven and consumes lots of RAM (able to make a bit faster, as MT4 freezes - when would it freeze)?

(3) What is the point of "Time Weight" - is this traditionally used in volume profile indicators? Just trying to understand.

(4) There are two rectangles (one is blue and another is red - default colours). Blue box is the TF for which the volume profile is generated, and the generated output is shown in red box - correct?

(4a) is it possible to change the red market profile line not to be very thick and line to be more narrow?

(4a) possible to output the market profile to be shown as histogram with a colour (user picked)? See example image below.
mp1.jpg

Many thanks.

mp2.jpg
 

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hi again bm0899

Thanks a lot for you appreciation.

I'll try to answer.
1. This indicator does not take into consideration volume.
I am brand new in Market Profile studies (less than 1 week).
I used the same technique used by the MarketProfile indicator you may find on this site (coded long time ago by Enivid as far as I understand).
It only takes into consideration the price. For example, if the Profile TF is 5 Min., it counts how many bars of 5 minutes, in the selected range, includes that price.

2. Yes, it crashes on M1 and M5 Chart TF. It works fine starting from 15 min.
Any way, if you selected 6 months range and try to see on Chart TF 15 min, it probably crash. The Reset Range button is provided to set a smaller range (last 2 days about).

It is not error free, and cannot be mainly because data provided by brokers are discontinuos and adding a function to dig the broker data base for error would enlarge too much the computation time.

It is not supposed to consume too many resources. It computes only when you change Profile TF or Chart TF.
On the other hand, lines are drawn in pixels, while the language does not provide a function to draw lines pixels based. If you shake the chart you will see a delay in plotting the indicator. This is because the indi computes each pixel of each line and this is highly resources consuming. Is the main reason this indi does not updates for each tick. It is supposed to work with on larger time frames and 5 minutes or 15 min will not change significantly the distribution (a tectonic very large 5 minutes bar will add 1 point for each price ;) ) so the profile will remain mostly intact.

Taking into account the way this indi determines the pest TF, I don't think will work outside the forex. I should think about how to modify the indi to work on any market.

3. Didn't find anywhere that time weighting technique. It will help you only if you want to give more weight for the recent activity.

For my own trading, I divide current GBPUSD price action in 3 areas:

1) March 16 - Today (March 28) (red in the pic) Profile TF 30 mmin
2) February 29 - March 28 (orange) Profile TF 1 H
3) Janaury 6 - March 28, 2016 (Green) Profile TF 4 H (on January 6 GBPUSD entered the current 800 pips range).

From the short time profile (7 days) I see that GBPUSD is interested to trade 2 main areas: 1.436-1.439 and 1.4110 - 1.4140.
But, from the complete range profile (green) I can see that the most wanted area is 1.4240 - 1.4310, as expected for a regular normal distribution.
So, before migrating to another range, I can presume that this market will complete the Gauss distribution for the current range. For this to happen, GBPUSD needs to consolidate 2 areas: 1.43-1.44 and 1.4150 - 1.4240. As you can see, we don't have major gaps here, so the distribution is almost over.

I am personally long there, from 1.4090, waiting for a consolidation at the 1.4350 level, we have also a gap there for the last 7 days, but if you ask me, a migration to another area on a larger TF will occur soon, preferably to the downside, filling initially the area 1.3960 - 1.4060.

Any way, 1.4300 remains a solid resistance here.

4. Correct. You can place the output anywhere on the chart, but in the past.

4a. You can currently set rectangles line width.
4b. It is possible, this would save a lot of computing, I'll think about.
 

Attachments

  • GBPUSD_16_03_28.PNG
    GBPUSD_16_03_28.PNG
    576.4 KB · Views: 66
  • 👍
Reactions: bm0899 and Enivid

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hi bm0899

Here it is the histogram style.
I rather prefer the simple line one.
Best,

Nicolae
 

Attachments

  • GBPUSD_16_03_28_Histo.PNG
    GBPUSD_16_03_28_Histo.PNG
    50 KB · Views: 117
  • MarketProfile_MultipHisto.mq4
    38.2 KB · Views: 92
  • 👍
Reactions: photize and bm0899

bm0899

Trader
Mar 28, 2016
10
0
7
44
Hi Nicolae,


Thanks again for the your hard work on this and replying to everything and also making all changes.

I am not able to use volume profile techniques properly as there are no decent MT4 indicator exists out there which can only show volume profiles for few candles only selected by user. Your indicator is very close to something which no one has ever done before on MT4 (your indicator has all the ingredients to make a volume by price indicator). Volume by price indicator uses “volume data” only as its input to create the profile.


The indicator looks perfect, however if you can make the following few changes only it would become one of the most sought after MT4 indicator:


(1) Make a volume by price profile indicator (output looks same, except input is volume only instead of price as your current indicator). “The Volume by Price study overlays a Volume Profile graph for each period onto a chart. The cumulative volume at each price increment over a specified period of time are displayed as horizontal histogram in the background of a bar chart.” Essentially, the volume is obtained from the broker’s provided volume data and this volume can be either bid or ask volume. Volume and price are the only two variables which are directly derived from the market itself and thus very important.

(2) Ability to operate and use this indicator on beyond Forex (and to any instrument – as long as there is volume by price data available).

(3) Ability to use this on M1 and M5 without crashing. I plan to use this on M1 chart by selecting ‘5-10 candles’ volumes. If “volume by price” is used then the indicator shouldn’t crash, if only few candles are selected. I am mainly a scalper.


Volume by price profile indicator already been created on other platforms (e.g., Ninjatrader but nothing exists on MT4). Volume Profiling Techniques Videos:



https://www.tradingview.com/stock-charts-support/index.php/Volume_Profile


http://www.sierrachart.com/index.php?page=doc/doc_VolumeByPrice.php
 

NicolaeZ

Active Trader
Mar 22, 2016
8
18
33
58
Hi traders,

For traders looking to enforce discipline as part of their trading routine, I've coded a simple tool (EA) to enhance trader discipline.
The EA is called PlaceTrade.

How does it works?
It uses a filter that allow trader to place a buy OR a sell according to the filter requirements.
Filter type: SMA slope. Trader is allowed to set SMA parameters. By default, it uses SMA TF 60 min, 50 periods (2 days).
User can set a neutral area (for example, if MA slope < 1 pip, no trade allowed).
If SMA slope is negative, only SELL trades are allowed.
If SMA slope is positive, only BUY trades are allowed.
This EA places only pendings (no market entry allowed).
User is allowed to set the absolute risk, in the account currency.
He/She Set the Entry price, SL price and TP price by moving the corresponding lines on the chart.
The Trader's panel indicates the Real Risk of the position, the Target Profit and the Lot Size eventually placed.

GBPUSD_1.PNG
Additionally, user is provided width a positions basic management panel.
GBPUSD_2.PNG

Special warnings: This EA is not protected against over-trading. User can place as many positions as he wants.
There is a risk limitation in place, are not allowed positions with a risk larger than 10% out of the balance, but user can place multiple positions with 10% risk.

Two additional indicators are provided:
LC_MA_Different_TF allows user to place an MA that will keep settings on any TF (allows trader to see the MA TF 60 min and 50 Periods on a TF15 minutes Chart.

Slopes indicates the MA slope. This indicators are not a must, but allows user to understand the EA's filter.

Trade safe,
Nicolae
 

Attachments

  • PlaceTrade.mq4
    42 KB · Views: 62
  • GBPUSD_3.PNG
    GBPUSD_3.PNG
    57.2 KB · Views: 64
  • LC_MA_Different_TF.mq4
    4.2 KB · Views: 55
  • Slopes.mq4
    10 KB · Views: 56

ivanT

Newbie
Jul 3, 2016
1
0
1
48
Hi Nicolaez

for first many many compliments for your wonderful work on MP indy. It's awesome.

I would you know how to use two or three indi on one TF like you do on your template of n° 7 post.

For example When I use the MarketProfile Multipl on EurUsd H4 it's all ok. When I use the second indi on H4 and I change the Range from 7 days to 21 days all two indi change the range and not one remain on 7 days range and second range 21 days. All two change range.

Many thanks and Best Regards
Ivan
 

benefactor

Trader
Jun 19, 2018
4
0
12
41
Most platforms has market profile chart (or TPO Profile). like TT, MotiveWave, SierraChart, Quantower platform
Here is my chart on ES futures
attachment.php
 

benefactor

Trader
Jun 19, 2018
4
0
12
41
Nice! What platform is this? Is it a default indicator there? Or is it something custom coded?
This is Quantower platform and they provide TPO profile chart. Except for this chart type, they have a lot of other kinds of stuff like Footprint chart, Volume Profiles, VWAP
1590145608919.png