Accueil Trading Systématique Publication

Détecter une Nouvelle Bougie dans MetaTrader 5 : Astuce Efficace

Pièce jointe
49171.zip (462 bytes, Télécharger 0 fois)

Dans le code précédent, j'utilisais le temps pour détecter une nouvelle bougie. Cette fois, nous allons utiliser le nombre de bougies pour le faire. C'est beaucoup plus léger et rapide que la méthode basée sur le temps.

  • Déclarez les variables en type entier pour stocker le nombre de bougies.
  • Assignez le nombre de bougies à la variable "BarsTotal_OnInt" lors de l'initialisation.
  • Utilisez la fonction iBars(); pour assigner le nombre de bougies à la variable "BarsTotal_OnTick" dans le graphique en direct. Cette variable est mise à jour à chaque tick.
  • Utilisez des commentaires et des alertes pour vérifier la précision du code.

int BarsTotal_OnInt; 
int BarsTotal_OnTick;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'Expert                                   |
//+------------------------------------------------------------------+
int OnInit()
  {  
   BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // Assigne le total des bougies à l'initialisation
   return(INIT_SUCCEEDED);
  }
  
void OnTick() // Fonction OnTick
  {   
   BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // Stocke le dernier montant
   
   if(BarsTotal_OnTick > BarsTotal_OnInt) // Une nouvelle bougie est arrivée
   {
    BarsTotal_OnInt = BarsTotal_OnTick; // Met à jour l'historique.
    Alert("Une nouvelle bougie est arrivée");
    Comment("Nombre de bougies dans l'historique -: ", BarsTotal_OnInt, "\n", "Nombre de bougies en direct -: ", BarsTotal_OnTick);

     // Votre code va ici. --------------------------
    
    // Vous pouvez mettre à jour un "flag" / variable pour l'utiliser plus tard aussi. 

   }
  }

    Articles connexes

    Commentaire (0)