EA or MT4 : aucune entrée de journal le week-end, est-ce bloqué ? Distinguer d'abord les cotations et les événements minutés
OnTick dépend des nouvelles cotations du symbole du graphique, OnTimer nécessite un abonnement du programme. Diagnostiquez par point d'entrée d'événement, emplacement des journaux et enregistrements de réinitialisation, afin d'éviter de conclure à une panne sur la seule absence de sortie pendant la fermeture du marché.
Auteur : Thomas|Pratique MT4|14 novembre 2026
Résumé : le week-end, en ouvrant le terminal, l'interface de l'EA est toujours là mais aucune nouvelle entrée de journal n'apparaît pendant longtemps ; ce seul phénomène ne permet pas de conclure que le programme est bloqué. Le diagnostic doit d'abord établir par quel événement le programme est déclenché, s'il imprime réellement des journaux à ce point d'entrée, puis vérifier l'état du terminal. Cet article ne teste pas le programme par des ordres réels et ne présente pas les organigrammes comme preuve qu'un EA a réussi des tests.
Sans nouvelle cotation, l'événement de cotation peut ne pas se produire
La documentation officielle MQL4 de MetaQuotes indique que, lorsque le symbole du graphique auquel l'EA est attaché reçoit une nouvelle cotation, l'événement NewTick correspondant est généré et la fonction de traitement OnTick correctement déclarée est appelée. Si le programme place à la fois les vérifications et les journaux dans ce point d'entrée, il peut ne produire aucun nouvel enregistrement d'exécution pendant les périodes sans nouvelle cotation.
Cela ne signifie pas que tous les EA doivent attendre une cotation. Le programme peut aussi utiliser des points d'entrée tels qu'un minuteur ou des événements de graphique. Il ne faut donc pas interpréter tout silence par « week-end », ni considérer qu'un autre symbole encore mis à jour prouve que le graphique actuel de l'or reçoit nécessairement des cotations.
Identifier d'abord quel événement le programme attend

L'image est un schéma pédagogique original de flux, non issu de données de marché réelles, et ne montre aucun compte de trading réel. Le premier chemin dépend des nouvelles cotations du symbole du graphique ; le second dépend d'un abonnement réussi du programme au minuteur. Un événement minuté peut déclencher une logique de vérification, mais cela ne signifie pas que le marché actuel permet d'exécuter des transactions ; le programme doit toujours vérifier les conditions de trading et la validité des données.
La recommandation officielle est de s'abonner au minuteur lors de l'initialisation et de se désabonner lors du déchargement. Écrire seulement la fonction OnTimer sans s'abonner ne prouve pas qu'elle s'exécutera périodiquement. Le nom de la fonction, ses paramètres et son type de retour doivent également respecter les exigences de traitement des événements ; une simple faute d'orthographe peut empêcher l'appel du point d'entrée attendu.
Comment un utilisateur ordinaire procède étape par étape
Vérifiez d'abord le compte, le serveur, le nom du symbole du graphique et l'état actuel de la connexion, pour confirmer que vous consultez le bon terminal. Notez l'heure de la dernière cotation et l'heure de trading de la plateforme, sans remplacer l'heure de marché du serveur par l'horloge de l'ordinateur. La fermeture habituelle du week-end ne signifie pas non plus que les horaires de trading des autres produits sont identiques ; référez-vous aux annonces de la plateforme concernée.
Consultez ensuite les journaux pertinents, notamment Experts et Journal, et conservez les dernières lignes d'initialisation, de déchargement ou d'erreur. Faites attention au filtrage des journaux, à la date et au fait de savoir si vous avez consulté un autre terminal. Si l'EA n'imprime des journaux que lorsque des conditions de trading se produisent, l'absence de nouvel enregistrement peut simplement signifier que les conditions d'impression ne sont pas remplies, ce qui ne prouve pas que le programme ne s'est jamais exécuté.
Vérifiez ensuite si la documentation de l'EA mentionne des contrôles périodiques, une sortie de battement de cœur ou un mécanisme de maintenance le week-end. Sans code source, transmettez la version, les paramètres, le symbole du graphique, l'heure de la dernière cotation et les journaux au fournisseur pour vérification, sans supposer que tous les produits utilisent la même structure d'événements.
Ce qu'il faut vérifier en priorité lorsqu'on dispose du code source
Dans un environnement de démonstration, vérifiez les déclarations des points d'entrée OnInit, OnTick, OnTimer, etc., ainsi que les abonnements nécessaires, et confirmez le chemin réel avec des journaux de diagnostic à fréquence modérée. Les journaux peuvent enregistrer le type d'événement, le symbole et l'heure des données, afin d'éviter d'écrire seulement « normal » sans contexte vérifiable. N'inscrivez pas de mot de passe de compte ni d'autres identifiants dans la sortie de diagnostic.
L'exécution du terminal, le chargement du graphique, le déclenchement d'événements et l'exécution des transactions sont des niveaux différents. La sortie continue du minuteur ne prouve pas que les cotations sont fraîches, ni qu'un ordre pourra nécessairement être envoyé. Lorsque l'événement de cotation ne se déclenche pas, il ne faut surtout pas vérifier que le programme est vivant en assouplissant les permissions de trading ou en soumettant répétitivement des ordres.
Pourquoi changer répétitivement de période peut perturber le diagnostic
La documentation officielle indique que les changements de symbole ou de période du graphique, ainsi que les changements de paramètres d'entrée, impliquent un déchargement et une réinitialisation. Des changements répétés peuvent masquer le problème d'origine par un nouveau processus d'initialisation et peuvent aussi déclencher un rechargement de l'état du programme. Il faut d'abord sauvegarder les journaux et les paramètres, puis vérifier conformément à la documentation dans un environnement sûr, plutôt que de rattacher sans cesse l'EA pour observer s'il se rétablit occasionnellement.
Les différents EA mettent en œuvre différemment la restauration des positions, la persistance des variables et la protection contre les ordres répétés. Cet article ne garantit pas la sécurité d'un rechargement et ne recommande pas de décharger ou redémarrer aveuglément en présence d'une exposition réelle. Toute opération de maintenance doit d'abord établir clairement qui gère les positions.
Comment déterminer que le diagnostic est terminé
S'il est confirmé que le symbole actuel n'a pas de nouvelle cotation, que la logique se trouve uniquement au point d'entrée de cotation et qu'il n'existe aucune autre preuve d'erreur, on peut consigner qu'on attend le marché, sans déclarer que le programme a été réparé. Si le point d'entrée minuté devrait fonctionner mais reste sans sortie, continuez à vérifier l'abonnement, le résultat de l'initialisation et les erreurs du programme, sans tout expliquer par la fermeture du marché.
Après le rétablissement des cotations, vérifiez d'abord l'horodatage et l'état, puis confirmez que le programme traite les nouveaux événements comme prévu. Le rétablissement des événements ne prouve pas que la stratégie de trading possède un avantage de rendement ; les ordres restent exposés au spread, au glissement et au risque d'exécution. L'objectif du diagnostic est de déterminer à quel niveau le programme s'est réellement arrêté, et non d'obtenir une réponse en prenant des risques sur un compte réel.