DT Oscillator Indicator For MT5

DT Oscillator Indicator For MT5

Table Of Contents:

  1. DT Oscillator Indicator For MT5
  2. Instalace DT Oscillator Indicator For MT5
  3. Parametry DT Oscillator Indicator For MT5
  4. Vyrovnávací DT Oscillator Indicator For MT5
  5. Hlavní části Kodexu

DT Oscillator Indicator For MT5 je založen na práci Roberta Minera. Vypadá to podobně jako stochastický indikátor. Indikátor také nakreslí dva řádky na podokno oscilátoru, které se otáčí mezi úrovněmi 0 a 100. Pomocí úrovně 70 můžete detekovat překoupené podmínky a úroveň 30 detekovat překoupené podmínky. Můžete také použít křížení dvou linek k potvrzení, než se rozhodnete zahájit obchod.

FREE DT Oscillator Indicator

Download the FREE DT Oscillator 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

 

Instalace DT Oscillator Indicator For MT5

Po stažení indikátoru pomocí výše uvedeného formuláře je třeba rozbalit zip soubor. Pak musíte zkopírovat soubor dt_oscillator.mq5 do složky MQL5Indicators vaší instalace MT5 . Poté prosím restartujte MT5 a poté uvidíte indikátor v seznamu indikátorů.

Parametry DT Oscillator Indicator For MT5

DT Oscillator Indicator For MT5 obsahuje parametry 5 lze nakonfigurovat.

input int  RsiPeriod     = 13;   // Rsi period input int  StochPeriod   =  8;   // Stochastic period input int  SlowingPeriod =  5;   // Slowing input int  SignalPeriod  =  3;   // Signal period input bool TapeVisible   = true; // Tape visibility 

Vyrovnávací DT Oscillator Indicator For MT5

DT Oscillator Indicator For MT5 4 DT Oscillator Indicator For MT5 poskytuje vyrovnávací paměti 4 .

SetIndexBuffer( 0,dtosf1,INDICATOR_DATA); SetIndexBuffer( 1,dtosf2,INDICATOR_DATA); SetIndexBuffer( 2,dtosc ,INDICATOR_DATA); SetIndexBuffer( 3,dtoss ,INDICATOR_DATA); 

Hlavní části Kodexu

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[]) {     //    //    //    //    //        if (ArraySize(rsibuf)!=rates_total) ArrayResize(rsibuf,rates_total);    if (ArraySize(stobuf)!=rates_total) ArrayResize(stobuf,rates_total);        //    //    //    //    //        for (int i=(int)MathMax(prev_calculated-1,0); i lt rates_total; i++)    {       rsibuf[i] = iRsi(Close[i],RsiPeriod,i,rates_total);                  double min = rsibuf[i];          double max = rsibuf[i];          for (int k=1; k lt StochPeriod && (i-k) gt =0; k++)          {             min = MathMin(rsibuf[i-k],min);             max = MathMax(rsibuf[i-k],max);          }          if (max!=min)                stobuf[i] = 100*(rsibuf[i]-min)/(max-min);          else  stobuf[i] = 0;              //       //       //       //       //              dtosc[i]  = 0; for (int k=0; k lt SlowingPeriod && (i-k) gt =0; k++) dtosc[i] += stobuf[i-k]; dtosc[i] /= SlowingPeriod;       dtoss[i]  = 0; for (int k=0; k lt SignalPeriod  && (i-k) gt =0; k++) dtoss[i] +=  dtosc[i-k]; dtoss[i] /= SignalPeriod;       if (TapeVisible)             { dtosf1[i] = dtosc[i];    dtosf2[i] = dtoss[i];    }       else  { dtosf1[i] = EMPTY_VALUE; dtosf2[i] = EMPTY_VALUE; }             }        //    //    //    //    //        return(rates_total); }   //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ // // // // //  double rsiWork[][3]; #define _price  0 #define _chgAvg 1 #define _totChg 2  // // // // //  double iRsi(double price, double period, int i, int bars) {    if (ArrayRange(rsiWork,0)!=bars) ArrayResize(rsiWork,bars);           //    //    //    //    //    //     rsiWork[i][_price] = price;    if (i==0)    {          rsiWork[i][_chgAvg] = 0;          rsiWork[i][_totChg] = 0;          return(50);    }              //    //    //    //    //           double sf     = 1.0 / period;          double change = rsiWork[i][_price]-rsiWork[i-1][_price];                 rsiWork[i][_chgAvg] = rsiWork[i-1][_chgAvg] + sf*(        change -rsiWork[i-1][_chgAvg]);       rsiWork[i][_totChg] = rsiWork[i-1][_totChg] + sf*(MathAbs(change)-rsiWork[i-1][_totChg]);     double changeRatio = (rsiWork[i][_totChg]!=0 ? rsiWork[i][_chgAvg]/rsiWork[i][_totChg] : 0 );    return(50.0*(changeRatio+1.0)); } 

 

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.