Home Indicatore tecnico Post

MultiZigZag: La Nuova Variante del ZigZag per il Trading

Allegato
8536.zip (4.52 KB, Scarica 0 volte)

Il MultiZigZag si basa sull'algoritmo del zigzag fornito con MetaTrader 4 nel 2005-2006.

Questo algoritmo è davvero straordinario e viene utilizzato in molti indicatori personalizzati. Inizialmente, Rosh ha tradotto questo algoritmo in MQL4, e lo ringraziamo per il suo lavoro. Mi piacerebbe sapere chi ha inventato questo algoritmo. Se qualcuno lo sa, per favore scrivete il nome (o il soprannome) dell'autore nei commenti. Inoltre, sarei curioso di conoscere in quale linguaggio è stato scritto precedentemente e su quale piattaforma di trading veniva utilizzato.

I principali svantaggi della versione iniziale (2005-2006) erano:

  • Carico eccessivo sul processore: La ricalcolazione completa del zigzag ad ogni tick causava rallentamenti, specialmente su PC poco potenti, che si bloccavano durante i movimenti intensi del mercato.
  • Disegno impreciso: Le fratture del zigzag apparivano "sospese nell'aria", senza legarsi ai massimi o minimi delle barre. Il zigzag dovrebbe mostrare esattamente la posizione dei minimi e massimi sul grafico.
  • Instabilità del zigzag: Se si cercava di scorrere indietro nella storia, il zigzag appariva senza un legame visivo con il grafico.

Questa versione del zigzag risolve tutti gli svantaggi sopra menzionati. Solo gli ultimi tre segmenti del zigzag vengono ricalcolati, e ciò avviene solo quando i prezzi escono dalla parte calcolata della barra zero. In altre parole, quando il minimo o il massimo della barra zero viene azzerato, o quando appare una nuova barra, o durante il caricamento della storia.

Ogni zigzag utilizza due buffer: uno per i massimi e l'altro per i minimi. Questo consente di mostrare il massimo e il minimo su una singola barra. Ci sono anche due buffer vuoti. Chi è interessato può scrivere il codice e inserire un quarto esempio di codice. Questo può essere un buon esercizio per i programmatori MQL4 alle prime armi. Oppure si possono utilizzare i buffer vuoti per altre attività, nel caso in cui il zigzag venga integrato nei sistemi sviluppati.

Il calcolo e il disegno dei zigzag da timeframe più grandi sono implementati senza utilizzare la funzione icustom(). Per l'automazione, possiamo scartare i buffer degli indicatori. In questo modo possiamo calcolare i zigzag per tutti i timeframe contemporaneamente e anche per un numero qualsiasi di simboli, purché ci sia sufficiente memoria RAM. L'implementazione del calcolo senza la funzione icustom() consente, ad esempio, di cercare pattern (Gartley o altri) non solo sui timeframe attuali, ma su qualsiasi timeframe scelto e anche su più timeframe simultaneamente.

Parametri.

La maggior parte dei parametri esterni sono variabili di tipo stringa.

I parametri separati da virgole sono scritti in ogni variabile stringa per ogni zigzag. Il separatore dei parametri è la virgola.

Il primo numero è per il primo zigzag, il secondo per il secondo e il terzo per il terzo, separati da virgole.
ExtDepth, ExtDeviation e ExtBackstep sono i parametri standard per il zigzag.
Se imposti ExtDepth=0, il zigzag corrispondente non verrà visualizzato.

ExtMaxBar - il numero di barre su cui verrà calcolato il zigzag.
GrossPeriod - i periodi dei grafici specificati in minuti da cui verranno prelevati i dati per il calcolo del zigzag. Se si specifica 0, il zigzag verrà calcolato sul timeframe attuale.

Puoi specificare i seguenti valori: 0-1-5-15-30-60-240-1440-10080-43200.
ExtReCalculate - il numero di estremi del zigzag a partire da 0 che vengono ricalcolati in tempo reale. Questo è utilizzato per i zigzag provenienti da timeframe più grandi. Si consiglia di non modificare questo parametro.

I zigzag vengono visualizzati da H1-H4-D1 per impostazione predefinita. I zigzag verranno visualizzati a partire dal timeframe di 1 minuto fino a quello giornaliero. Solo un zigzag disegnato con i dati del timeframe D1 verrà visualizzato sul timeframe giornaliero. Solo i zigzag basati su timeframe maggiori o attuali vengono disegnati.

Nell'esempio in figura: il zigzag da H1 è disegnato con il colore Aqua, H4 - con il Rosso e D1 - con il Giallo.

Post correlati

Commento (0)