Zero Lag Ema Cross Over

The Zero lag exponential moving average ( ZLEMA ) indicator was created by John Ehlers and Ric Way.

The formula for a given N-Day period and for a given Data series is:

  • Lag = (Period-1)/2

Ema Data = {Data+(Data-Data(Lag days ago))

ZLEMA = EMA (EmaData,Period)

The idea is do a regular exponential moving average ( EMA ) calculation but on a de-lagged data instead of doing it on the regular data. Data is de-lagged by removing the data from "lag" days ago thus removing (or attempting to) the cumulative effect of the moving average.

Correcting For Error

Zero Lag (Well, Almost)

by John Ehlers and Ric Way

A little lag is a good thing. Here’s how you can remove a selected amount from an exponential moving average and use the filter in an effective trading strategy.

All smoothing filters and moving averages have lag. The lag is necessary because the smoothing is done using past data. Therefore, the averaging includes the effects of the data as of several bars ago. In this article we show you how to remove a selected amount of lag from an exponential moving average ( Ema ). Removing all the lag is not necessarily a good thing, because with no lag, the indicator would just track out the price you were filtering; the amount of lag removed is a tradeoff with the amount of smoothing you are willing to forgo. We show you the effects of lag removal in an indicator and then use the filter in an effective trading strategy.

An exponential moving average ( Ema ) is computed by taking a fraction of the current price and adding to it the quantity (1 - fraction) times the previously computed value of the Ema . That fraction is called the “smoothing factor” and is commonly called α (alpha), and alpha is always less than 1. The equation for an Ema can be written as:

EMA = α * Price + (1 - α) * EMA;
Notes de version: Now u can add periods to ZLEMA and EMA...
Script open-source

Dans le plus pur esprit de TradingView, l'auteur de ce texte l'a publié en open-source, afin que les traders puissent le comprendre et le vérifier. Bravo à l'auteur ! Vous pouvez l'utiliser gratuitement, mais la réutilisation de ce code dans une publication est régie par les règles internes. Vous pouvez le mettre en favori pour l'utiliser sur un graphique.

Vous voulez utiliser ce script sur un graphique ?


How would i add an alert when it crosses? sorry i'm fairly new to trading view
+2 Répondre
@JayP2577, right clink on ur chart and chk, alert option...
@Nadar, sorry mate, already found it cheers anyway. what timeframe would you say this works best on?
@JayP2577, try 4 hours in crude and gold..try 13/50 ema cross over
@JayP2577, Dont be a day trader
@Nadar, Okay mate cheers!

Why do you use nPeriod =200?
+1 Répondre

Balan Christopher this indicator will blow ur mind..just follow the color mark red means sell green means buy...
+1 Répondre
chrish6006 RAJATAMIL
@Nadar, sure boss
Accueil Screener d'actions Screener Forex Screener Crypto Calendrier économique A propos Caractéristiques du graphique Prix Parrainer un ami Règles de conduite Centre d'aide Solutions site web & courtier Widgets Solutions de cartographie Bibliothèque de graphiques allégés Blog & News Twitter
Profil Paramètres du Profil Compte et Facturation Amis référés Coins Mes tickets au support Centre d'aide Messages privés Chat Se Déconnecter