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.mq5MT5インストールの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.