Únete hoy
Indicadores/probuilder · probacktest · proorder · proscreener

ZLEMA

ZLEMA en ProBuilder devuelve la Zero Lag Exponential Moving Average, una variante de la EMA que reduce el retardo para obtener señales de tendencia más rápidas. Sintaxis, fórmula, ejemplos.

Sintaxis

probuilder
ZLEMA[period](price)

Parámetros

NombreTipoPor defectoDescripción
periodentero20Longitud de la media exponencial y base de la corrección del retardo.
pricefuente de preciocloseLa serie que se promedia. Acepta close, open, high, low, o una variable personalizada.

Fórmula

código
lag   = (period - 1) / 2
ZLEMA = EMA[period](price + (price - price[lag]))

El término price - price[lag] estima cuánto se retrasa una media convencional respecto al precio, y sumarlo a la entrada adelanta los datos aproximadamente esa cantidad antes de aplicar la EMA.

Cómo funciona

Toda media móvil va con retraso, porque resume una ventana de datos pasados cuyo centro de masa queda por detrás del bar actual. Para una EMA de longitud period ese desplazamiento es de unos (period - 1) / 2 bars. La ZLEMA lo compensa alimentando la EMA con una serie modificada: el precio actual más la variación desde lag bars atrás. Cuando el precio tiene una tendencia sostenida, la corrección cancela la mayor parte del retardo y la línea discurre cerca del precio; cuando el precio está plano, el término de corrección es casi cero y la ZLEMA se comporta como una EMA simple.

La compensación es una extrapolación, así que tiene un coste. En los giros bruscos, la entrada sin retardo apunta brevemente en la dirección equivocada, lo que produce excesos y señales ocasionales de sierra que una media más lenta habría filtrado. ZLEMA pertenece a la misma familia de bajo retardo que DEMA, TEMA, y HullAverage, cada una de las cuales intercambia suavidad por capacidad de respuesta con una construcción diferente.

Ejemplos

Ejemplo 1, ZLEMA de 15 periodos del cierre (Indicador)

probuilder
// Zero lag exponential average over 15 bars
myZLEMA = ZLEMA[15](close)
RETURN myZLEMA

El ejemplo original: calcula y dibuja la ZLEMA de 15 periodos de los precios de cierre, que se mantiene visiblemente más cerca del precio que una EMA de 15 periodos.

Ejemplo 2, Cruce de ZLEMA frente a EMA (ProBacktest)

probuilder
// Use the faster ZLEMA against a plain EMA of the same length
fastLine = ZLEMA[20](close)
slowLine = ExponentialAverage[20](close)

IF fastLine CROSSES OVER slowLine THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF fastLine CROSSES UNDER slowLine THEN
  SELL AT MARKET
ENDIF

Como la ZLEMA se adelanta a una EMA de la misma longitud, cruzar las dos líneas del mismo periodo produce una señal de estilo momentum sin necesidad de dos longitudes distintas.

Ejemplo 3, Búsqueda de un cambio reciente de pendiente de la ZLEMA (ProScreener)

probuilder
// Instruments whose 20-bar ZLEMA just turned upward
z = ZLEMA[20](close)
turnedUp = z > z[1] AND z[1] <= z[2]
SCREENER[turnedUp](((close / z) - 1) * 100 AS "% vs ZLEMA")

Devuelve instrumentos en los que la pendiente de la ZLEMA pasó de no ascendente a ascendente en el bar actual, un escaneo temprano de giro de tendencia que se beneficia del retardo reducido.

Interpretación

La ZLEMA se lee como cualquier media móvil. El precio por encima de una línea ascendente sugiere una tendencia alcista, el precio por debajo de una línea descendente una tendencia bajista, y los cruces, ya sea del precio contra la línea o de dos medias entre sí, señalan posibles cambios de tendencia. Las señales llegan antes que con una EMA o SMA de la misma longitud.

Más pronto no significa mejor. La reducción del retardo proviene de extrapolar el momentum reciente, por lo que en condiciones erráticas la ZLEMA genera más arranques en falso que las medias más lentas. Encaja en sistemas donde las entradas tardías son el coste dominante, y se combina de forma natural con un filtro de confirmación como una media más larga o una medida de volatilidad.

Errores y trampas habituales

  • Tipos de corchetes incorrectos. El periodo va entre corchetes y el precio entre paréntesis: ZLEMA[20](close). ZLEMA(20, close) no compila.
  • Esperar una suavidad similar a la de la EMA. Para el mismo periodo, la ZLEMA es más brusca y se excede en los giros. Introducirla en un sistema ajustado para ExponentialAverage cambia la frecuencia de operaciones y los resultados.
  • Periodos muy cortos. Con valores pequeños period valores el término de retardo es casi cero y la línea se colapsa hacia el precio en bruto, añadiendo ruido sin beneficio. La técnica necesita un retardo apreciable que eliminar.
  • Tomarse el retardo cero al pie de la letra. El nombre es aspiracional. La corrección elimina la mayor parte del retardo en régimen estable pero no puede anticipar los giros, y el retardo residual crece justo cuando importa, en las vueltas.
  • ExponentialAverage, la EMA estándar que ZLEMA modifica.
  • Average, línea base de media móvil simple.
  • WeightedAverage, media móvil ponderada linealmente.
  • HullAverage, otra media de bajo retardo construida a partir de WMAs.
  • DEMA, double exponential moving average, objetivo similar.
  • TEMA, triple exponential moving average, mayor reducción del retardo.
  • WilderAverage, media suavizada lenta en el extremo opuesto.
  • TimeSeriesAverage, media basada en regresión con bajo retardo.