ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5

Table Of Contents:

  1. ATR Probability Levels Indicator For MT5
  2. Installere ATR Probability Levels Indicator For MT5
  3. Parametere for ATR Probability Levels Indicator For MT5
  4. Buffere av ATR Probability Levels Indicator For MT5
  5. Hoveddeler av koden

ATR Probability Levels Indicator For MT5 beregner høye sannsynlighetsnivåer som markedet kan nå i løpet av en definert periode. Den beregner verdiene basert på ATR-indikatoren. Standard tidsramme for ATR-beregningen er den daglige tidsrammen. Nivåene til oppsiden er tegnet med blå farge. Nivåene til nedsiden er tegnet med oransje farge.

FREE ATR Probability Levels Indicator

Download the FREE ATR Probability Levels Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

Installere ATR Probability Levels Indicator For MT5

Etter at du har lastet ned indikatoren via skjemaet over, må du pakke ut zip-filen. Deretter må du kopiere filen ATR Probability Levels.mq5 til mappen MQL5Indicators for din MT5 installasjon. Etter det kan du starte MT5 på nytt, så vil du kunne se indikatoren i listen over indikatorer.

Parametere for ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5 har 6 parametere som skal konfigureres.

input ENUM_TIMEFRAMES inpTimeFrame   = PERIOD_D1;      // Timeframe for data input int             inpAtrPeriod   = 21;             // ATR period input color           inpUp          = clrDeepSkyBlue; // Color for high levels input color           inpDn          = clrOrangeRed;   // Color for low levels input string          inpUniqueID    = "AtrLevels1";   // Unique ID for objects input int             inpLabelsShift = 10;             // Labels shift 

Buffere av ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5 inneholder 0 buffere.

Hoveddeler av koden

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],                 const double &open[],                 const double &high[],                 const double &low[],                 const double &close[],                 const long &tick_volume[],                 const long &volume[],                 const int &spread[])   {    MqlRates _rates[]; int _ratesCopied=CopyRates(_Symbol,inpTimeFrame,1,inpAtrPeriod+1,_rates);    if(_ratesCopied != inpAtrPeriod+1) return(prev_calculated);     double _atr    = 0; for(int k=0;k lt inpAtrPeriod; k++) _atr += MathMax(_rates[k+1].high,_rates[k].close)-MathMin(_rates[k+1].low,_rates[k].close); _atr /= inpAtrPeriod;    double _pclose = _rates[inpAtrPeriod].close;    string _tf     = timeFrameToString(inpTimeFrame);    datetime _time = time[rates_total-1]+PeriodSeconds(_Period)*inpLabelsShift;    _createLine("res3",_pclose+_atr,_time,inpUp,inpUp,_tf+" probability band R3 ("+DoubleToString(_pclose+_atr,_Digits)+")");    _createLine("res2",_pclose+_atr*0.75,_time,inpUp,inpUp,_tf+" probability band R2 ("+DoubleToString(_pclose+_atr*0.75,_Digits)+")");    _createLine("res1",_pclose+_atr*0.50,_time,inpUp,inpUp,_tf+" probability band R1 ("+DoubleToString(_pclose+_atr*0.50,_Digits)+")");    _createLine("sup1",_pclose-_atr*0.50,_time,inpDn,inpDn,_tf+" probability band S1 ("+DoubleToString(_pclose-_atr*0.50,_Digits)+")");    _createLine("sup2",_pclose-_atr*0.75,_time,inpDn,inpDn,_tf+" probability band S2 ("+DoubleToString(_pclose-_atr*0.75,_Digits)+")");    _createLine("sup3",_pclose-_atr,_time,inpDn,inpDn,_tf+" probability band S3 ("+DoubleToString(_pclose-_atr,_Digits)+")");    ChartRedraw();    return (rates_total);   } //+------------------------------------------------------------------+ //| Custom function(s)                                               | //+------------------------------------------------------------------+ void _createLine(string _add,double _price,datetime _time,color _color,color _textColor,string _text,int _style=STYLE_DOT)   {    string _name=inpUniqueID+":"+_add;    ObjectCreate(0,_name,OBJ_HLINE,0,0,0);    ObjectSetInteger(0,_name,OBJPROP_COLOR,_color);    ObjectSetInteger(0,_name,OBJPROP_STYLE,_style);    ObjectSetDouble(0,_name,OBJPROP_PRICE,0,_price);    _name=inpUniqueID+":label:"+_add;    ObjectCreate(0,_name,OBJ_TEXT,0,0,0);    ObjectSetInteger(0,_name,OBJPROP_COLOR,_textColor);    ObjectSetInteger(0,_name,OBJPROP_TIME,0,_time);    ObjectSetInteger(0,_name,OBJPROP_FONTSIZE,8);    ObjectSetDouble(0,_name,OBJPROP_PRICE,0,_price);    ObjectSetString(0,_name,OBJPROP_FONT,"Arial");    ObjectSetString(0,_name,OBJPROP_TEXT,_text);   } //------------------   int    _tfsPer[]={PERIOD_M1,PERIOD_M2,PERIOD_M3,PERIOD_M4,PERIOD_M5,PERIOD_M6,PERIOD_M10,PERIOD_M12,PERIOD_M15,PERIOD_M20,PERIOD_M30,PERIOD_H1,PERIOD_H2,PERIOD_H3,PERIOD_H4,PERIOD_H6,PERIOD_H8,PERIOD_H12,PERIOD_D1,PERIOD_W1,PERIOD_MN1}; string _tfsStr[]={"1 minute","2 minutes","3 minutes","4 minutes","5 minutes","6 minutes","10 minutes","12 minutes","15 minutes","20 minutes","30 minutes","1 hour","2 hours","3 hours","4 hours","6 hours","8 hours","12 hours","daily","weekly","monthly"}; //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ string timeFrameToString(int period)   {    if(period==PERIOD_CURRENT)       period=_Period;    int i; for(i=0;i lt ArraySize(_tfsPer);i++) if(period==_tfsPer[i]) break;    return(_tfsStr[i]);   } //+------------------------------------------------------------------+ 

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.