Iscriviti ora
Indicatori/probuilder · probacktest · proorder · proscreener

ZigZagPoint

ZigZagPoint in ProBuilder disegna l'indicatore zig-zag usando una soglia fissa in punti invece di un filtro percentuale. Sintassi, parametri, esempi, insidie.

Sintassi

probuilder
ZigZagPoint[Zp](price)

Parametri

NomeTipoPredefinitoDescrizione
ZpnumeronessunoSoglia di inversione in punti (unità di prezzo). Un nuovo pivot è confermato solo dopo che il prezzo si muove almeno di Zp punti contro lo swing attuale.
pricefonte di prezzochiusuraLa serie su cui vengono rilevati i pivot. Accetta close, open, high, low, o una variabile personalizzata.

Formula

Non esiste alcuna formula in forma chiusa. La regola di costruzione è:

codice
1. Track the extreme of the current swing since the last confirmed pivot.
2. When price moves at least Zp points away from that extreme in the opposite
   direction, the extreme becomes a pivot and the swing reverses.
3. Each bar's output is the value of the straight line joining consecutive pivots.

Come funziona

ZigZagPoint filtra l'azione del prezzo nello stesso modo ZigZag fa, ma la soglia di inversione è espressa in punti assoluti anziché in percentuale. Su un indice che quota a 15000, ZigZagPoint[100] ignora ogni movimento contrario inferiore a 100 punti; sullo stesso grafico ZigZag[5] richiederebbe un ritracciamento di 750 punti. La versione basata sui punti è la scelta naturale quando si ragiona in unità specifiche dello strumento, tick, pip o punti indice, o quando i parametri di rischio di una strategia sono già definiti in punti.

Il compromesso è che una soglia fissa in punti non si adatta al livello di prezzo. Un filtro tarato per uno strumento a 5000 diventa due volte più permissivo, in termini relativi, se lo strumento raddoppia a 10000. Gli studi storici lunghi su strumenti in crescita si comportano di solito in modo più coerente con la variante percentuale.

Come tutte le costruzioni zig-zag, l'ultimo segmento è provvisorio. Finché il prezzo non completa un intero Zp-punti di inversione, l'ultimo pivot può essere ricollocato e il segmento finale ridisegnato. L'indicatore descrive quindi la struttura passata, massimi e minimi di swing, pattern a onde, supporti e resistenze basati sui pivot, e non è adatto come trigger di ingresso in tempo reale.

Esempi

Esempio 1, Zig-zag con un filtro di 10 punti (Indicatore)

probuilder
// Ignore all counter-moves smaller than 10 points
myZigZag = ZigZagPoint[10](close)
RETURN myZigZag

L'esempio originale: solo le inversioni di almeno 10 punti creano un nuovo pivot, quindi la linea traccia gli swing principali e salta il rumore tra di essi.

Esempio 2, Marcare i livelli di pivot confermati (Indicatore)

probuilder
// Track the most recent zig-zag pivot value as a horizontal reference
zz = ZigZagPoint[50](close)

IF (zz > zz[1] AND zz[1] < zz[2]) OR (zz < zz[1] AND zz[1] > zz[2]) THEN
  // The line changed direction on the previous bar, record the pivot
  lastPivot = zz[1]
ENDIF

RETURN zz AS "ZigZagPoint", lastPivot AS "Last pivot"

Rileva i cambi di direzione nella linea zig-zag e memorizza il valore del pivot, producendo una linea a gradini di livelli di swing passati utilizzabili come riferimenti di supporto e resistenza.

Esempio 3, Screening per prossimità all'ultimo livello di swing (ProScreener)

probuilder
// Instruments trading within 20 points of their zig-zag line
zz = ZigZagPoint[100](close)
nearSwing = ABS(close - zz) < 20
SCREENER[nearSwing](close - zz AS "Points vs ZZ")

Seleziona gli strumenti il cui prezzo si trova entro 20 punti dalla linea zig-zag a 100 punti. Come per tutti gli output zig-zag, l'ultima gamba può ridisegnare, quindi i risultati riflettono la struttura provvisoria corrente.

Interpretazione

L'output si legge in modo strutturale piuttosto che come una linea di segnale. Una sequenza di pivot crescenti, massimi più alti e minimi più alti, descrive un trend rialzista alla risoluzione scelta; pivot decrescenti descrivono un trend ribassista. I pivot confermati servono spesso come livelli di riferimento: i massimi di swing precedenti come resistenza, i minimi di swing precedenti come supporto, e le distanze da pivot a pivot come misure della dimensione tipica dello swing per il position sizing o il posizionamento dei target.

Il Zp controlla la risoluzione. Valori piccoli mettono in evidenza la struttura minore, valori grandi riducono il grafico a poche onde principali. Poiché la soglia è assoluta, un valore appropriato dipende interamente dal livello di prezzo e dalla volatilità dello strumento.

Errori e insidie comuni

  • Punti contro percentuale. ZigZagPoint[5] significa 5 unità di prezzo, non 5 percento. Trasferire un'impostazione da ZigZag senza conversione cambia completamente il comportamento dell'indicatore.
  • Operare sulla gamba che ridisegna. L'ultimo segmento viene ridisegnato finché un intero Zp-punti si completa. Le regole che leggono i valori ZigZagPoint recenti usano informazioni che non esistevano in tempo reale, il che gonfia i backtest.
  • Una sola soglia per molti strumenti. Un filtro da 50 punti è grossolano su uno strumento e invisibile su un altro. Negli screener che coprono liste eterogenee, il filtro basato su percentuale ZigZag dà risultati più comparabili.
  • Dimenticare la dimensione del punto dello strumento. Sugli strumenti con prezzi frazionari, un punto è un'unità intera di prezzo, non un tick. Verifica POINTSIZE quando si converte da tick o pip.
  • ZigZag, la stessa costruzione con una soglia percentuale.
  • Highest, valore massimo su N bar, un'alternativa che non ridisegna.
  • Lowest, valore più basso su N bar.
  • SAR, tracciatore di trend parabolic stop and reverse.
  • Supertrend, linea trend-following basata su ATR.
  • POINTSIZE, valore di un punto per lo strumento.
  • Average, smoothing convenzionale con media mobile.
  • DRAWSEGMENT, disegna segmenti personalizzati tra coordinate.