Questions des débutants MQL4 MT4 MetaTrader 4 - page 199
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
F11
Bonjour, pouvez-vous me donner quelques conseils. Je suis en train d'écrire mon propre EA. Je fais probablement cela tout le temps, je le teste et je regarde ce qui fonctionne et ce qui ne fonctionne pas. Le problème est le suivant. J'ai fini d'écrire le code, je l'ai testé, tout fonctionne comme il faut, puis quelque temps plus tard, je recommence à le tester, il commence à avoir des problèmes (pas d'ouverture de position ou n'exécute pas certaines fonctions), pourquoi ?
Avez-vous déjà envoyé des informations de débogage au journal ? Non ? Vous ne devriez pas. Vous auriez déjà vu la raison.
Est-ce que vous affichez des informations de débogage dans le journal ? Non ? Tu n'aurais pas dû. Vous devriez avoir vu la cause vous-même maintenant.
Je ne sais pas encore comment afficher ces informations, où puis-je trouver comment le faire ?
Je ne sais pas encore comment imprimer ces informations, où puis-je voir comment le faire ?
Imprimer()
Imprimer()
Je connais cette fonction, que dois-je y écrire ?)
Je connais cette fonction, que dois-je y écrire ?)
Le problème est que j'ai fini d'écrire le code et de le tester, tout fonctionne, puis il commence à avoir des ratés (après un certain temps, je recommence à le tester et il échoue). J'ai déjà copié le code, je l'ai testé et il fonctionne comme il se doit. Quelques temps plus tard, je recommence à le tester et il commence à fonctionner de manière incorrecte (pas d'ouverture de position ou pas d'exécution de fonction), pourquoi ?
Bien évidemment, pour comprendre la raison pour laquelle quelque chose ne fonctionne pas, vous devez vérifier les conditions de ce "quelque chose" avant de l'exécuter.
Dans le débogueur, vous pouvez parcourir scrupuleusement les lignes de code en contrôlant les valeurs de toutes les variables dans l'espoir qu'à un moment donné, la raison de la non-exécution apparaisse.
Ou vous pouvez, avant d'appeler une fonction qui, à votre avis, n'est pas exécutée à un moment obscur où elle devrait l'être, écrire les valeurs de toutes les variables qui provoquent l'appel de la fonction. Et attendez tranquillement que ces entrées apparaissent dans le journal. Grâce à ces enregistrements, nous pouvons comprendre pourquoi la fonction n'a pas été appelée. De la même manière, lors de l'ouverture de positions - assurez-vous d'abord que le terminal y inscrit des erreurs, et s'il n'y a pas d'erreurs, cherchez alors des erreurs de logique dans le programme. Comment - voir ci-dessus.
Évidemment, pour comprendre la raison pour laquelle quelque chose n'est pas exécuté, il faut vérifier les conditions d'exécution de ce "quelque chose" avant d'exécuter ce "quelque chose".
Vous pouvez parcourir scrupuleusement les lignes de code dans le débogueur, en vérifiant les valeurs de toutes les variables dans l'espoir qu'à un moment donné, une raison de non-exécution apparaîtra.
Et avant d'appeler une fonction, qui à un moment obscur de votre opinion n'est pas exécutée quand elle est censée l'être, vous pouvez écrire dans le journal toutes les variables qui provoquent l'appel de la fonction. Et attendez tranquillement que ces entrées apparaissent dans le journal. Grâce à ces enregistrements, nous pouvons comprendre pourquoi la fonction n'a pas été appelée. De la même manière, lors de l'ouverture de positions - assurez-vous d'abord que le terminal y inscrit des erreurs, et s'il n'y a pas d'erreurs, cherchez alors des erreurs de logique dans le programme. Comment - voir ci-dessus.
Merci pour l'idée))))