Le terminal MT5 a été mis à jour aujourd'hui et la fenêtre "Optimisation" ne s'affiche pas pendant le test. - 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
Pourquoi casser un bon vieil algorithme et le remplacer par un nouveau qui est 3 fois plus lent ?
L'algorithme du testeur génétique n'a pas changé. Et les affirmations concernant les 3 fois sont absolument sans fondement.
La méthode de travail d'un cache des résultats précédents a changé. Et il est devenu bien meilleur et plus complet que le précédent.
Si vous devez introduire une nouvelle approche de la méthode génétique, ajoutez un nouvel élément à l'onglet "optimisation",
Créez une description et des techniques pour travailler avec elle.
Jetez un coup d'œil aux liens ci-dessus - tous ces articles proviennent de notre site. L'optimiseur génétique fait l'objet de discussions instantanées depuis de nombreuses années.
Cherchez"testeur de stratégie", "optimiseur génétique" dans la recherche, s'il vous plaît.
Et suivez mon conseil répété - l'optimisation d'un seul facteur de récupération en génétique est contre-indiquée. Vous trompez simplement l'algorithme avec un rapport"profit/tirage maximal" complètement instable et trompeur (pour les automatiques), qui génère facilement des valeurs énormes. Réfléchissez au comment et au pourquoi.
Nous corrigerons le dessin du graphique d'optimisation lundi.
Y aura-t-il une exécution partielle des ordres à cours limité, en fonction des volumes passant par le marché ?
Avez-vous déjà vu des volumes dans un verre dans l'histoire ? Il est irréaliste de mettre en œuvre cette mesure sans avoir un aperçu du marché.
Avez-vous déjà vu des volumes dans un verre dans l'histoire ? Il est impossible de le faire sans un moule du verre.
Je n'en rêverais pas. Je voudrais que le Buy Limit avec le prix 90 et le lot 10 se déclenche partiellement, si, disons, il y avait un SELL tick avec le prix 89 et le volume 1. C'est très triste maintenant. L'ordre serait déclenché s'il y avait un tick BUY avec le prix 90 et le lot 1... et en plein volume.
L'algorithme du testeur génétique n'a pas changé. Les affirmations concernant les trois fois sont absolument sans fondement.
Ce qui a changé, c'est la façon dont fonctionne le cache des résultats précédents. Et il est devenu radicalement meilleur et plus complet que le précédent.
J'ai fait quelques tests comparatifs sur les nouvelles et anciennes versions du testeur.
Voici les résultats. Logs et description dans le post #34.
Voici mon test avec les conditions suggérées :
Metatrader 5 build 1755 :
après quoi le terminal est redémarré pour éviter l'effet direct des caches chauds en mémoire
2018.04.30 11:24:15.913 Tester Best result 3254.53 produced at generation 0. Next generation 4 2018.04.30 11:24:16.775 Tester file cache used 19 times 2018.04.30 11:24:16.775 Tester result cache used 216 times 2018.04.30 11:24:16.775 Tester genetic optimization finished on pass 1337 (of 49644595) 2018.04.30 11:24:16.775 Statistics optimization done in 0 minutes 15 seconds 2018.04.30 11:24:16.775 Statistics local 1105 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
le test continue à partir du point d'arrêt et non à partir du début comme dans le build 1809, puis à partir des 10496 passes proposées ont été prises 3487 et 66+3814 prises à partir du cache (66+3814 / 10496 = 36% cache hit)
2018.04.30 11:26:27.931 Tester Best result 3363.35 produced at generation 15. Next generation 32 2018.04.30 11:26:28.104 Tester genetic calculation is over 2018.04.30 11:26:28.111 Tester 3422 records written to file cache C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\tester\cache\Moving Average.EURUSD.M5.1.xml 2018.04.30 11:26:28.539 Tester file cache used 66 times 2018.04.30 11:26:28.539 Tester result cache used 3814 times 2018.04.30 11:26:28.539 Tester genetic optimization finished on pass 8704 (of 49644595) 2018.04.30 11:26:28.550 Statistics optimization done in 0 minutes 25 seconds 2018.04.30 11:26:28.550 Statistics local 3487 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Metatrader 5 build 1809 :
après quoi le redémarrage du terminal est effectué pour éviter l'influence directe des caches chauds en mémoire.
car le test est repris depuis le début, sur les 10240 passes proposées 5863 ont été effectuées proprement et 4377 ont été prises dans le cache (4377 / 10240 = 42% cache hit)
Maintenant, les conclusions :
Cela se voit dans le temps de passage complet, il est de 33 secondes au lieu de 38 secondes. Et 33 secondes pour un plus grand nombre de passages.
Si nous recalculons le nombre de passages par seconde, il s'avère que :
- build 1755 donne 4780 passages / 38 sec = 125 passages par seconde
- build 1809 donne 5549 passages / 33 sec = 168 passages par seconde
Nous sommes en train de réévaluer le concept de testeur et de corriger les anciennes mauvaises décisions.
Étant donné que les tests génétiques doivent être exécutés plusieurs fois pour couvrir plus complètement la zone de recherche, notre nouveau modèle avec visualisation des exécutions précédentes à partir du cache permet de mieux comprendre les mécanismes du flux de travail de la génétique.
Le nouveau modèle d'affichage des résultats d'optimisation avec toutes les données des caches calculées précédemment ajoutées au tableau permet d'avoir une vision plus complète de la situation. Il est possible de calculer votre stratégie par morceaux et de voir les résultats complets à chaque fois, y compris les exécutions précédentes.
C'est en raison des tableaux de résultats fusionnés très volumineux que nous avons désactivé l'affichage en temps réel de la liste des résultats, et que nous montrons le résultat agrégé après la fusion de tous les résultats précédents.
Mon robot se bloque pendant l'initialisation, à la fois en Runtime et en Debug. La compilation est bonne.
Il y a une classe avec des membres statiques dans le code, probablement à cause d'eux. Tout fonctionnait bien avant. Mais maintenant, il signale une erreur pendant l'initialisation globale.
J'ai supprimé les membres statiques de la classe, elle fonctionne bien.
Mon robot se bloque pendant l'initialisation, à la fois en Runtime et en Debug. La compilation est bonne.
Il y a une classe avec des membres statiques dans le code, probablement à cause d'eux. Tout fonctionnait bien avant. Maintenant, il écrit une erreur pendant l'initialisation globale.
Suppression des éléments statiques dans la classe, lancée normalement.
Écrivez votre demande au Service Desk et joignez le conseiller expert (peut être un fichier ex5), s'il vous plaît.
Tout cela est génial !
Toutefois, veuillez rétablir l'onglet "Optimisation" - il est impossible de travailler sans analyse opérationnelle ! Les grands tableaux sont lents - faisons un filtre - montrons les 20 premiers pour chaque critère - ce n'est pas si gourmand en ressources( ?), mais cela aidera à voir le tableau. Et, ces milliards de passes - qui les fabrique ? Ce sont des unités dotées d'énormes capacités - vous parlez vous-même du caractère raisonnable de l'application de la génétique, et il n'y a pas de tels portmanteaux. Ainsi, plus de 10 000 passages est une rareté.
Triste.
Au moins, il a été possible de dresser un tableau à partir de données préliminaires, pendant que l'optimisation se poursuit.
Nous sommes en train de procéder à une importante mise à niveau des performances du testeur et de redéfinir les modes de charge lourde. Des améliorations majeures ont été apportées et de nouvelles méthodes d'accélération seront bientôt mises en œuvre.
La fenêtre de la liste des allées a décidé de s'afficher à la fin de l'erreur de calcul, afin de ne pas gaspiller des ressources vraiment importantes pour maintenir, retrier et afficher la liste des allées qui change constamment.
Il y a vraiment eu un énorme gaspillage de ressources et des ralentissements. Surtout quand il s'agit de centaines de milliers de lignes, de millions et de dizaines de millions de passages. Il n'y a aucun sens raisonnable à regarder un tas de données préliminaires avec les yeux.
Nous réalisons notre propre optimisation et effectuons des tests avec 100 millions de passages complets.
Évidemment, avec de tels chiffres, il est hors de question de refaire un tri en temps réel et d'afficher un tableau de 2-5-10-50 millions de valeurs. Il n'y a qu'une seule option : tout rassembler rapidement et économiquement, faire un tri final et fournir une vue de toute profondeur.
Parlez-nous en, et c'est tout.