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
Cela rendrait-il les choses plus faciles si je disais que c'est le cas ?)
Yep. Juste là :
int li_LastTicket = OrderTicket() ;
Votre code générera une erreur d'exécution 4105 s'il n'y a pas eu d'appel à OrderSelect avant qu'il ne soit effectué. Il suffit de mettre une vérification GetLastError à la fin de chaque tick et vous trouverez cette erreur.
Dans mon code, cette erreur ne se produira pas, car cette fonction est appelée APRÈS OrderSelect(). Ce contrôle est hérité de l'époque où les codes étaient écrits sans une structure commune de toutes les fonctions exécutables de l'EA.
En outre, la plupart de mes fonctions contiennent des fonctions de gestion des erreurs et je fais très attention à les éviter. Et il existe également un certain nombre de fonctions qui génèrent une erreur, comme la réponse que vous recherchiez :"Ordre sélectionné plus tôt, ou non ?"
P.S. A propos, je me suis souvenu d'une particularité (qui peut être utile à quelqu'un) du travail avec les fonctions OrderSelect() des bibliothèques compilées : nous avons sélectionné une commande (comment - pas principalement), OrderTicket() - renvoie le numéro de la commande sélectionnée. Mais si nous voulons obtenir les propriétés de cet ordre sélectionné à partir de la fonction qui se trouve dans la bibliothèque compilée, nous n'obtiendrons rien. Nous devons sélectionner cet ordre à nouveau (encore).
Je ne sais pas si c'est plus facile ou non, mais ils m'ont pris dès ma première année, telle était l'époque, sinon je n'aurais jamais servi !
Le ticket et le magik ne sont plus des identifiants ? Ou est-il de principe de travailler avec deux ou trois commandes à la fois ? Il y a des tableaux, il y a des fonctions qui traitent et mettent à jour ces tableaux. Ou est-ce une question de principe que de ne pas se laisser entraîner dans l'erreur ? Donc, ne faites pas d'erreurs. Mais ne vous plaignez pas que des sélections de commandes excessives ralentissent les tests. Chaque chose a son temps et sa place. Lorsque vous passez d'une fonction à une autre, soyez a priori sûr que vous devrez sélectionner à nouveau l'ordre, tout en stockant les données de traitement de la fonction précédente dans un tableau.
J'ai aimé :)
Dimitri, même sans quitter les limites d'une fonction, vous ne pouvez pas être sûr que le signe de sélection des ordres ne changera pas.
C'est ce que je veux dire. Mes fonctions n'ont pas d'universalité, chacun s'occupe strictement de ses propres affaires. Même l'achat et la vente sont séparés. Slosewall ne quitte pas la fonction avant que l'ordre entier ne soit exécuté. Alors, que les numéros de commande changent, que les arrêts se déplacent, mais le billet et le magicien resteront.