Je suggère de collecter des statistiques sur les performances des différents processeurs afin d'estimer leur efficacité pour que le testeur de stratégie puisse travailler en mode optimisation.
Bonne initiative, je la soutiens.
Je reçois un avertissement lors de la compilation :
implicit conversion from 'number' to 'string' Tree_Brut_TestPL.mq5 2567 16
C'est censé être comme ça ?
String :
if(FrameAdd(Test_P,1,0,stat_values)==false)
Je suggère de recueillir des statistiques sur les performances des différents processeurs afin d'estimer leur efficacité pour le testeur de stratégie en mode optimisation.
Pour être plus objectif, je suggère d'utiliser un conseiller expert qui fonctionne en mode"Calcul mathématique", ce qui vous permet de minimiser l'utilisation du disque dur et de la mémoire de votre ordinateur. Si possible, précisez le nom du processeur, de la carte mère et la fréquence de la mémoire vive.
L'Expert Advisor n'a qu'un seul paramètre qu'il faut optimiser (en fait, ce n'est rien et les données sont identiques pour tous les agents - pour être objectif), spécifier le nombre de passes égal au nombre de threads et sélectionner les agents par le nombre de cœurs de processeur (pas d'hyper-entraînement !).
J'espère que les données recueillies aideront les gens à choisir un matériel d'optimisation qu'il est raisonnable de ne pas prendre au premier degré, du moins c'est ce qui s'est passé dernièrement, mais certaines choses ont pu changer.
L'Expert Advisor lui-même est un découpage d'un EA réel que j'utilise dans une tâche similaire pour sélectionner les feuilles d'un arbre de décision, c'est-à-dire qu'il s'agit d'une tâche réelle de MoD et si vous avez des idées pour accélérer le code, je serais très intéressé de les entendre. Il n'y a que 1000 feuilles dans le code, en réalité il y en a déjà plus de 70 000, donc elles sont mises dans une fonction pour une attente acceptable au moment de la compilation.
Bonne initiative, je la soutiens.
Il donne un avertissement lors de la compilation :
Est-ce que c'est comme ça que ça doit être ?
Ligne :
Corrigé et relancé !
Testez-le.
Sur quelle période optimiser et à quelle échéance ? L'outil est-il important ?
En modeCalcul mathématique, cela n'a pas d'importance, aucun tic n'y est généré !
Qu'est-ce qu'il y a là-bas ? La souche de la fin des années 2000 ne décolle-t-elle plus ? :D
Essayez votre processeur et postez vos résultats - voyez s'il décolle ou s'il ne fait que rouler !
Un vieux cheval gâche-t-il le sillon ?
Résultats :
2019.08.09 23:22:07.472 Tester set "Custom max" as optimization criterion for mathematical calculations 2019.08.09 23:22:07.540 Experts optimization frame expert Tree_Brut_TestPL (EURUSD.m,H1) processing started 2019.08.09 23:22:07.592 Tester cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt' deleted 2019.08.09 23:22:07.623 Tester Experts\Tree_Brut_TestPL.ex5 math calculations test means no history and no symbol info for EURUSD.m 2019.08.09 23:22:07.623 Tester complete optimization started 2019.08.09 23:22:07.648 Core 1 agent process started on 127.0.0.1:3008 2019.08.09 23:22:07.650 Core 2 agent process started on 127.0.0.1:3009 2019.08.09 23:22:07.652 Core 3 agent process started on 127.0.0.1:3010 2019.08.09 23:22:07.654 Core 4 agent process started on 127.0.0.1:3011 2019.08.09 23:22:07.657 Core 5 agent process started on 127.0.0.1:3012 2019.08.09 23:22:07.659 Core 6 agent process started on 127.0.0.1:3013 2019.08.09 23:22:07.662 Core 7 agent process started on 127.0.0.1:3014 2019.08.09 23:22:07.664 Core 8 agent process started on 127.0.0.1:3015 2019.08.09 23:22:07.972 Core 1 connecting to 127.0.0.1:3008 2019.08.09 23:22:07.973 Core 1 connected 2019.08.09 23:22:07.983 Core 1 authorized (agent build 2097) 2019.08.09 23:22:07.997 Core 1 common synchronization completed 2019.08.09 23:22:08.035 Core 3 connecting to 127.0.0.1:3010 2019.08.09 23:22:08.036 Core 3 connected 2019.08.09 23:22:08.046 Core 3 authorized (agent build 2097) 2019.08.09 23:22:08.056 Core 2 connecting to 127.0.0.1:3009 2019.08.09 23:22:08.057 Core 2 connected 2019.08.09 23:22:08.059 Core 3 common synchronization completed 2019.08.09 23:22:08.067 Core 5 connecting to 127.0.0.1:3012 2019.08.09 23:22:08.068 Core 5 connected 2019.08.09 23:22:08.068 Core 2 authorized (agent build 2097) 2019.08.09 23:22:08.082 Core 2 common synchronization completed 2019.08.09 23:22:08.083 Core 5 authorized (agent build 2097) 2019.08.09 23:22:08.103 Core 7 connecting to 127.0.0.1:3014 2019.08.09 23:22:08.104 Core 7 connected 2019.08.09 23:22:08.119 Core 7 authorized (agent build 2097) 2019.08.09 23:22:08.125 Core 5 common synchronization completed 2019.08.09 23:22:08.140 Core 7 common synchronization completed 2019.08.09 23:22:08.150 Core 4 connecting to 127.0.0.1:3011 2019.08.09 23:22:08.151 Core 4 connected 2019.08.09 23:22:08.151 Core 8 connecting to 127.0.0.1:3015 2019.08.09 23:22:08.151 Core 8 connected 2019.08.09 23:22:08.162 Core 8 authorized (agent build 2097) 2019.08.09 23:22:08.164 Core 4 authorized (agent build 2097) 2019.08.09 23:22:08.184 Core 6 connecting to 127.0.0.1:3013 2019.08.09 23:22:08.185 Core 6 connected 2019.08.09 23:22:08.208 Core 6 authorized (agent build 2097) 2019.08.09 23:22:08.228 Core 4 common synchronization completed 2019.08.09 23:22:08.240 Core 6 common synchronization completed 2019.08.09 23:22:08.250 Core 8 common synchronization completed 2019.08.09 23:24:45.931 Tester optimization finished, total passes 8 2019.08.09 23:24:45.941 Statistics optimization done in 2 minutes 38 seconds 2019.08.09 23:24:45.941 Statistics shortest pass 0:02:35.945, longest pass 0:02:37.669, average pass 0:02:37.006 2019.08.09 23:24:45.941 Statistics 8000 frames (3.14 Mb total, 412 bytes per frame) received 2019.08.09 23:24:45.941 Statistics local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%) 2019.08.09 23:24:45.988 Tester 8 new records saved to cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt'
Version du terminal :
2019.08.09 23:20:35.776 Terminal MetaTrader 5 x64 build 2085 started (MetaQuotes Software Corp.) 2019.08.09 23:20:35.778 Terminal Windows 10 (build 17763) x64, IE 11, UAC, AMD FX-8300 Eight-Core Processor , Memory: 17102 / 24574 Mb, Disk: 2407 / 2441 Gb, GMT+2
Un vieux cheval gâche-t-il le sillon ?
Résultats :
Version du terminal :
Il semble que vous ayez 8 agents impliqués, et vous avez besoin de 4, parce que les FPU dans les FX ont seulement 4 et 8 ALU, et c'est le FPU qui est chargé pendant l'optimisation. Pourquoi ainsi - n'est pas clair - question aux développeurs, parce que le code est construit en grande partie sur la comparaison, mais apparemment la consommation de calcul en virgule flottante prévaut ou fois plus lent, il s'avère donc qu'il est nécessaire de définir le nombre de coprocesseurs, puis 1 passage sera plus rapide et le temps moyen restera le même.
Il semble que vous ayez 8 agents impliqués et que vous ayez besoin de 4, puisque la FPU dans FX n'est que de 4 et 8 APU, et c'est la FPU qui est chargée pendant l'optimisation. Pourquoi il en est ainsi - n'est pas clair - question aux développeurs, parce que le code est principalement basé sur la comparaison, mais apparemment la consommation de calcul en virgule flottante prévaut ou est fois plus lente, donc il s'avère qu'il est nécessaire de définir exactement le nombre de coprocesseurs, alors 1 passage sera plus rapide et le temps moyen restera approximativement le même.
Veuillez clarifier. Dois-je désactiver 4 agents et définir le paramètre à optimiser de manière à obtenir 4 passes d'optimisation ou 8 passes ?
8 passe 4 agents, une sorte d'analogie avec l'hypercommerce - en fonction du nombre de fils.
Activez"Journal complet de l'optimisation" pour voir le temps de chaque passage.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Je suggère de recueillir des statistiques sur les performances des différents processeurs afin d'estimer leur efficacité pour le testeur de stratégie en mode optimisation.
Pour être plus objectif, je suggère d'utiliser un conseiller expert qui fonctionne en mode"Calcul mathématique", ce qui vous permet de minimiser l'utilisation du disque dur et de la mémoire de votre ordinateur. Si possible, précisez le nom du processeur, de la carte mère et la fréquence de la mémoire vive.
L'Expert Advisor n'a qu'un seul paramètre qu'il faut optimiser (en fait, ce n'est rien et les données sont identiques pour tous les agents - pour être objectif), spécifier le nombre de passes égal au nombre de threads et sélectionner les agents par le nombre de cœurs de processeur (pas d'hyper-entraînement !).
J'espère que les données recueillies aideront les gens à choisir un matériel d'optimisation qu'il est raisonnable de ne pas prendre de premier ordre, du moins c'est ce qui s'est passé dernièrement, mais cela peut changer.
L'Expert Advisor lui-même est un découpage d'un EA réel que j'utilise dans une tâche similaire pour sélectionner les feuilles d'un arbre de décision, c'est-à-dire qu'il s'agit d'une tâche réelle de MoD et si vous avez des idées pour accélérer le code, je serais très intéressé de les entendre. Il n'y a que 1000 feuilles dans le code, en réalité il y en a déjà plus de 70 000, donc elles sont mises dans une fonction pour un temps d'attente acceptable pour le résultat de la compilation.
Dans le journal du testeur de stratégie, via le menu contextuel, cochez la case "Journal d'optimisation complet".Ajouté : Dans ce fil de discussion, il s'est avéré que la taille du fichier dans certains (cela reste à découvrir) processeurs affecte les performances du système dans son ensemble, bien que le code structurellement ne change pas beaucoup. C'est pourquoi je demande à chacun de tester deux testeurs.
Exemple de paramètres de test - le symbole, la période et l'horizon temporel ne sont pas importants - les autres paramètres sont pertinents. La capture d'écran montre un autre EA, mais les paramètres sont corrects.
Jusqu'à présent, nous avons le classement suivant où le temps moyen en secondes a été utilisé - les deux dernières colonnes et la dernière colonne montre le nombre de passages du processeur en 1 heure.
Le tableau est filtré par la dernière colonne, comme l'option d'EA la plus lourde en termes de consommation de ressources de calcul.