Percentage Price Oscillator Indicator For MT5
Table Of Contents:
- Percentage Price Oscillator Indicator For MT5
- Percentage Price Oscillator Indicator For MT5 स्थापित करना
- Percentage Price Oscillator Indicator For MT5 पैरामीटर
- Percentage Price Oscillator Indicator For MT5 के Percentage Price Oscillator Indicator For MT5
- संहिता के मुख्य भाग
Percentage Price Oscillator Indicator For MT5 भी पीपीओ सूचक कहा जाता है और बाजार में अस्थिरता की दिशा के साथ-साथ प्रवृत्ति की गणना करता है। इस सूचक के साथ आप ट्रेंड रिवर्सल के पूर्वानुमान के लिए नियमित रूप से डायवर्जेंस भी देख पाएंगे। सूचक की गणना अलग-अलग कैल्सुलेशन अवधि के साथ 3 एक्सपोनेंशियल मूविंग एवरेज पर आधारित है। नतीजतन आप एक संकेतक सबविंडो में हिस्टोग्राम देखेंगे जो कि ऊपर की ओर रुझान के दौरान नीले रंग के क्षेत्र और नारंगी की ओर बढ़ते हैं।
Percentage Price Oscillator Indicator For MT5 स्थापित करना
आपके द्वारा उपर्युक्त फ़ॉर्म के माध्यम से संकेतक डाउनलोड करने के बाद आपको ज़िप-फ़ाइल को अनज़िप करना होगा। तो फिर तुम फाइल कॉपी करने की जरूरत है PPO.mq5 फ़ोल्डर में MQL5Indicators अपने की MT5 स्थापना। उसके बाद कृपया MT5 को पुनः आरंभ करें और फिर आप संकेतक की सूची में संकेतक देख पाएंगे।
Percentage Price Oscillator Indicator For MT5 पैरामीटर
Percentage Price Oscillator Indicator For MT5 पास कॉन्फ़िगर करने के लिए 3 पैरामीटर हैं।
input int inpFastPeriod = 9; // Fast calculation period input int inpSlowPeriod = 26; // Slow calculation period input ENUM_APPLIED_PRICE inpPrice = PRICE_CLOSE; // Price
Percentage Price Oscillator Indicator For MT5 के Percentage Price Oscillator Indicator For MT5
Percentage Price Oscillator Indicator For MT5 4 बफ़र्स प्रदान करता है।
SetIndexBuffer(0,fillu,INDICATOR_DATA); SetIndexBuffer(1,filld,INDICATOR_DATA); SetIndexBuffer(2,val,INDICATOR_DATA); SetIndexBuffer(3,valc,INDICATOR_COLOR_INDEX);
संहिता के मुख्य भाग
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); } //+------------------------------------------------------------------+