Average True Range ATR Indicator For MT5
Table Of Contents:
- Average True Range ATR Indicator For MT5
- Instalowanie Average True Range ATR Indicator For MT5
- Parametry Average True Range ATR Indicator For MT5
- Bufory słowa Average True Range ATR Indicator For MT5
- Główne części Kodeksu
Wskaźnik Average True Range ATR Indicator For MT5 jest jednym z bardzo znanych standardowych wskaźników na prawie każdej platformie transakcyjnej. Jest on wykorzystywany jako podstawa dla wielu innych wskaźników, które wykorzystują jego wartości jako dane wejściowe do dalszych obliczeń. Wskaźnik ATR oblicza średni rozmiar ostatnich X świec. Wartości pozwalają zobaczyć wzrost lub spadek zmienności na rynku.
Instalowanie Average True Range ATR Indicator For MT5
Po pobraniu wskaźnika za pomocą powyższego formularza musisz rozpakować plik zip. Następnie musisz skopiować plik atr.mq5 do folderu MQL5Indicators instalacji MT5 . Następnie uruchom ponownie MT5, a wtedy będziesz mógł zobaczyć wskaźnik na liście wskaźników.
Parametry Average True Range ATR Indicator For MT5
Average True Range ATR Indicator For MT5 1 Average True Range ATR Indicator For MT5 ma parametry 1 do skonfigurowania.
input int InpAtrPeriod=14; // ATR period
Bufory słowa Average True Range ATR Indicator For MT5
Average True Range ATR Indicator For MT5 zapewnia bufory 2 .
SetIndexBuffer(0,ExtATRBuffer,INDICATOR_DATA); SetIndexBuffer(1,ExtTRBuffer,INDICATOR_CALCULATIONS);
Główne części Kodeksu
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 &TickVolume[], const long &Volume[], const int &Spread[]) { int i,limit; //--- check for bars count if(rates_total lt =ExtPeriodATR) return(0); // not enough bars for calculation //--- preliminary calculations if(prev_calculated==0) { ExtTRBuffer[0]=0.0; ExtATRBuffer[0]=0.0; //--- filling out the array of True Range values for each period for(i=1;i lt rates_total && !IsStopped();i++) ExtTRBuffer[i]=MathMax(High[i],Close[i-1])-MathMin(Low[i],Close[i-1]); //--- first AtrPeriod values of the indicator are not calculated double firstValue=0.0; for(i=1;i lt =ExtPeriodATR;i++) { ExtATRBuffer[i]=0.0; firstValue+=ExtTRBuffer[i]; } //--- calculating the first value of the indicator firstValue/=ExtPeriodATR; ExtATRBuffer[ExtPeriodATR]=firstValue; limit=ExtPeriodATR+1; } else limit=prev_calculated-1; //--- the main loop of calculations for(i=limit;i lt rates_total && !IsStopped();i++) { ExtTRBuffer[i]=MathMax(High[i],Close[i-1])-MathMin(Low[i],Close[i-1]); ExtATRBuffer[i]=ExtATRBuffer[i-1]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodATR; } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+