Center of Gravity Ehlers Indicator For MT5
Table Of Contents:
- Center of Gravity Ehlers Indicator For MT5
- Center of Gravity Ehlers Indicator For MT5 Yükleme
- Center of Gravity Ehlers Indicator For MT5 Parametreleri
- Center of Gravity Ehlers Indicator For MT5
- Kodun Ana Bölümleri
Center of Gravity Ehlers Indicator For MT5 tarafından geliştirilmiştir ve trend tersine çevirme noktalarını oldukça doğru algılayabilir. Gösterge SMA ve WMA gibi filtreler kullanır. Gösterge, bir gösterge alt penceresine osilatör olarak iki çizgi çizer. Bir çizgi noktalı ve daima mavi renktedir. Diğer çizgi düzdür ve yukarı doğru eğilimler sırasında rengi yeşile, aşağı doğru eğilimler sırasında kırmızıya değiştirir. Eğilimin yönü noktalı mavi çizgiye göre konum ile tanımlanır.
Center of Gravity Ehlers Indicator For MT5 Yükleme
Göstergeyi yukarıdaki form aracılığıyla indirdikten sonra zip dosyasını açmanız gerekir. Ardından centerofgravity.mq5 dosyasını MT5 kurulumunuzun MQL5Indicators klasörüne kopyalamanız gerekir. Bundan sonra lütfen MT5'i yeniden başlatın, ardından göstergeyi göstergeler listesinde görebileceksiniz.
Center of Gravity Ehlers Indicator For MT5 Parametreleri
Center of Gravity Ehlers Indicator For MT5 , yapılandırılacak 4 parametrelerine sahiptir.
input int Period_=10; // Indicator averaging period input int SmoothPeriod=3; // Signal line smoothing period input ENUM_MA_METHOD MA_Method_=MODE_SMA; // Signal line averaging method input Applied_price_ AppliedPrice=PRICE_CLOSE_;// Price constant
Center of Gravity Ehlers Indicator For MT5
Center of Gravity Ehlers Indicator For MT5 , 3 arabelleklerini sağlar.
SetIndexBuffer(0,Ext1Buffer,INDICATOR_DATA); SetIndexBuffer(1,ColorExt2Buffer,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,Ext2Buffer,INDICATOR_DATA);
Kodun Ana Bölümleri
int OnCalculate(const int rates_total, // number of bars in history at the current tick const int prev_calculated,// number of bars calculated at previous call 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[]) { //---- checking the number of bars to be enough for the calculation if(rates_total lt StartBar) return(0); //---- Declaration of variables with a floating point double price_,sma,lwma; //---- Declaration of integer variables int first1,first2,first3,bar; //---- Initialization of the indicator in the OnCalculate() block if(prev_calculated gt rates_total || prev_calculated lt =0)// checking for the first start of calculation of an indicator { first1=0; // starting number for calculation of all first loop bars first2=Period_+1; // starting number for calculation of all signal line bars first3=Period_+SmoothPeriod+3; // starting number for calculation of all coloring loop bars } else // starting number for calculation of new bars { first1=prev_calculated-1; first2=first1; first3=first1; } //---- declaration of variables of the Moving_Average class static CMoving_Average MA,LWMA,SIGN; //---- Main cycle of calculation of the channel center line for(bar=first1; bar lt rates_total; bar++) { //---- Call of the PriceSeries function to get the input price Series price_=PriceSeries(AppliedPrice,bar,open,low,high,close); sma=MA.MASeries(0,prev_calculated,rates_total,Period_,MODE_SMA,price_,bar,false); lwma=LWMA.MASeries(0,prev_calculated,rates_total,Period_,MODE_LWMA,price_,bar,false); Ext1Buffer[bar]=sma*lwma/_Point; Ext2Buffer[bar]=SIGN.MASeries(first2,prev_calculated,rates_total,SmoothPeriod,MA_Method_,Ext1Buffer[bar],bar,false); } //---- Main loop of the signal line coloring for(bar=first3; bar lt rates_total; bar++) { ColorExt2Buffer[bar]=0; if(Ext1Buffer[bar] lt Ext2Buffer[bar]) ColorExt2Buffer[bar]=2; else ColorExt2Buffer[bar]=1; } //---- return(rates_total); } //+------------------------------------------------------------------+