Solitamente nei trading system le azioni si intraprendono alla chiusura di una candela, in questo articolo vedremo come intercettare la chiusura di una candela nella funzione start di un expert advisor.
Azione a fine candela MQL4
Ricordiamo che la funzione start di un expert advisor è richiamata ad ogni variazione di prezzo. Per individuare la chiusura di una candela possiamo utilizzare la serie Time che contiene il tempo di apertura delle candele presenti nel grafico corrente. In particolare Time[0] è il tempo di apertura della candela corrente, quella ancora aperta. Quindi un sistema semplice per determinare il cambio di candela è quello di attendere il cambio di valore di Time[0].
Per fare questo è sufficiente una variabile globale:
definiamo una variabile globale “lastTime”;
quando Time[0] sarà diverso da “lastTime” ci sarà un cambio di candela. In pratica Time[0] conterrà il tempo di apertura della nuova candela mentre “lastTime” sarà uguale a Time[1] e conterrà il tempo di apertura dell’ultima candela chiusa;
aggiornando “lastTime” con il valore di Time[0] ogni volta che si verifica il punto 2, avremo modo di intercettare tutte le chiusure di candela.
Codice
// variabile globale
static datetime lastTime;
int start()
{
// determina chiusura della candela
if( lastTime!= Time[ 0])
{
lastTime= Time[ 0];
// inserisci qui il tuo codice
}
}
Leave a reply