Figure di inversione e di continuazione

Read this article in your language IT | EN | DE | ES

In questo articolo ci occuperemo della realizzazione pratica di sistemi di trading basati sul rintracciamento di pattern di inversione e continuazione.

A scopo didattico utilizzeremo un pattern fittizio relativamente complesso ma le tecniche qui esposte possono essere applicate al rintracciamento di qualsiasi figura classica.

Parleremo inoltre di come visualizzare dinamicamente degli oggetti testuali sul grafico per facilitare la visualizzazione del pattern.

Pattern di esempio

Il nostro pattern prevede l'acquisto nel seguente caso:

  • Il massimo C sia superiore ai massimi A ed E
  • Il minimo D sia inferiore al minimo B

Per la definizione dei livelli faremo affidamento sull'indicatore Zig-Zag. L'acquisto dovrà essere effettuato sul primo massimo parziale rappresentato dal punto E.

Ciclo sull'indicatore Zig-Zag per il rintracciamento dei livelli

Variabili di progetto

Per prima cosa abbiamo bisogno di cinque variabili di progetto che corrispondono al prezzo cui si attestano i punti del pattern:

  1. PuntoA
  2. PuntoB
  3. PuntoC
  4. PuntoD
  5. PuntoE

Secondariamente, al sono fine di visualizzare i punti sul grafico, abbiamo bisogno di altre variabili che rappresentino lo scostamento (Shift) dei punti del pattern e l'ora in cui si sono verificati. Queste variabili sono chiamate:

  • ShiftA, TimeA (per il punto A)
  • ShiftB, TimeB (per il punto B)
  • ShiftC, TimeC (per il punto C)
  • ShiftD, TimeD (per il punto D)
  • ShiftE, TimeE (per il punto E)

Infine per eseguire la lettura della serie storica ci avvarremmo di una variabile di controllo del ciclo che chiameremo CicloZigZag.

Queste variabili di controllo sono reimpostate a 0 ad ogni esecuzione.

Ciclo serie storica

Ora possiamo apprestarci ad eseguire una lettura dei valori assunti da Zig-Zag nelle barre precedenti (fino a 200 barre fa) tramite il componente For Loop.

Lettura dei valori di Zig-Zag tramite databinding

L'indicatore Zig-Zag può assumere solamente tre valori:

  • Nessuno (Empty Value)
  • Massimo della candela
  • Minimo della candela

Inoltre, non possono mai verificarsi due massimi o due minimi consecutivi.

Sfruttando queste caratteristiche applicheremo l'associazione dati (databinding) ai parametri di scostamento (Shift) dell'indicatore per sapere, per ogni barra, se questi corrisponde ai prezzi massimo (High) e minimo (Low).

La prima cosa da fare è verificare che il primo livello che incontriamo non sia un minimo dato che il punto E del nostro pattern è un massimo.

Nel caso questa condizione si verifichi ed il punto E non sia ancora stato calcolato interrompiamo l'esecuzione del ciclo (tramite il componente BreakIf) in attesa di una formazione dei prezzi rispondente al nostro modello teorico.

Assegnazione dei valori ai punti del pattern

L'assegnazione dei valori ai punti del pattern avviene quando questi risultano ancora pari a 0.

All'interno del Code Block assegniamo i valori ai punti del pattern e saltiamo direttamente all'analisi della barra successiva tramite l'operatore ContinueIf.

Ripetiamo un procedimento simile per i punti D, C e B. Una volta raggiunto il punto A, anziché proseguire nella lettura della serie storica, interrompiamo completamente il ciclo perché a questo punto tutti i dati per la ricerca del pattern sono ormai a nostra disposizione.

Visualizzazione degli oggetti testuali all'interno del grafico

La visualizzazione delle lettere del pattern sul grafico è un'operazione molto semplice che viene realizzata tramite il componente CreateText (Componenti->Oggetti Grafici->Text Objects).

Il parametro price è collegato al livello di prezzo del punto in esame, mentre il parametro time è collegato alla variabile TimeA che viene fatta corrispondere alla data di apertura in cui abbiamo tracciato il punto.

Ogni qual volta l'indicatore parte con un livello massimo le scritte vengono visualizzate sul terminale di trading.

Realizzazione della strategia

Siamo arrivati alla parte più semplice del progetto ossia la strategia vera e propria, dato che la complessità risiedeva completamente nella valorizzazione dei punti del pattern.

Vengono impostati dei livelli di stoploss e takeprofit solo per fornire un'uscita dalla posizione.