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
Et ce n'est pas une mise à zéro inconditionnelle mais seulement si last_error_fifo == 0. En bref, c'est la même chose que les œufs en profil. Vérifier ce que la fonction a retourné avant de vérifier les erreurs.
Développez le sujet.
Exactement pour vous, voir :
Options de terminaison de OrderSend() ;
1. Aucune erreur. Vous appelez toujours GetLastError() - en principe, c'est OK si l'erreur précédente est lue, traitée et réinitialisée.
IMHO - vous n'êtes pas obligé de le faire.
2. Il y a une erreur - en appelant GetLastError (), d'après ce que je comprends, vous analysez une seule erreur, bien qu'il puisse y en avoir plusieurs.
IMHO, c'est plus correct :
La dernière est ErrReaction(err) - c'est la gestion des erreurs.
Par exemple, comme ceci :
La fonction de traitement divise les erreurs en "réparables" et "irrécupérables" - les "réparables" sont éliminées, le code des "irrécupérables" est renvoyé - pour traitement dans une procédure externe (appelante).
Bon de toute façon mes cafards sont plus cool parce qu'il n'y a pas besoin de vérifier ce que chaque fonction a retourné donc le code est plus beau.... De plus, vous pouvez organiser vos propres codes d'erreur.
De plus, vous pouvez organiser vos propres codes d'erreur.
nous avons en quelque sorte assez pour faire le nôtre aussi.
Cela dépend de votre logique. Après tout, vous pouvez traiter toutes les erreurs, et vous ne pouvez faire que celles qui sont importantes dans cette situation.
Il est bien sûr souhaitable de disposer d'une fonction permettant de traiter toutes les erreurs les plus importantes, puis la logique inhérente au conseiller expert "ajustera" les priorités.
Par ailleurs, je m'excuse auprès de l'auteur du sujet si ma question s'éloigne de la direction principale du sujet.
Nous en avons en quelque sorte assez pour faire le nôtre aussi.
Pourquoi les inventeurs de MQL5 s'acharnent-ils à créer SetUserError... ils se sont réservés jusqu'à 65535 codes d'erreur, et tout ce qui est au-dessus de cela est ok, vous pouvez arranger le vôtre :)
Juste pour vous, voir :
2. Il y a une erreur - en appelant GetLastError (), d'après ce que j'ai compris, vous analysez une seule erreur, bien qu'il puisse y en avoir plusieurs.
IMHO - variante plus correcte :
La dernière est ErrReaction(err) - c'est la gestion des erreurs.
vit46:
Ознакомьтесь с этим материалом. imho, не повредит.
https://www.mql5.com/ru/forum/131373
Il est souhaitable, bien sûr, de disposer d'une fonction permettant de traiter toutes les erreurs les plus significatives, puis la logique inhérente au conseiller expert "corrigera" les priorités.
Par exemple, je pense qu'il suffit d'essayer d'ouvrir un ordre 5 fois puis d'arrêter d'essayer, alors que vous pouvez penser qu'il faut ouvrir un ordre 20 fois ou "pour gagner".
Moi, par exemple, je pense qu'il suffit d'essayer d'ouvrir un ordre 5 fois puis d'arrêter d'essayer, mais vous pouvez penser que vous devez essayer 20 fois ou ouvrir "jusqu'à ce que vous gagniez".
Non, je ne compte rien. Je n'ai pas d'opinion ferme et sans ambiguïté, c'est pourquoi je vous demande de me recommander la fonction de correction d'erreurs la plus décente.