3DMa MetaTrader 4 Forex Indicator
DOWNLOAD INDICATOR

3DMa MetaTrader 4 Forex Indicator has changing two parameters with the mouse pointer.

  • X – maximum MA period changes
  • Y – step of changing of MA period
#include <CanvasiCanvas.mqh> //https://www.mql5.com/en/code/23840 #property indicator_chart_window double  close[]; long Total; int Ma=0; int stepMa=0; int OnInit()   {    ChartSetInteger(0,CHART_SCALE,0,0);    ChartSetInteger(0,CHART_FOREGROUND,true);    CopyClose(_Symbol,_Period,(int)W.Right_bar,W.BarsInWind+Ma-1,close);    Total=SeriesInfoInteger(_Symbol,_Period,SERIES_BARS_COUNT);    return(INIT_SUCCEEDED);   } int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[])   {    return(rates_total);   } void OnChartEvent(const int id,                   const long &lparam,                   const double &dparam,                   const string &sparam)   {    static int MaOld=-1,stepMaOld=-1;    Ma=W.MouseX+100;    stepMa=W.MouseY;    if(stepMa<=0) stepMa=1;    stepMa=1+stepMa/10;    if(stepMa>Ma) stepMa=Ma-1;    if(id==CHARTEVENT_CHART_CHANGE || MaOld!=Ma || stepMaOld!=stepMa)      {       ChartSetInteger(0,CHART_SCALE,0,0);       CopyClose(_Symbol,_Period,(int)W.Right_bar,W.BarsInWind+Ma-1,close);       nMA();       MaOld=Ma; stepMaOld=stepMa;      }   } //+——————————————————————+ void nMA()   {    int preY=0;    Canvas.Erase();    double S=0;    for(int i=0;i<Ma; i++) S+=close[i];    for(int Per=Ma;Per>0;)      {       double s=S;       uint Clr=Grad((double)Per/Ma);       for(int x=0; x<W.BarsInWind;x++)         {          int Y=(int)(Canvas.Y(s/Per)-0.5);          if(x>0) if(fabs(Y-preY)>1) Canvas.Line(x-1,preY,x,Y,Clr);          else Canvas.PixelSet(x,Y,Clr);          if((Ma+x)<ArraySize(close)) s=s-close[x+Ma-Per]+close[Ma+x]; else break;          preY=Y;         }       for(int j=0; j<stepMa; j++) if(Per>0) {S=S-close[Ma-Per]; Per–;} else break;      }    Canvas.Update();   } //+——————————————————————+ uint Grad(double p)   {    static uint Col[6]={0xFF0000FF,0xFFFF00FF,0xFFFF0000,0xFFFFFF00,0xFF00FF00,0xFF00FFFF};    if(p>0.9999) return Col[5];    if(p<0.0001) return Col[0];    p=p*5;    int n=(int)p;    double k=p-n;    argb c1,c2;    c1.clr=Col[n];    c2.clr=Col[n+1];    return ARGB(255,c1.c[2]+uchar(k*(c2.c[2]-c1.c[2])+0.5),                    c1.c[1]+uchar(k*(c2.c[1]-c1.c[1])+0.5),                    c1.c[0]+uchar(k*(c2.c[0]-c1.c[0])+0.5));   } 3DMa MetaTrader 4 Forex Indicator

3DMa MT4 Indicator – Download Instructions

In order to transform accumulated history data, you need to install a MetaTrader 4

3DMa – it is a MetaTrader 4 indicator that allows you to detect several changes and dynamics in price that many traders can’t estimate or see without an indicator, which highlights its essence and usage.

Accordingly, traders can draw conclusions and make estimates about how the prices will change based on the information they have and then they can modify their strategy for better trading.

How To Install 3DMa MT4 indicator for MetaTrader 4.mq4?

Download indicator for MetaTrader 4.mq4
Copy 3DMa MT4 to Directory / experts / indicators /
Start or restart your Metatrader 4 Client
Select Chart and Timeframe where you want to test your mt4 indicator
Search “Custom Indicators” in your Navigator mostly left in your Metatrader 4 Client
Right click on 3DMa MT4 for MetaTrader 4.mq4
Attach to a chart
Modify settings or press ok
Indicator for MetaTrader 4.mq4 is available on your Chart

How to remove 3DMa MT4 Indicator for MetaTrader 4.mq4 from your Metatrader 4 Chart?

Select the Chart where is the Indicator running in your Metatrader 4 Client
Right click into the Chart
“Indicators list”
Select the Indicator and delete

Related Indicator: Money Flow Index MetaTrader 4 Forex Indicator

Questions about this indicator? Ask our community

Download 3DMa MetaTrader 4  Indicator

DOWNLOAD INDICATOR