Rileva una Nuova Candela con il Conteggio delle Barre in MetaTrader 5

Mike 2024.04.11 21:05 17 0 0
Allegato

Nel mio precedente codice, ho utilizzato il tempo per rilevare una nuova candela. Oggi, invece, ci concentreremo sul conteggio delle barre per individuare una nuova candela. Questo metodo è molto più leggero e veloce rispetto all'approccio basato sul tempo.

Vediamo insieme come implementarlo:

  • Dichiarare le variabili con il tipo di dato intero per memorizzare il conteggio delle barre.
  • Assegnare il conteggio delle barre alla variabile BarsTotal_OnInt durante l'inizializzazione.
  • Utilizzare la funzione iBars(); per assegnare il conteggio delle barre alla variabile BarsTotal_OnTick nel grafico live. Questa variabile viene aggiornata ad ogni tick.
  • Utilizzare commenti e avvisi per verificare l'accuratezza del codice.

Ed ecco il codice:

int BarsTotal_OnInt; 
int BarsTotal_OnTick;
//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'Expert                                   |
//+------------------------------------------------------------------+
int OnInit()
  {  
   BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // Assegna il totale delle barre all'inizializzazione
   return(INIT_SUCCEEDED);
  }
  
void OnTick() // Funzione OnTick
  {   
   BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // Memorizza l'ammontare più recente
   
   if(BarsTotal_OnTick > BarsTotal_OnInt) // È arrivata una nuova candela
   {
    BarsTotal_OnInt = BarsTotal_OnTick; // Aggiorna la cronologia.
    Alert("È arrivata una nuova candela");
    Comment("Conteggio barre in cronologia -: ", BarsTotal_OnInt, "\n", "Conteggio barre in live -: ", BarsTotal_OnTick);

     // Il tuo codice va qui. --------------------------
    
    // Puoi aggiornare un "flag" / variabile da utilizzare anche in seguito. 

   }
  }
Elenco
Commento 0