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
J'ai commencé à relire le sujet et Igor a déjà écrit à ce sujet.
C'est ce que j'essayais de dire, Yuri, que nous devons allouer de la mémoire et enregistrer le thread.
Igor dit que vous devez allouer et enregistrer, alors que vous dites que vous n'avez rien à faire.
C'est pour ça que j'ai la tête qui tourne. Le résultat est une impasse.
Igor a étudié à l'université en tant que spécialiste, et il devrait en savoir plus que nous autres autodidactes.
Dès le début, j'étais enclin à la même idée - que la mémoire doit être allouée et initialisée.
L'initialisation et l'allocation de la mémoire sont la clé d'un codage correct, car elles ne doivent pas couler et ne doivent pas être des déchets.
Je demande donc à Igor de m'expliquer comment le faire en C++ ?
Pas en mots, avec un exemple, je ne comprends rien ;))
Mec, tu ne peux pas faire du multithread sur les pros, sans vouloir te vexer. Mais si vous êtes d'humeur massacrante, lisez et comprenez :
https://en.cppreference.com/w/cpp/thread
https://en.cppreference.com/w/cpp/atomic
Si vous avez besoin d'un exemple, voyez ci-dessous :
https://en.cppreference.com/w/cpp/thread/thread/join
https://en.cppreference.com/w/cpp/thread/async
Encore une fois, il s'agit d'un sujet délicat, facile à nagovonoko (par exemple, décrocher d'un thread spawné qui se détruit plus tard que les données partagées, optimisation du compilateur s'il n'y a pas de synchronisation appropriée et bien d'autres choses encore).
Je propose d'utiliser l'indicateur comme support de l'interface graphique, et les ressources - pour la communication avec le conseiller expert. En outre, dans MT4, vous serez en mesure de contrôler le testeur Expert Advisor à partir d'un graphique standard en utilisant le panneau. Toutes les commandes fonctionneront, pas seulement les boutons. Vous pourrez envoyer du texte et n'importe quoi d'autre à l'EA en cours de test. Je l'ai déjà testé. Tout fonctionne.
Peter, tu ne comprends pas.
Il n'y a qu'un seul conseiller. Il s' exécute en outre sur un graphique invisible, uniquement en mode agent. Il n'y a AUCUN événement en cours sur l'agent. C'est-à-dire que la ressource ne peut pas l'appeler, la minuterie ne démarre pas, les tics n'arrivent pas.
Si l'indicateur déclenche un EA, il s'agit de deux entités.
Le conseiller expert peut créer autant de ces agents qu'il le souhaite. Chacun d'entre eux devient un fil distinct.
Peter, tu ne comprends pas.
Il n'y a qu'un seul conseiller. Il s' exécute en outre sur un graphique invisible, uniquement en mode agent. Il n'y a AUCUN événement en cours sur l'agent. C'est-à-dire que la ressource ne peut pas l'appeler, la minuterie ne démarre pas, les tics n'arrivent pas.
Si l'indicateur déclenche un EA, il s'agit de deux entités.
Le conseiller expert peut créer autant de ces agents qu'il le souhaite. Chacun d'entre eux devient un fil distinct.
Vous voulez dire comme s'exécuter en mode agent sur un graphique invisible ? C'est quelque chose de nouveau. Je n'étais pas au courant.
ChartApplyTemplate
Peter, tu ne comprends pas.
...Un conseiller peut avoir autant de ces agents qu'il le souhaite. Chacun d'eux sort comme un flux séparé.
Le multithreading existe donc déjà ? Et personne ici ne le sait ?
Il n'y a qu'un seul conseiller. Il fonctionne aussi tout seul.
Le testeur KB a le même principe. Avez-vous réussi à résoudre le problème du débogage d'un tel EA ? Lorsque le testeur a été réalisé sur ce principe, l'inconvénient de son écriture résidait dans la difficulté de son débogage.
Puis il s'avère que le multithreading existe déjà ? Et personne ici ne le sait ?
Cela s'appelle "ne pas entendre son interlocuteur".
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Programmation asynchrone et multithread dans MQL
fxsaber, 2019.07.25 12:16
Dans MQL uniquement, les deux tâches sont résolues par l'exécution automatique d'un comptage EA.
Cela signifie-t-il que le multithreading existe déjà ? Et personne ici ne le sait ?
C'est un truc bien connu. Ce n'est pas moi qui l'ai inventé. C'est moi qui l'ai inventé sur un forum il y a plusieurs années.
Le testeur CB a le même principe. Avez-vous réussi à résoudre le problème du débogage d'un tel EA ? Lorsque je faisais le testeur sur ce principe, l'inconvénient de l'écrire était la difficulté de le déboguer.
Imprimer, ASSERT, DEBUG. Je n'utilise pas le débogueur standard dans ce cas...
C'est un truc bien connu. Ce n'est pas moi qui l'ai inventé. Je l'ai eu sur un forum il y a quelques années.