Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

ZLEMA

ZLEMA in ProBuilder restituisce la Zero Lag Exponential Moving Average, una variante dell'EMA che riduce il lag per segnali di trend più rapidi. Sintassi, formula, esempi.

Sintassi

probuilder
ZLEMA[period](price)

Parametri

NomeTipoPredefinitoDescrizione
periodintero20Lunghezza della media esponenziale e base della correzione del lag.
pricefonte di prezzochiusuraLa serie di cui si calcola la media. Accetta close, open, high, low, o una variabile personalizzata.

Formula

codice
lag   = (period - 1) / 2
ZLEMA = EMA[period](price + (price - price[lag]))

Il termine price - price[lag] stima quanto una media convenzionale resta indietro rispetto al prezzo, e sommarla all'input sposta i dati in avanti di circa quella quantità prima che venga applicata l'EMA.

Come funziona

Ogni media mobile è in ritardo, perché riassume una finestra di dati passati il cui centro di massa si trova dietro la bar corrente. Per una EMA di lunghezza period quello spostamento è circa (period - 1) / 2 bars. La ZLEMA compensa alimentando la EMA con una serie modificata: il prezzo corrente più la variazione da lag bars fa. Quando il prezzo segue un trend regolare, la correzione annulla la maggior parte del ritardo e la linea resta vicina al prezzo; quando il prezzo è piatto, il termine di correzione è prossimo a zero e la ZLEMA si comporta come una semplice EMA.

La compensazione è un'estrapolazione, quindi ha un costo. Nei punti di svolta bruschi l'input privato del ritardo punta brevemente nella direzione sbagliata, producendo sovraelongazioni e occasionali segnali di whipsaw che una media più lenta avrebbe filtrato. ZLEMA appartiene alla stessa famiglia a basso ritardo di DEMA, TEMA, e HullAverage, ognuno dei quali scambia fluidità per reattività con una costruzione diversa.

Esempi

Esempio 1, ZLEMA a 15 periodi della chiusura (Indicatore)

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

L'esempio originale: calcola e traccia la ZLEMA a 15 periodi dei prezzi di chiusura, che rimane visibilmente più vicina al prezzo rispetto a un'EMA a 15 periodi.

Esempio 2, Incrocio ZLEMA contro 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

Poiché ZLEMA anticipa un'EMA di pari lunghezza, incrociare le due linee dello stesso periodo produce un segnale in stile momentum senza bisogno di due lunghezze diverse.

Esempio 3, Screening di un nuovo cambio di pendenza della 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")

Restituisce gli strumenti in cui la pendenza della ZLEMA è passata da non crescente a crescente sulla bar corrente, una scansione di inversione precoce del trend che beneficia del lag ridotto.

Interpretazione

ZLEMA si legge come qualsiasi media mobile. Un prezzo sopra una linea in salita suggerisce un trend rialzista, un prezzo sotto una linea in discesa un trend ribassista, e gli incroci, sia del prezzo contro la linea sia di due medie una contro l'altra, segnalano potenziali cambi di trend. I segnali arrivano prima rispetto a un'EMA o SMA di pari lunghezza.

Più presto non significa meglio. La riduzione del lag deriva dall'estrapolazione del momentum recente, quindi in condizioni nervose la ZLEMA genera più false partenze rispetto alle medie più lente. È adatta a sistemi in cui gli ingressi tardivi sono il costo dominante, e si abbina naturalmente a un filtro di conferma come una media più lunga o una misura di volatilità.

Errori e insidie comuni

  • Tipi di parentesi errati. Il periodo va tra parentesi quadre e il prezzo tra parentesi tonde: ZLEMA[20](close). ZLEMA(20, close) non compila.
  • Aspettarsi una morbidezza simile a quella dell'EMA. A parità di periodo, la ZLEMA è più nervosa e supera il livello nelle inversioni. Inserirla in un sistema tarato per ExponentialAverage modifica la frequenza delle operazioni e i risultati.
  • Periodi molto brevi. Con piccoli period valori il termine di lag è quasi zero e la linea collassa verso il prezzo grezzo, aggiungendo rumore senza benefici. La tecnica ha bisogno di un lag significativo da rimuovere.
  • Prendere lo zero lag alla lettera. Il nome è un'aspirazione. La correzione rimuove la maggior parte del lag di regime stazionario ma non può anticipare le inversioni, e il ritardo residuo cresce esattamente quando conta, alle inversioni.
  • ExponentialAverage, l'EMA standard che ZLEMA modifica.
  • Average, media mobile semplice di riferimento.
  • WeightedAverage, media mobile ponderata linearmente.
  • HullAverage, un'altra media a lag ridotto costruita da WMA.
  • DEMA, double exponential moving average, obiettivo simile.
  • TEMA, triple exponential moving average, ulteriore riduzione del lag.
  • WilderAverage, media smussata lenta all'estremo opposto.
  • TimeSeriesAverage, media basata sulla regressione con lag ridotto.