Zero Lag Indicator


Function Name: zerolag

Tags: None

Category: Trend

The indicator is based on an exponential moving average, the calculation of which is easy to understand. Exponential averages belong to the calculation methods with shorter lags. In simple terms, for each time period in market data, a simple calculation is carried out that first determines the deviation of the current price from the previous average value. This value - described as an error - is multiplied with a weighing factor and then added to the previous average value. This results in the current average value.

Ehlers expands this calculation by two steps. In the first step, a gain value greater than zero and smaller than 50 is added to the current price, which can then be used to determine the deviation (described as an error above) from the previous average. In the second step the entire value range between zero and 50 is run through as an input value for the error calculation in order to determine the optimal gain value. This is then added to the modified calculation of the exponential average. The result is a much more rapidly reacting indicator that shows a much lower lag movement and never shoots above the movement at price turning points.

Interpretation It is not possible to effectively determine the value of this indicator. Reducing unwanted lags in the calculation of averages certainly has its advantages. Completely eliminating this delay, however, is not necessary sensible as such an indicator would show the pure price movement. In order to provide the reader with an opportunity to evaluate the method, Ehlers developed a "Cross Over System". The system shown here offers two parameters that can be optimised.

Length - The basis for setting the period of the exponential average. GainLimit- The maximum value for strengthening the input signal of the EMA calculation.


Author(s): John F. Ehlers, Ric Way

Source: Stocks & Commodities November 2010





Default Value: 20  |  Minimum: 2  |  Maximum: 99999


Type: Numeric



Default Value: 50  |  Minimum: 1  |  Maximum: 99999


Type: Numeric