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
C'est ce que je veux dire. Mes fonctions ne sont pas polyvalentes, chacune est strictement dédiée à sa propre activité. Même l'achat et la vente sont séparés. Alors, que les numéros de commande changent, que les arrêts se multiplient, mais le billet et le magicien resteront.
Eh bien, tu t'es emporté avec le slosoll :)
Eh bien, tu t'es emporté avec le clobbering :)
Il n'y a pas encore eu de manquement. Je suis un tyran à cet égard :)
Non, pas comme le fromage dans le beurre, mais j'ai fait ma part de service en tant que lieutenant-colonel. Désolé si je vous ai offensé :(
Non, aucune raison d'être offensé, vous n'avez pas à vous engager si j'ai dit quelque chose de mal, mais sincèrement. :)
Vous vous trompez sur moi. Comme la moitié des gens pour une raison quelconque. Je n'ai pas besoin, dans la fonction B(), de traiter cet ordre, qui est sélectionné dans la fonction A(). La fonction B() fonctionne avec d'autres ordres, peu importe lesquels, elle n'a rien à voir avec la fonction A() ; la fonction B() a sa propre logique. Il peut compter le nombre d'ordres, leur profit total, consulter leurs commentaires, TP SL, etc. La tâche consiste à retourner de la fonction B() à la fonction A() de telle sorte que, quoi que la fonction B() ait fait avec les ordres, la logique de fonctionnement de la fonction A() au moment de l'appel de la fonction B() à partir de celle-ci ne sera pas violée du fait que l'ordre sélectionné par la fonction A() avant l'appel de la fonction B() n'est plus sélectionné et que l'ordre sélectionné est un autre ordre aléatoire traité par la fonction B() qui recherche très probablement aussi des ordres dans la boucle.
Vous oubliez toujours qu'une seule commande peut être sélectionnée à la fois. Exit = stocker la liste des commandes dans une réserve d'épargne (votre tableau). une variable globale lastorder n'est pas suffisante. une meilleure option serait lastords[ticket][fonction].
Dans mon code, cette erreur ne se produira pas, car cette fonction est appelée APRÈS OrderSelect(). Et le contrôle dans le code est un vestige 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 pourrait ê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).
En fait, j'ai rencontré une situation où l'erreur était causée par l'une des fonctions à usage général qui aurait pu être utilisée à la fois dans les boucles de traitement des commandes et en dehors de ces boucles, c'est-à-dire avant la sélection de la commande, ce qui a entraîné l'erreur. Si nous voulons que les fonctions du service universel fonctionnent avec des ordres qui peuvent être utilisés aussi bien après qu'un ordre a été sélectionné qu'avant, aussi bien lorsqu'il y a des ordres ouverts que lorsqu'il n'y en a pas, nous devrions utiliser un mécanisme comme celui que j'ai cité pour nous assurer que nous n'obtenons pas cette erreur.
J'ai déjà écrit plus tôt dans ce fil de discussion sur le fait que la sélection des commandes n'est pas transmise aux modules de bibliothèque et vice-versa.
En fait, j'ai rencontré une situation où l'erreur était causée par l'une des fonctions à usage général qui pouvait être utilisée à la fois à l'intérieur et à l'extérieur des cycles de traitement des commandes, c'est-à-dire avant qu'une commande soit sélectionnée, ce qui a provoqué l'erreur. Si nous voulons créer des fonctions de service universel qui fonctionnent avec les ordres et qui peuvent être utilisées aussi bien après qu'un ordre ait été sélectionné qu'avant, aussi bien lorsqu'il y a des ordres ouverts que lorsqu'il n'y a aucun ordre, nous devons utiliser un mécanisme tel que celui mentionné à la page précédente pour éviter cette erreur.
J'ai déjà écrit plus tôt dans ce fil de discussion sur le fait que la sélection des commandes n'est pas transmise aux modules de bibliothèque et vice-versa.
Vous devez vous habituer au fait que chaque opération commerciale a son propre ordre de sélection et vous n'aurez aucun problème. Et, oui, on vous a bien écrit, une seule commande peut être sélectionnée. Tout le reste est résolu par des tableaux.