MT5-Terminal wurde heute aktualisiert und das Fenster "Optimierung" wird während des Tests nicht angezeigt - Seite 5
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Warum einen guten alten Algorithmus zerstören und durch einen neuen ersetzen, der dreimal langsamer ist?
Der Algorithmus des genetischen Testers hat sich nicht geändert. Und die Behauptungen über 3 Mal sind absolut unbegründet.
Die Arbeitsweise eines Caches für frühere Ergebnisse wurde geändert. Und sie wurde viel besser und vollständiger als die vorherige.
Wenn Sie einen neuen Ansatz für die genetische Methode einführen möchten, fügen Sie auf der Registerkarte "Optimierung" ein neues Element hinzu,
Erstellen Sie eine Beschreibung und Techniken für die Arbeit damit.
Schauen Sie sich die Links oben an - alle diese Artikel stammen von unserer Website. Die genetische Optimierung ist seit vielen Jahren in aller Munde.
Suchen Sie bitte nach "strategy tester", "genetic optimizer" in der Suche.
Und nehmen Sie meinen wiederholten Ratschlag an - die Optimierung einzelner Erholungsfaktoren in der Genetik ist kontraindiziert. Sie täuschen den Algorithmus einfach mit einem völlig instabilen und trügerischen (für die Automatik)"Gewinn/Maximum Drawdown"-Verhältnis, das leicht riesige Werte erzeugt. Überlegen Sie, wie und warum.
Wir werden die Zeichnung des Optimierungsgraphen am Montag korrigieren.
Wird es eine teilweise Ausführung von Limit-Aufträgen geben, je nachdem, welche Volumina den Markt passieren?
Haben Sie in der Geschichte schon einmal Volumen in einem Glas gesehen? Es ist unrealistisch, dies ohne eine Momentaufnahme des Marktes umzusetzen.
Haben Sie in der Geschichte schon einmal Volumen in einem Glas gesehen? Ohne einen Abdruck des Glases ist das nicht machbar.
Das würde ich mir nicht träumen lassen. Ich möchte, dass Buy Limit mit Preis 90 und Lot 10 teilweise ausgelöst wird, wenn es z.B. einen SELL-Tick mit Preis 89 und Volumen 1 gibt. Es ist jetzt sehr traurig. Die Order würde ausgelöst werden, wenn es einen BUY-Tick mit dem Preis 90 und Lot 1 gibt... und in voller Lautstärke.
Der Algorithmus des genetischen Testers wurde nicht verändert. Die Behauptungen über die dreimalige Teilnahme sind absolut unbegründet.
Was sich geändert hat, ist die Art und Weise, wie der Zwischenspeicher für frühere Ergebnisse funktioniert. Und sie wurde radikal besser und vollständiger als die vorherige.
Ich habe einige vergleichende Tests mit den neuen und alten Builds des Testers durchgeführt.
Hier sind die Ergebnisse. Logs und Beschreibung in Beitrag #34.
Hier ist mein Test mit den vorgeschlagenen Bedingungen:
Metatrader 5 Build 1755:
, nach dem das Terminal neu gestartet wird, um einen direkten Einfluss von Hot Caches im Speicher zu vermeiden
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%)
Test wird vom gestoppten Punkt aus fortgesetzt und nicht vom Anfang wie in Build 1809, dann wurden von den vorgeschlagenen 10496 Durchläufen 3487 und 66+3814 aus dem Cache genommen (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:
, nach der ein Neustart des Terminals erfolgt, um den direkten Einfluss von Hot Caches im Speicher zu vermeiden.
wie der Test von Anfang an gestartet wird, von den vorgeschlagenen 10240 Durchläufe gemacht wurde sauber 5863 und 4377 wurden aus dem Cache genommen (4377 / 10240 = 42% Cache Hit)
Nun zu den Schlussfolgerungen:
Dies zeigt sich in der Zeit des vollständigen Durchlaufs, die 33 Sekunden statt 38 Sekunden beträgt. Und 33 Sekunden für eine größere Anzahl von Durchgängen.
Wenn wir die Anzahl der Durchläufe pro Sekunde neu berechnen, ergibt sich:
- Build 1755 ergibt 4780 Durchläufe / 38 Sekunden = 125 Durchläufe pro Sekunde
- Build 1809 ergibt 5549 Durchläufe / 33 Sekunden = 168 Durchläufe pro Sekunde
Wir sind dabei, das Testerkonzept neu zu bewerten und alte Fehlentscheidungen zu korrigieren.
Da Gentests mehrfach durchgeführt werden müssen, um den Suchbereich vollständig abzudecken, ermöglicht unser neues Modell mit der Visualisierung früherer Läufe aus dem Cache ein besseres Verständnis der Mechanismen des genetischen Arbeitsablaufs.
Das neue Modell für die Anzeige von Optimierungsergebnissen, bei dem alle Daten aus den zuvor berechneten Caches zur Tabelle hinzugefügt werden, ermöglicht ein vollständigeres Bild. Es ist möglich, Ihre Strategie in Teilen zu berechnen und jedes Mal vollständige Ergebnisse zu sehen, einschließlich früherer Durchläufe.
Wegen der sehr großen zusammengefassten Ergebnistabellen haben wir die Echtzeitanzeige der Ergebnisliste deaktiviert und zeigen das kumulierte Ergebnis nach der Zusammenführung aller vorherigen Ergebnisse an.
Mein Roboter stürzt während der Initialisierung ab, sowohl in Runtime als auch in Debug. Die Zusammenstellung ist in Ordnung.
Es gibt eine Klasse mit statischen Mitgliedern im Code, wahrscheinlich wegen ihnen. Vorher hat alles gut funktioniert. Aber jetzt meldet es einen Fehler während der globalen Initialisierung.
Entfernte statische Mitglieder aus der Klasse, es läuft gut.
Mein Roboter stürzt während der Initialisierung ab, sowohl in Runtime als auch in Debug. Die Zusammenstellung ist in Ordnung.
Es gibt eine Klasse mit statischen Mitgliedern im Code, wahrscheinlich wegen ihnen. Vorher hat alles gut funktioniert. Jetzt schreibt es einen Fehler während der globalen Initialisierung.
Entfernte statische Elemente in der Klasse, normal gestartet.
Schreiben Sie Ihre Anfrage an den Service Desk und fügen Sie bitte den Expert Advisor (kann eine ex5-Datei sein) bei.
All das ist großartig!
Bringen Sie aber bitte die Registerkarte "Optimierung" zurück - ohne operationelle Analysen ist es unmöglich zu arbeiten! Große Tabellen sind langsam - lassen Sie uns einen Filter erstellen - zeigen Sie die Top 20 für jedes Kriterium - das ist nicht so ressourcenintensiv(?), aber es wird helfen, das Bild zu sehen. Und diese Milliarden von Pässen - wer macht sie? Es handelt sich um Einheiten mit enormen Kapazitäten - Sie selbst sprechen von der Sinnhaftigkeit der Anwendung der Genetik, und da gibt es keine solchen Portmanteaus. Mehr als 10k Pässe sind also eine Seltenheit.
Traurig.
Zumindest war es möglich, sich ein Bild von den vorläufigen Daten zu machen, während die Optimierung noch im Gange ist.
Wir arbeiten gerade an einer großen Leistungssteigerung des Testers und überarbeiten die Schwerlastmodi. Es wurden wichtige Verbesserungen vorgenommen, und in Kürze werden neue Beschleunigungsmethoden eingeführt.
Das Fenster mit der Gangliste wurde am Ende der Fehlberechnung eingeblendet, um keine Ressourcen für die Pflege, Neusortierung und Anzeige der sich ständig ändernden Gangliste zu verschwenden.
Es gab wirklich eine enorme Verschwendung von Ressourcen und Verlangsamungen. Vor allem, wenn es sich um Hunderttausende von Zeilen, Millionen und Abermillionen von Durchläufen handelt. Es macht keinen Sinn, einen Haufen vorläufiger Daten mit den Augen zu betrachten.
Wir führen Optimierungs- und Leistungstests mit 100 Millionen vollständigen Durchläufen durch.
Natürlich ist es bei solchen Zahlen nicht möglich, in Echtzeit neu zu sortieren und eine Tabelle mit 2-5-10-50 Millionen Werten anzuzeigen. Es gibt nur eine Möglichkeit - alles schnell und kostengünstig zu sammeln, zu sortieren und in beliebiger Tiefe zu überblicken.
Erzählen Sie uns davon, und das war's.