Center of Gravity Ehlers Indicator For MT5

Center of Gravity Ehlers Indicator For MT5

Table Of Contents:

  1. Center of Gravity Ehlers Indicator For MT5
  2. Installing the Center of Gravity Ehlers Indicator For MT5
  3. Parameters of the Center of Gravity Ehlers Indicator For MT5
  4. Buffers of the Center of Gravity Ehlers Indicator For MT5
  5. Main Parts Of The Code

The Center of Gravity Ehlers Indicator For MT5 was developed by Ehler and can detect trend reversal points pretty accurate. The indicator uses filters like the SMA and WMA. The indicator draws two lines as an oscillator on an indicator subwindow. One line is dotted and always has the color blue. The other line is solid and changes the color to green during upward trends and red during downward trends. The direction of the trend is defined by the position in relation to the dotted blue line.

FREE Center of Gravity J. F. Ehlers Indicator

Download the FREE Center of Gravity J. F. Ehlers 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

 

Installing the Center of Gravity Ehlers Indicator For MT5

After you downloaded the indicator via the form above you need to unzip the zip-file. Then you need to copy the file centerofgravity.mq5 into the folder MQL5\Indicators of your MT5 installation. After that please restart MT5 and then you will be able to see the indicator in the list of indicators.

Parameters of the Center of Gravity Ehlers Indicator For MT5

The Center of Gravity Ehlers Indicator For MT5 has 4 parameters to configure.

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 

Buffers of the Center of Gravity Ehlers Indicator For MT5

The Center of Gravity Ehlers Indicator For MT5 provides 3 buffers.

SetIndexBuffer(0,Ext1Buffer,INDICATOR_DATA); SetIndexBuffer(1,ColorExt2Buffer,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,Ext2Buffer,INDICATOR_DATA); 

Main Parts Of The Code

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);   } //+------------------------------------------------------------------+ 

 

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.