Center of Gravity Ehlers Indicator For MT5
Table Of Contents:
- Center of Gravity Ehlers Indicator For MT5
- Instaliranje riječi Center of Gravity Ehlers Indicator For MT5
- Parametri Center of Gravity Ehlers Indicator For MT5
- Puferi Center of Gravity Ehlers Indicator For MT5
- Glavni dijelovi kodeksa
Pokazatelj Center of Gravity Ehlers Indicator For MT5 razvio je Ehler i može prilično precizno otkriti točke preokreta trenda. Indikator koristi filtre poput SMA i WMA. Indikator crta dvije crte kao oscilator na potpornom prozoru. Jedna linija je isprekidana i uvijek ima plavu boju. Druga linija je čvrsta i mijenja boju u zelenu tijekom trendova uzlazne, a crvenu za vrijeme trendova prema dolje. Smjer trenda je definiran položajem u odnosu na isprekidanu plavu liniju.
Instaliranje riječi Center of Gravity Ehlers Indicator For MT5
Nakon što preuzmete indikator preko gornjeg obrasca, morate raspakirati zip datoteku. Tada morate kopirati datoteku centerofgravity.mq5 u mapu MQL5Indicators vaše MT5 instalacije. Nakon toga ponovno pokrenite MT5 i tada ćete indikator moći vidjeti na popisu pokazatelja.
Parametri Center of Gravity Ehlers Indicator For MT5
Center of Gravity Ehlers Indicator For MT5 ima 4 parametre za konfiguriranje.
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
Puferi Center of Gravity Ehlers Indicator For MT5
Center of Gravity Ehlers Indicator For MT5 osigurava 3 međuspremnike.
SetIndexBuffer(0,Ext1Buffer,INDICATOR_DATA); SetIndexBuffer(1,ColorExt2Buffer,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,Ext2Buffer,INDICATOR_DATA);
Glavni dijelovi kodeksa
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); } //+------------------------------------------------------------------+