Rejoignez notre page de fans
- Vues:
- 109
- Note:
- Publié:
-
Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance
Ce bloc de code détecte une Nouvelle Barre ou une Nouvelle Bougie lorsqu'il est reçu.
Le principe de base des codes est très simple. Tout d'abord, le code enregistre l' heure de la barre / bougie précédente. (Ensuite, il ajoute 60 secondes (égal à 1 min. vous pouvez ajouter du temps comme vous le souhaitez) à l'heure de la barre précédente, ce qui donne la valeur de l'heure de clôture de la barre / bougie actuelle.
Une fois,
Current Time = valeur de l'heure de fermeture de la barre / bougie actuelle, cela signifie qu'une nouvelle a été reçue / que la barre actuelle a été fermée.
dans ce code, le drapeau (la variable de type bool 'NewBarRecived') évite l'appel multiple de ce bloc de code, ce qui signifie que ce bloc de code ne s'exécute qu'une seule fois par barre/chandelle. Le commentaire() ; et le playsound("ok.wav") ; sont utilisés pour vérifier l'exactitude du bloc de code. Vous pouvez les supprimer si vous le souhaitez.
Le drapeau est réinitialisé à faux une fois que l'heure actuelle est supérieure à l'heure de clôture de la bougie actuelle pour vérifier l'arrivée de la prochaine barre. (Voir les commentaires pour voir).
//+------------------------------------------------------------------+ //|Détection d'une nouvelle barre.mq5 | //|par H A T Lakmal //|https ://t.me/Lakmal846 //+------------------------------------------------------------------+ bool NewBarRecived = false; // Falg pour le contrôle. //+------------------------------------------------------------------+ //| Fonction d'initialisation de l'expert| //+------------------------------------------------------------------+ int OnInit() { //--- créer un timer EventSetTimer(60); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Fonction de désinitialisation de l'expert| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- détruire la minuterie EventKillTimer(); } //+------------------------------------------------------------------+ //| Fonction de tic-tac expert| //+------------------------------------------------------------------+ void OnTick() { datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1); datetime TimeCurrentClose = TimePreviousBar + 60; // Heure de clôture de la barre actuelle. datetime Time_Current = TimeCurrent(); if(Time_Current == TimeCurrentClose && NewBarRecived == false) { PlaySound("ok.wav"); // Pour le travail de déclaration de not. NewBarRecived = true; // Mettre à jour le drapeau pour éviter les appels multiples. // Votre code va ici ----- (Faire quelque chose) } else if(Time_Current > TimeCurrentClose) { NewBarRecived = false; // Repose le drapeau pour la prochaine barre ouverte. // Votre code va ici ----- (Faire quelque chose) } Comment("\n" + "\n" + "Time Current Bar -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" + "Time Current Close -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" + "Time Current -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" +"\n" + "A New Bar Recived -: " + NewBarRecived); // Pour les calculs de contrôle } //+------------------------------------------------------------------+ //| Fonction de temporisation| //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ //| Fonction d'échange| //+------------------------------------------------------------------+ void OnTrade() { //--- } //+------------------------------------------------------------------+ //| Fonction ChartEvent| //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+
Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/49018
Code Block for "Trailing Stop" based on current market price. (Ask / Bid)
Ce bloc de code passe en revue toutes les positions ouvertes et effectue un suivi basé sur les cours acheteur et vendeur.
StoDiv
Un indicateur de signal sémaphore typique utilisant un oscillateur stochastique et des fractales.
Corrélation de rang de Spearman ultra
Cet indicateur de tendance de signal est basé sur les lectures de l'indicateur personnalisé de corrélation de rang de Spearman et sur l'analyse de tendance de ses multiples lignes de signal.
UltraFatl
Cet indicateur de tendance des signaux est basé sur les lectures du filtre Fatl numérique et sur l'analyse de la direction de la tendance de ses multiples lignes de signaux. La direction de la tendance dans cet indicateur est déterminée par la couleur de l'histogramme, et la force de la tendance par sa largeur.