Expert Advisors • Indicators • Scripts • Libraries

MQL.RobotFX.org is the biggest collection of MetaTrader expert advisors (MT5 & MT4), indicators, scripts and libraries that can be used to improve trading results, minimize risks or simply automate trading tasks

Metatrader 4 Indicators | Center of Gravity by J. F. Ehlers | Trading Tool Update

RobotFX curates the best open-source MetaTrader code to inspire your trading automation.

Center of Gravity actually has a zero lag and allows to define turning points precisely. This indicator is the result of Ehler's study of adaptive filters.


The indicator Center of Gravity allows to identify main pivot points almost without any lag. The idea of calculating a center of gravity appeared from the investigation of lags of different filters with the finite impulse response (FIR) in accordance with the relative amplitude of filter coefficients. SMA (Simple Moving Average) is a FIR-filter, in which all coefficients have one and the same value. As a result the center of gravity of SMA is an exact center of the filter. WMA (Weighted Moving Average) is a FIR-filter, in which the last price change is weighted through the filter length, and so on.

The values of weighting are coefficients of filters. Coefficients of WMA filters can be presented as contours of a triangle. The center of gravity is on the 1/3 of the triangle base length. Thus WMA gravity center is shifted to the right with respect to the center of gravitation of SMA of the same length, which gives us a smaller lag. For all examples with FIR filters the sum of productions of coefficients and the price must be divided by the sum of coefficients for preservation of original prices.

The most famous of such FIR filters is Ehlers filter that can be presented the following way:

Image for Center of Gravity by J. F. Ehlers

The Center of Gravity is calculated as Ehlers filter using the formula:
Image for Center of Gravity by J. F. Ehlers
Image for Center of Gravity by J. F. Ehlers


In this indicator the parameter Per=10 sets the period for the indicator calculation, the parameter PriceType=0 sets the price type, based on which the indicator is calculated - thus we get the main line (blue color). For the signal line (red color) the parameter SmoothPer=3 sets the period of smoothing the main indicator line, the parameter SmoothType=0 denotes the type of smoothing. The interpretation of the values of parameters is given in the form of comments in the indicator code.

Reduce lag and improve accuracy with the NonLagMA Expert Advisor for MT4/MT5. Discover it.

Level up your trading with professional RobotFX expert advisors and indicators. Visit robotfx.org for proven MT4/MT5 tools.

7068

Best MetaTrader Indicators + Profitable Expert Advisors