Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

TriangularAverage

TriangularAverage in ProBuilder restituisce una media mobile semplice con doppio smoothing del prezzo su N barre, producendo una linea di trend particolarmente levigata. Sintassi, esempi.

Sintassi

probuilder
TriangularAverage[N](price)

Parametri

NomeTipoPredefinitoDescrizione
NinteronessunoPeriodo di lookback totale. Valori maggiori danno una linea più levigata e più lenta.
pricefonte di prezzonessunoSerie da smussare, tipicamente close. È accettata qualsiasi costante di prezzo o variabile personalizzata.

Formula

codice
TMA = SMA[m](SMA[m](price))
where m is approximately (N + 1) / 2

Lo smoothing è applicato in due passaggi: una media mobile semplice dei dati grezzi, poi una media mobile semplice di quella prima media. Lo schema di ponderazione combinato è triangolare, le barre al centro della finestra hanno il peso maggiore e i pesi decrescono linearmente verso entrambe le estremità, da cui deriva il nome.

Come funziona

Una media mobile semplice pesa in modo uguale ogni barra della sua finestra, quindi un singolo valore anomalo che entra o esce dalla finestra sposta la linea in modo evidente. La media triangolare attenua questo effetto. Poiché il secondo passaggio media il primo, i picchi brevi vengono diluiti due volte, e la linea risultante è una delle più levigate della famiglia classica delle medie mobili.

Il costo del doppio smoothing è il lag. Una TMA gira dopo la media semplice equivalente, e molto dopo il prezzo stesso. È quindi più adatta a descrivere il trend consolidato che a cronometrare gli ingressi sulle inversioni. Nei mercati in trend, le letture principali sono la pendenza della linea e il lato della linea su cui il prezzo viene scambiato.

Il periodo N si comporta come con le altre medie: valori piccoli seguono il prezzo più da vicino, valori grandi mettono in risalto il ciclo più lungo. Poiché il livellamento effettivo è doppio, una TMA di periodo 20 risulta comparabile a una media semplice sensibilmente più lunga.

Esempi

Esempio 1, Linea di trend a gradini da una TMA a 50 barre (Indicatore)

probuilder
// Hold the plotted value until the TMA moves at least 1% away from it
once ssMA = close
MA = TriangularAverage[50](close)
if(MA > ssMA + (MA/100)*1) THEN
  ssMA = MA
ELSIF (MA < ssMA - (MA/100)*1) THEN
  ssMA = MA
ELSE
  ssMA = ssMA
ENDIF
RETURN ssMA

La media triangolare a 50 periodi è convertita in una linea a gradini che si aggiorna solo quando la TMA si discosta di più dell'1 percento dall'ultimo valore memorizzato. Le piccole oscillazioni della media vengono ignorate e il tracciato cambia livello solo sui movimenti significativi.

Esempio 2, Sistema di incrocio tra prezzo e TMA (ProOrder)

probuilder
// Trend following on closes crossing the triangular average
tma = TriangularAverage[50](close)

IF close CROSSES OVER tma THEN
  BUY 1 CONTRACT AT MARKET
ELSIF close CROSSES UNDER tma THEN
  SELL AT MARKET
ENDIF

Poiché la TMA è molto levigata, gli incroci del prezzo con la linea avvengono meno spesso che con una media semplice dello stesso periodo, generando segnali meno numerosi ma più lunghi.

Esempio 3, Scansione di TMA in salita (ProScreener)

probuilder
tma = TriangularAverage[20](close)
SCREENER[tma > tma[5]] ((tma - tma[5]) AS "TMA slope")

Restituisce gli strumenti la cui media triangolare a 20 periodi è superiore a quella di cinque barre prima, ordinati per l'ampiezza dell'aumento, un filtro di base per il trend rialzista.

Interpretazione

Valgono le convenzioni standard delle medie mobili. Il prezzo sopra una TMA in salita indica un trend rialzista, il prezzo sotto una TMA in discesa un trend ribassista, e una TMA piatta una fase laterale. Poiché la linea ha un doppio smoothing, i cambi di pendenza sono più rari e più graduali di quelli di altre medie, il che rende la TMA popolare come filtro di trend: prendi i segnali long di uno strumento più rapido solo mentre la TMA sale, gli short solo mentre scende. Gli incroci tra prezzo e TMA arrivano in ritardo rispetto alla svolta effettiva, quindi confermano le inversioni invece di anticiparle.

Errori e insidie comuni

  • Tipo di parentesi errato. Il periodo si mette tra parentesi quadre e il prezzo tra parentesi tonde: TriangularAverage[50](close). Scrivere TriangularAverage(50, close) è un errore di sintassi.
  • Aspettarsi segnali di inversione tempestivi. Il doppio smoothing rende la TMA una delle medie comuni con più lag. Gli ingressi presi sulle svolte della TMA avvengono molto dopo l'inversione del prezzo, cosa di cui la logica di mean reversion in particolare deve tenere conto.
  • Sottovalutare il periodo effettivo. Una TMA di periodo N liscia più o meno come una media semplice notevolmente più lunga. Portare una strategia da Average[N] a TriangularAverage[N] cambia carattere, ritara il periodo.
  • Barre di riscaldamento. Due passaggi di media richiedono circa N bars di storico prima che l'output si stabilizzi. I valori sulle prime bars del grafico non sono affidabili.
  • Average, media mobile semplice, il riferimento a passaggio singolo.
  • ExponentialAverage, media ponderata esponenzialmente con meno lag.
  • WeightedAverage, media ponderata linearmente che privilegia le barre recenti.
  • TimeSeriesAverage, media mobile basata sulla regressione.
  • WilderAverage, lo smoothing di Wilder usato all'interno di RSI e ATR.
  • HullAverage, media mobile progettata per minimizzare il lag.
  • DEMA, media mobile esponenziale doppia, con meno lag di una SMA doppia.
  • TEMA, media mobile esponenziale tripla.
  • ZLEMA, media mobile esponenziale a lag zero.