ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5

Table Of Contents:

  1. ATR Probability Levels Indicator For MT5
  2. 安装ATR Probability Levels Indicator For MT5
  3. ATR Probability Levels Indicator For MT5参数
  4. ATR Probability Levels Indicator For MT5缓冲区
  5. 守则主要部分

ATR Probability Levels Indicator For MT5ATR Probability Levels Indicator For MT5计算市场在定义期间内可以达到的高概率水平。它根据ATR指标计算值。 ATR计算的标准时间范围是每日时间范围。向上的水平线用蓝色绘制。下行的级别用橙色绘制。

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

 

安装ATR Probability Levels Indicator For MT5

通过上面的表格下载指标后,您需要解压缩zip文件。然后,您需要将文件ATR Probability Levels.mq5复制到MT5安装的文件夹MQL5Indicators中。之后,请重启MT5,然后您将能够在指标列表中看到该指标。

ATR Probability Levels Indicator For MT5参数

ATR Probability Levels Indicator For MT5具有要配置的6 参数。

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 

ATR Probability Levels Indicator For MT5缓冲区

ATR Probability Levels Indicator For MT5提供0 缓冲区。

守则主要部分

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.