ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5

Table Of Contents:

  1. ATR Probability Levels Indicator For MT5
  2. Installera ATR Probability Levels Indicator For MT5
  3. Parametrar för ATR Probability Levels Indicator For MT5
  4. Buffertar från ATR Probability Levels Indicator For MT5
  5. Huvuddelar i koden

ATR Probability Levels Indicator For MT5 beräknar höga sannolikhetsnivåer som marknaden kan nå under en definierad period. Den beräknar värdena baserade på ATR-indikatorn. Standardramen för ATR-beräkningen är den dagliga tidsramen. Nivåerna upptill är ritade med blå färg. Nivåerna till nackdelen är ritade med orange färg.

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

 

Installera ATR Probability Levels Indicator For MT5

När du har laddat ner indikatorn via formuläret ovan måste du packa upp zip-filen. Sedan måste du kopiera filen ATR Probability Levels.mq5 till mappen MQL5Indicators för din MT5 installation. Efter det kan du starta om MT5 så kan du se indikatorn i listan över indikatorer.

Parametrar för ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5 har parametrar för 6 att konfigurera.

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 

Buffertar från ATR Probability Levels Indicator For MT5

ATR Probability Levels Indicator For MT5 tillhandahåller 0 buffertar.

Huvuddelar i 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.