Code source
OnTick vs OnTimer dans MQL5 : structurer un EA réactive
Une EA est un programme événementiel. Une division claire entre la configuration, les décisions de marché et la maintenance aide à la fois un développeur humain et un assistant de codage IA à apporter des modifications plus petites et plus sûres.
Donnez à chaque gestionnaire une responsabilité claire
Utilisez OnInit pour la configuration et la validation des entrées, et OnDeinit pour le nettoyage. OnTick reçoit des événements de nouvelle cotation pour le symbole graphique. OnTimer gère les événements du minuteur après l'abonnement d'un minuteur. Ces points d'entrée constituent une carte architecturale utile lorsque vous ouvrez un projet source inconnu.
Gardez la file d'attente des événements réactive
MQL5 traite les événements de manière séquentielle pour un programme. Si un événement NewTick est déjà mis en file d’attente ou en cours de traitement, aucun autre NewTick n’est ajouté. Les longs travaux de blocage à l'intérieur d'un manipulateur méritent donc qu'on s'y attarde. Une boucle qui attend indéfiniment une condition ne remplace pas une conception sensible aux événements.
Utiliser intentionnellement un travail périodique
Une minuterie peut convenir à un panneau d'état ou à un entretien ménager périodique. Une période de minuterie plus courte peut également augmenter le travail du testeur, alors choisissez une fréquence qui sert un objectif visible. Un timer ne garantit pas qu’une nouvelle cotation boursière existe et n’améliore pas automatiquement la qualité de l’exécution.
Esquissez le flux avant de le modifier
- Répertoriez ce qui se passe une fois au démarrage.
- Énumérez ce qui nécessite chaque devis pertinent.
- Répertoriez ce qui nécessite uniquement une actualisation périodique.
- Définissez la façon dont le programme réagit lorsque les données ne sont pas disponibles.
- Test d'arrêt et de réinitialisation ainsi que de fonctionnement normal.
Personnalisez-le avec MQLume
Apportez une architecture claire à votre prochaine version personnalisée. MQLume vous propose des projets modifiables que vous pouvez lire, compiler et affiner, notammentQuantum Titan MT5.