Question pour les développeurs - utilisation de tous les cœurs de calcul pendant l'optimisation - page 5
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
Le problème de la répartition uniforme des tâches est également lié à l'ordre dans lequel les agents sont activés. Ceci est particulièrement évident lors de l'ajout de nouveaux agents, après avoir exécuté l'optimisation.
J'espère que, dans un avenir radieux, les EA et leurs fichiers d'accompagnement seront téléchargés une seule fois vers un ordinateur distant doté d'agents, ce qui permettra de gagner du temps et de répartir plus équitablement les ressources informatiques.
Question aux développeurs de MT : quand y aura-t-il des progrès ? Veuillez me dire quand seront corrigées les erreurs catastrophiques décrites ci-dessus, à cause desquelles l'optimisation ne fonctionne pas réellement .....
Question aux développeurs de MT : quand y aura-t-il des progrès ? Pourriez-vous nous indiquer la date limite pour la correction des bogues catastrophiques décrits ci-dessus qui font que l'optimisation ne fonctionne pas réellement .... ?
A quelles "erreurs catastrophiques" faites-vous référence ?
Comment se fait-il que l'optimisation ne fonctionne pas ?
>Quelles sont les "erreurs catastrophiques" auxquelles vous faites référence ?
>Et comment cette optimisation ne fonctionne pas
Tout est décrit ci-dessus et pas seulement par moi.
1. Les agents de réseau ne travaillent pas vraiment, ils ne démarrent pas, c'est tout.
2. Lorsqu'il calcule un nouvel ensemble, il prend beaucoup de temps et réfléchit à quelque chose.
3. Il distribue les paquets de tâches uniquement à un seul et même cœur lorsqu'il y a de nombreux autres cœurs libres.
Résultat : les optimisations prennent jusqu'à 4 fois plus de temps qu'avant .....
Toujours pas de réponse aux questions ci-dessus
mais tout semble fonctionner correctement après les mises à jour, bien qu'il y ait encore quelques cœurs inactifs.
le problème de la répartition inadéquate des emplois entre les noyaux demeure :
1. pourquoi les différents noyaux de l'agent de réseau reçoivent-ils un nombre différent de tâches et que chaque noyau ne reçoit pas la même tâche ?
2. Que se passera-t-il si je désactive un agent qui a 58 tâches à un moment donné comme sur l'image ci-dessus, seront-elles toujours calculées ou seront-elles oubliées et jamais calculées ?
Bonjour, j'essaie d'accélérer les tests en utilisant la fonction TestorStop() dans Opticket en arrêtant les tests individuels si l'EA atteint des valeurs inacceptables. Par conséquent, certaines exécutions sont plus rapides que d'autres et l'un des agents termine en premier (j'ai lu quelque part que si un agent de test est inactif pendant un certain temps, il est désactivé) - lorsque tous les autres agents terminent, les tâches ne sont pas envoyées au premier agent. Ainsi, les agents de test sont éliminés un par un, jusqu'à ce qu'il ne reste qu'un seul agent - dans ce cas, nous ne pouvons pas parler de vitesse. C'est-à-dire que la vitesse peut être augmentée, mais les erreurs techniques de mise en œuvre du calcul distribué ne le permettent pas. Si je lanceTestorStop() sur OnInit(), par exemple, pour optimiser 2 paramètres, dont l'un devrait être plus grand que l'autre, pendant la première exécution la vitesse augmente aussi, mais plus tard les agents de test arrêtent de faire des tâches, bien que le compteur des tâches envoyées augmente avec une grande vitesse, et le compteur des tâches résolues par l'agent n'augmente pas. Peut-être que quelqu'un sait comment contourner ce problème - le sujet est intéressant, la vitesse des tests en éliminant les résultats inutiles est 10 fois plus grande que les tests normaux, en outre la mise à zéro des résultats inutiles dans OnTest() peut diriger l'algorithme génétique dans la bonne direction pour nous !
Développeurs, résolvez le problème de la distribution des tâches .... le principe "un cœur - un métier
J'ai 10 cœurs du processeur principal qui comptent maintenant depuis qu'ils ont reçu plus de 40 tâches et 40 autres cœurs de réseau inactifs depuis qu'ils les ont tous comptés ... vous pouvez répartir les tâches de manière égale.... c'est élémentaire et simple pour la programmation
Développeurs, résolvez le problème de la distribution des tâches .... le principe "un cœur - un métier
J'ai 10 cœurs du processeur principal qui comptent maintenant depuis qu'ils ont reçu plus de 40 tâches et 40 autres cœurs de réseau inactifs depuis qu'ils les ont tous comptés ... vous pouvez répartir les tâches de manière égale .... c'est élémentaire et simple pour la programmation
Ce n'est pas la bonne approche - il ne faut pas distribuer les tâches une par une, mais redistribuer la capacité s'il y a des ressources libres, c'est-à-dire annuler les tâches déjà distribuées et les donner à d'autres pour qu'elles soient exécutées. En même temps, il est nécessaire d'analyser les performances de chaque agent afin de donner au noyau le bon nombre de nouveaux travaux à exécuter.