![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Je ne comprends pas comment cela fonctionne. D'ailleurs, ce forumer lui-même, lorsqu'on lui a posé la question, a dit qu'il ne s'en souvient plus, mais que ce code a déjà été testé de nombreuses fois et qu'on peut lui faire confiance.
Eh bien, si j'ai l'occasion de remplacer ces stupides "questions" par de vraies déclarations "si", je trouverai comment faire... Pour l'instant...
Au fait, j'ai jeté un œil à cette horreur aujourd'hui.
Voici ce que cela signifie :
À mon avis, c'est beaucoup plus clair sans ces "questions", avec des "si" et des retraits. Bien que l'efficacité du code soit absolument la même.
D'ailleurs, vous pouvez voir immédiatement que l'auteur s'en est tenu aux valeurs numériques de iFillingMode et otfFilingType, ce qui, à mon avis, n'est pas une bonne pratique.
Au fait, j'ai jeté un œil à cette horreur aujourd'hui.
Voici ce que cela signifie :
À mon avis, c'est beaucoup plus clair sans ces "questions", avec des "si" et des retraits. Bien que l'efficacité du code soit absolument la même.
À propos, vous pouvez voir immédiatement que l'auteur s'en est tenu aux valeurs numériques de iFillingMode et otfFilingType, ce qui, à mon avis, n'est pas une bonne pratique.
Dans ma librairie, c'est comme ça :
_fillingMode est une macro qui s'étend sur le déréférencement de ce champ.
C'est une autre chose.
En y réfléchissant, il m'arrive de regarder mon propre code et de ne pas comprendre pourquoi il est écrit à cet endroit précis. C'est pourquoi j'essaie de commenter ces endroits en détail, en essayant de mentionner tous les détails. Mais je constate encore régulièrement que je n'ai pas envisagé certaines choses.
De plus, j'utilise le code suivant (pour déterminer le type d'exécution), qui a été écrit par un utilisateur du forum faisant autorité :
Je ne comprends pas comment cela fonctionne. D'ailleurs, ce forumer lui-même a dit, lorsqu'on lui a demandé, qu'il ne se souvient plus, c'est juste que ce code a déjà été testé de nombreuses fois et qu'on peut lui faire confiance .
Eh bien, si j'ai l'occasion de remplacer ces stupides "questions" par de vraies déclarations "si", je trouverai comment faire... Pour l'instant...
Jaune - très étrange qu'une personne ne puisse pas comprendre immédiatement le code trivial qu'elle a écrit elle-même.
Red - Je n'étais pas trop paresseux et j'ai vérifié à nouveau, lors de l'exécution sur le marché, je ne peux pas ORDER_FILLING_RETURN, c'est seulement pour le stock (il y a une erreur dans les docks), et c'est ce que le respecté propriétaire du forum a retourné))))
Jaune - il est très étrange qu'une personne ne puisse pas comprendre un code trivial, qu'elle a écrit elle-même.
Red - Je ne me suis pas senti paresseux et j'ai vérifié à nouveau, lors de l'exécution sur le marché, vous ne pouvez pas ORDER_FILLING_RETURN, c'est seulement pour l'échange (il y a une erreur dans les docks), et c'est ce que le membre respecté du forum retourne))))
Je ne sais pas, je ne sais pas. à quel point ce code est "trivial" dans une telle entrée. Il m'a fallu au moins 15 minutes pour comprendre sa logique, et ce n'est qu'en écrivant les "si" que j'ai compris.
Et à propos de "il y a une erreur dans la documentation" - pouvez-vous nous en dire plus ?
Je ne sais pas, je ne sais pas à quel point ce code est "trivial" dans un post comme celui-ci. Il m'a fallu au moins 15 minutes pour comprendre la logique de son fonctionnement, et ce n'est qu'en écrivant les "si" que cela m'est apparu clairement.
Et à propos de "l'erreur dans les docks" - pouvez-vous m'en dire plus ?
Lors de l'exécution de l'échange
il renvoie 0, mais au marché (j'ai vérifié chez Alpari)
J'ai vérifié avec Alpari et il retourne 0x3. Si vous essayez de cette façon
MqlTradeRequest::filling_mode=ORDER_FILLING_RETURN
Si vous essayez, ça ne s'ouvrira pas.
alors il ne s'ouvrira pas.
J'ai vérifié la fonction d'origine.
Ça marche.
J'ai vérifié la fonction d'origine.
Ça marche.
Essayez-le sur l'exécution du marché plutôt que sur l'exécution de la bourse).
UPD : correction, sur l'exécution immédiate, celle qui
SYMBOL_TRADE_EXÉCUTION_INSTANTANÉE
Essayer l'exécution sur le marché plutôt que sur la bourse)
UPD : correction, sur l'exécution immédiate, celle qui
SYMBOL_TRADE_EXÉCUTION_INSTANTANÉE
Test EA ci-dessus. Essayez-le.
Essayer l'exécution sur le marché plutôt que l'exécution en bourse)
UPD : correction, sur l'exécution immédiate, celle qui
SYMBOL_TRADE_EXÉCUTION_INSTANTANÉE
Ce sont par exemple des comptes de type standard dans A-ri, non ?
Et les courtiers qui négocient ont toujours ce genre d'exécution, non ?
Juste pour clarifier.
A quoi bon ?
Utilisez des classes standard et n'avez pas besoin de remplir des structures(MqlTradeRequest) et n'avez pas besoin de connaître les remplissages et les instants :