Question pour les développeurs - utilisation de tous les cœurs de calcul pendant l'optimisation - page 5

 

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 .....
 
Boris Egorov:
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 .....
+ ?
 
Le sujet est-il mort ? Y aura-t-il plus de lumière au bout du tunnel ?
 
Boris Egorov:
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 .....

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

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 ?

Pourquoi les réseauteurs reçoivent-ils plusieurs missions à la fois au lieu d'une seule ?

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 ?

 
volchyonok:
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 !
MQL5 Cloud Network ускоряет расчеты
MQL5 Cloud Network ускоряет расчеты
  • www.mql5.com
Можно долго перечислять все преимущества новой торговой платформы MetaTrader 5 и приводить доводы в пользу того, что она лучше других программ для технического анализа и торговли на финансовых рынках. А можно одним словом прекратить любые споры и поставить жирную точку в подобных дискуссиях. И это слово - тестер торговых стратегий в клиентском...
 

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

 
Boris Egorov:

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.