Home Indicatore tecnico Post

CCI Color Levels: Guida all'Indicatore per MetaTrader 5

Allegato
19704.zip (4.1 KB, Scarica 0 volte)

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

CCI Color Levels

Per ottenere questo effetto visivo sono stati utilizzati tre tipi di costruzioni grafiche:

CCI Color Levels Draw


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:

CCI Color Levels Inputs


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:

Test CCI Color Levels.png

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

Commento (0)