Résumé
Les causes fréquentes : absence de vérification des positions ouvertes, mauvais magic number, condition répétée à chaque tick, variable d’état mal mise à jour ou logique différente entre MT4 et MT5.
1. La condition reste vraie plusieurs ticks
Si l’EA ouvre un ordre dès qu’une condition est vraie, et que cette condition reste vraie pendant plusieurs ticks, il peut répéter l’ordre sans garde-fou.
2. Le robot ne vérifie pas les positions existantes
Avant d’ouvrir, l’EA doit vérifier s’il existe déjà une position ou un ordre correspondant au symbole, au sens et au magic number attendu.
3. Le magic number est absent ou mal utilisé
Le magic number permet d’identifier les ordres d’un EA. S’il est absent, mélangé ou mal filtré, le robot peut ignorer ses propres positions.
4. L’état interne n’est pas fiable
Une variable qui se réinitialise au mauvais moment, un redémarrage de plateforme ou une mauvaise lecture de l’historique peuvent casser la logique anti-doublon.
5. La correction doit être vérifiée sur le même scénario
Une bonne correction ne se limite pas à “ajouter une condition”. Il faut reproduire le problème, corriger, puis relancer un test comparable.
DataVryx
Correction documentée
DataVryx peut reproduire le défaut, corriger la logique et fournir une note des changements.