Inserire un Indicatore in un EA per MT4

Se hai la necessità di utilizzare un indicatore nel tuo EA, questo articolo fa per te. In esso parliamo della funzione iCustom, che ci permette di ricevere l' elaborazione dei dati di mercato effettuata da un qualsiasi indicatore, sia esso standard di MetaTrader 4, sia esso scritto da altri programmatori. Innanzitutto l' indicatore deve essere presente nella cartella Indicators della piattaforma. Nel mio caso, ad esempio, tale cartella è localizzata in: \activtrades\experts\indicators.

Detto questo possiamo iniziare.

La funzione iCustom ha come valore di ritorno un double e restituisce, per l'appunto, il valore elaborato dall' indicatore cui abbiamo deciso di fare riferimento. Il numero di parametri accettati da questa funzione è variabile, e dipende dagli input richiesti dall' indicatore che vogliamo utilizzare.
Vediamoli qui di seguito.

- Symbol: è un valore stringa che rappresenta il simbolo su cui vogliamo applicare l' indicatore. Se vuoi applicarlo sul grafico corrente puoi usare la funzione Symbol().

- Timeframe: è un valore numerico intero che rappresenta il timeframe su cui usare l' indicatore. Puoi usare uno dei valori standard o inserire la funzione Period() per passare il timeframe corrente. 

- Nome: questo è un valore di tipo stringa e quindi va inserito tra i doppi apici. Questo parametro contiene il nome del file corrispondente all' indicatore che vogliamo utilizzare, estensione esclusa. Ad esempio per usare le Bande di Bollinger il valore passato sarà «Bands».

- Parametri Indicatore: successivamente è necessario passare alla funzione i parametri con cui vogliamo usare l' indicatore. Tanti sono i parametri richiesti dall' indicatore, tanti saranno quelli che dobbiamo inserire. La sintassi prevede che a questo punto scriviamo i diversi input separati da una virgola: parametro1,parametro2,eccetera.
Nel caso delle Bande di Bollinger dobbiamo inserire tre valori, che sono il periodo, la deviazione e lo scostamento. Per conoscere i parametri di ogni indicatore puoi aprire il relativo file mq4 e identificare le variabili «extern» (solitamente le troverai verso l' inizio nel codice).
Sempre per le Bande di Bollinger troverai le seguenti variabili: extern int BandsPeriod=20; extern int BandsShift=0; extern double BandsDeviations=2.0.
Questo vuol dire che dovrai inserire in input, nella funzione iCustom, due valori int ed un valore double.

- Mode: è un numero intero che va da 0 a 7. Questo parametro spiega alla funzione qual' è il valore dell' indicatore che si vuole prendere in considerazione. Se, infatti, un indicatore ha più di un output, occorre selezionare quello che a noi interessa. Nel caso contrario, basta generalmente inserire il valore zero e otterremo così, in output, l'unico valore fornito dall' indicatore.

- Shift: è un valore intero che rappresenta quale valore vogliamo prendere nella serie storica degli output dell' indicatore. Per ottenere il valore calcolato alla barra corrente è necessario inserire zero, per ottenere valori precedenti è sufficiente incrementare questo numero (ad esempio inserendo 5 ci verrà restituito il valore dell' indicatore calcolato a 5 barre precedenti, quella corrente esclusa).

Per concludere ecco un esempio di iCustom applicato alle Bollinger Bands:
double variabile=iCustom(Symbol(),Period(),"Bands",20,2,0,0,0);