Percentage Price Oscillator Indicator For MT5

Percentage Price Oscillator Indicator For MT5

Table Of Contents:

  1. Percentage Price Oscillator Indicator For MT5
  2. Instalowanie Percentage Price Oscillator Indicator For MT5
  3. Parametry Percentage Price Oscillator Indicator For MT5
  4. Bufory słowa Percentage Price Oscillator Indicator For MT5
  5. Główne części Kodeksu

Percentage Price Oscillator Indicator For MT5 jest również nazywany wskaźnikiem PPO i oblicza zmienność na rynku, a także kierunek trendu. Dzięki temu wskaźnikowi będziesz nawet w stanie dostrzec regularne rozbieżności, aby przewidzieć odwrócenie trendu. Obliczenie wskaźnika opiera się na 3 wykładniczych średnich kroczących o różnych okresach obliczeniowych. W rezultacie zobaczysz histogram w okienku wskaźnika, który rysuje niebieskie strefy podczas trendów wzrostowych i pomarańczowe strefy podczas trendów spadkowych.

FREE Percentage Price Oscillator Indicator

Download the FREE Percentage Price 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

 

Instalowanie Percentage Price Oscillator Indicator For MT5

Po pobraniu wskaźnika za pomocą powyższego formularza musisz rozpakować plik zip. Następnie musisz skopiować plik PPO.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 Percentage Price Oscillator Indicator For MT5

Percentage Price Oscillator Indicator For MT5 3 Percentage Price Oscillator Indicator For MT5 ma parametry 3 do skonfigurowania.

input int                inpFastPeriod = 9;           // Fast calculation period input int                inpSlowPeriod = 26;          // Slow calculation period input ENUM_APPLIED_PRICE inpPrice      = PRICE_CLOSE; // Price 

Bufory słowa Percentage Price Oscillator Indicator For MT5

Percentage Price Oscillator Indicator For MT5 zapewnia bufory 4 .

SetIndexBuffer(0,fillu,INDICATOR_DATA); SetIndexBuffer(1,filld,INDICATOR_DATA); SetIndexBuffer(2,val,INDICATOR_DATA); SetIndexBuffer(3,valc,INDICATOR_COLOR_INDEX); 

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 &tick_volume[],                 const long &volume[],                 const int &spread[])   {    if(Bars(_Symbol,_Period) lt rates_total) return(prev_calculated);     int i=(int)MathMax(prev_calculated-1,1); for(; i lt rates_total && !_StopFlag; i++)      {       double _price = getPrice(inpPrice,open,close,high,low,i,rates_total);       double _emasl = iEma(_price,inpSlowPeriod,i,rates_total,0);       val[i]=(_emasl!=0) ?(iEma(_price,inpFastPeriod,i,rates_total,1)-_emasl)/_emasl : 0;       valc[i]  = (i gt 0) ? (val[i] gt val[i-1]) ? 1 : (val[i] lt val[i-1]) ? 2 : valc[i-1] : 0;       fillu[i] = val[i];       filld[i] = 0;      }    return (i);   } //+------------------------------------------------------------------+ //| Custom functions                                                 | //+------------------------------------------------------------------+ double workEma[][2]; //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ double iEma(double price,double period,int r,int _bars,int instanceNo=0)   {    if(ArrayRange(workEma,0)!=_bars) ArrayResize(workEma,_bars);     workEma[r][instanceNo]=price;    if(r gt 0 && period gt 1)       workEma[r][instanceNo]=workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][instanceNo]);    return(workEma[r][instanceNo]);   } //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ double getPrice(ENUM_APPLIED_PRICE tprice,const double &open[],const double &close[],const double &high[],const double &low[],int i,int _bars)   {    switch(tprice)      {       case PRICE_CLOSE:     return(close[i]);       case PRICE_OPEN:      return(open[i]);       case PRICE_HIGH:      return(high[i]);       case PRICE_LOW:       return(low[i]);       case PRICE_MEDIAN:    return((high[i]+low[i])/2.0);       case PRICE_TYPICAL:   return((high[i]+low[i]+close[i])/3.0);       case PRICE_WEIGHTED:  return((high[i]+low[i]+close[i]+close[i])/4.0);      }    return(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.