L'indicatore CCI Color Levels si presenta in questo modo:

Per ottenere questo effetto visivo sono stati utilizzati tre tipi di costruzioni grafiche:
- DRAW_HISTOGRAM2 ("Livello SU");
- DRAW_LINE ("CCI");
- DRAW_HISTOGRAM2 ("Livello GIÙ").

Input dell'Indicatore
- Periodo di media - periodo di media dell'indicatore;
- Livello SU - valore del livello UP;
- Livello GIÙ - valore del livello DOWN.
I livelli UP e DOWN verranno mostrati immediatamente nella sottoventana dell'indicatore:

Come Accedere ai Dati dell'Indicatore in un Expert Advisor
Lo stile DRAW_HISTOGRAM2 si basa su due buffer dell'indicatore, per questo motivo vediamo due valori Level UP e due valori Level DOWN nella finestra dei dati:

Questi valori corrispondono ai buffer dell'indicatore da 0 a 4 inclusi.
Nel nostro Expert Advisor, creiamo un handle dell'indicatore utilizzando iCustom:
//--- parametri di input input int Inp_CCI_ma_period = 14; // Periodo di media input double Inp_CCI_LevelUP = 90; // Livello UP input double Inp_CCI_LevelDOWN =-90; // Livello DOWN //--- int handle_iCustom; // variabile per memorizzare l'handle dell'indicatore iCustom //+------------------------------------------------------------------+ //| Funzione di inizializzazione dell'Expert | //+------------------------------------------------------------------+ int OnInit() { //--- crea handle dell'indicatore iCCI handle_iCustom=iCustom(Symbol(),Period(),"CCI Color Levels",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN); //--- se l'handle non è stato creato if(handle_iCustom==INVALID_HANDLE) { //--- segnala il fallimento e mostra il codice errore PrintFormat("Creazione handle dell'indicatore iCCI fallita per il simbolo %s/%s, codice errore %d", Symbol(), EnumToString(Period()), GetLastError()); //--- l'indicatore viene fermato anticipatamente return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
Si presuppone qui che l'indicatore CCI Color Levels si trovi nella cartella [data folder]\MQL5\Indicators\.
Come vengono ottenuti i valori dell'indicatore (solo i buffer 0, 2 e 4 sono significativi):
//+------------------------------------------------------------------+ //| Funzione di tick dell'Expert | //+------------------------------------------------------------------+ void OnTick() { //--- double level_up = iCustomGet(handle_iCustom,0,0); // buffer #0 -> BufferUpHigh double cci = iCustomGet(handle_iCustom,2,0); // buffer #2 -> BufferCCI double level_down = iCustomGet(handle_iCustom,4,0); // buffer #4 -> BufferDownLow string text="Livello UP #0: "+DoubleToString(level_up,2)+" "+ "CCI #0: "+DoubleToString(cci,2)+" "+ "Livello DOWN #0: "+DoubleToString(level_down,2); Comment(text); }
Nello screenshot sopra, il cursore si trova su una barra con indice 0, "Finestra Dati" con i dati dell'indicatore è anch'essa mostrata, e le informazioni dell'EA sui buffer 0, 2 e 4 sono visualizzate sul grafico.
Post correlati
- Indice di Volatilità Chaikin: Scegli il Giusto Algoritmo di Smussamento per MetaTrader 5
- Volatilità Stocastica: Indicatore per MetaTrader 5 da Utilizzare sul Grafico
- Notis: L'Indicatore per Misurare la Volatilità su MetaTrader 5
- Indicatore di Equità e Bilancio per MetaTrader 5: Monitoraggio della Tua Performance di Trading
- Utilità per le Informazioni su Barre e Tassi per MetaTrader 5