MT5-Terminal wurde heute aktualisiert und das Fenster "Optimierung" wird während des Tests nicht angezeigt - Seite 4

 
Renat Fatkhullin:

Warum haben Sie nicht von Anfang an gesagt, dass Sie Genetik betreiben?

Das Prinzip der genetischen Suche beruht auf dem Zufallsprinzip und hat daher keinen Sinn darin, "das fortzusetzen, was man begonnen hat". Seine Aufgabe ist es, zufällig zu laufen.

Und selbst dann wird der Cache genutzt. Es ist nur so, dass die Wahrscheinlichkeit, auf zuvor berechnete Ergebnisse zu stoßen, sehr gering ist (Sie haben einen Suchbereich von 50 Millionen Varianten). Es sieht also so aus, als würde man von vorne beginnen, da der Ausgangspunkt zufällig gewählt wird.

Wenn Sie die Hilfe lesen, steht dort genau das Gegenteil. Vielleicht ist es falsch geschrieben? Ich möchte das gerne verstehen.

https://www.metatrader5.com/ru/terminal/help/algotrading/optimization_types

  • Wenn die Gesamtzahl der Optimierungsschritte 1 000 000 in einem 32-Bit-System oder 100 000 000 in einem 64-Bit-System überschreitet, wird automatisch der Schnelloptimierungsmodus angewendet.
  • Bei der genetischen Optimierung werden die Zwischenergebnisse nach der Berechnung jeder Generation im Cache gespeichert (file_data_platform/tester/cache/*.gen). So kann der genetische Optimierungsprozess jederzeit unterbrochen werden. Auch wenn der Prozess der genetischen Optimierung durch äußere Ursachen (z.B. Stromausfall) unterbrochen wird, wird die Optimierung beim nächsten Start automatisch mit der zuletzt berechneten Generation fortgesetzt. Der genetische Optimierungscache wird gespeichert, bis die Optimierungseinstellungen geändert werden oder der Optimierungsprozess abgeschlossen ist.
  • Wenn die Optimierung normal beendet wird (mit der Schaltfläche "Stop"), werden alle zuvor berechneten Durchgänge gespeichert. Wenn die Optimierung wieder aufgenommen wird, wird der Prozess an der Stelle fortgesetzt, an der er gestoppt wurde.
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Типы оптимизации - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
В данном режиме происходит полный перебор всех возможных комбинаций значений входных переменных, выбранных для оптимизации на соответствующей вкладке. Быстрая (генетический алгоритм) В основу данного типа оптимизации заложен генетический алгоритм подбора наилучших значений входных параметров. Данный тип оптимизации значительно быстрее полного...
 
Oben steht also, dass wir die Funktionsweise des Caches komplett geändert haben. Die Dokumentation wird sich im Laufe der Zeit ändern.

Außerdem habe ich gezeigt, wie Cache-Treffer in der Genetik die Ergebnisse von Wiederholungsläufen dramatisch verbessern. Ab 50%.

Der Sinn eines genetischen Testers besteht darin, dass er mehrfach ausgeführt werden muss, damit der Zufallsgenerator aus den lokalen Extremen herauskommen kann. Dies ist im obigen Screenshot zu sehen, wo der vierte Durchlauf eine neue Folie gefunden hat.

Man muss immer die Mechanismen des Prozesses verstehen. Wenn der Raum für die Lösungssuche in die Billionen geht, muss die Genetik sehr oft ausprobiert werden.
 
Renat Fatkhullin:
Oben steht geschrieben, dass wir die Funktionsweise des Caches komplett geändert haben. Wir werden die Dokumentation rechtzeitig ändern.

Außerdem habe ich gezeigt, wie Cache-Treffer in der Genetik die Ergebnisse von Wiederholungsläufen dramatisch verbessern. Ab 50%.

Der Sinn eines genetischen Testers besteht darin, dass er mehrfach ausgeführt werden muss, damit der Zufallsgenerator aus den lokalen Extremen herauskommen kann. Dies ist im obigen Screenshot zu sehen, wo der vierte Durchlauf eine neue Folie gefunden hat.

Man muss immer die Mechanismen des Prozesses verstehen. Wenn der Raum für die Lösungssuche in die Billionen geht, dann muss die Genetik viele Versuche unternehmen.

Vielen Dank für die harte Arbeit!

Ich würde gerne eine normale Statistik für jedes Symbol bei den Tests mit mehreren Währungen sehen, zumindest als Minimum.

 
Renat Fatkhullin:

Warum fügen Sie nicht eine Beschreibung zur Reproduktion bei?

Verstehen Sie nicht, dass ein Bild kein Beweismittel ist, wenn eine Beschreibung fehlt? Sie befinden sich in einem technischen Forum, in dem technische Fragen diskutiert werden.

Ich habe versucht, nach Ihren Bedingungen zu bauen:

  • Ihr standardmäßiger gleitender Durchschnitt.set
  • Ihr Einstellungssatz für 50 Millionen Pässe
  • MetaQuotes-Demo-Server, EURUSD H1, letztes Jahr, Modus Offene Preise mit Genetik
  • überprüfte die Genetik

Hier ist das Ergebnis: alles ist normal und vernünftig, der Tester funktioniert, die Genetik findet die richtigen Ergebnisse


Sie können sehen, wie die Genetik zu den grünen Zonen mit den besten Ergebnissen gelangt ist und sich dort konsolidiert hat.

Der Expert Advisor ist ein Standard-Gleitender Durchschnitt.

Ich habe 4 Optimierungen durchgeführt. Die Protokolldateien befinden sich im Anhang. Das alles hat mit Genetik zu tun.

Ich habe 2 auf dem neuen Build gemacht. 2 auf altem Stand.

1. Durchgang - auf der neuen Strecke brauchte ich 3.56 Min. ohne Unterbrechung von Anfang bis Ende.

3. Lauf - mit dem alten, ohne anzuhalten von Anfang bis Ende dauerte 2.15 min.

2. Lauf - der neue mit einem Stopp vom Anfang bis zum Ende dauerte 2.25+7.57= 9.82 min.

Der 4. Lauf - auf dem alten mit einem Stopp von Anfang bis Ende dauerte 1.55+1.17= 2.72 min.

Sagen Sie mir, warum das neue Gebäude so schlecht funktioniert.

Dateien:
29_04_2018.zip  43 kb
 
Renat Fatkhullin:
Daher steht oben geschrieben, dass wir die Funktionsweise des Caches komplett geändert haben. Wir werden die Dokumentation zu gegebener Zeit ändern.

Außerdem habe ich gezeigt, wie Cache-Treffer in der Genetik die Ergebnisse von Wiederholungsläufen dramatisch verbessern. Ab 50%.

Der Sinn eines genetischen Testers besteht darin, dass er mehrfach ausgeführt werden muss, damit der Zufallsgenerator aus den lokalen Extremen herauskommen kann. Dies ist im obigen Screenshot zu sehen, wo der vierte Durchlauf eine neue Folie gefunden hat.

Man muss immer die Mechanismen des Prozesses verstehen. Wenn der Suchraum Billionen von Lösungen umfasst, muss die Genetik viele Versuche unternehmen.

Wenn man den Algorithmus mehrmals laufen lassen muss, warum sollte man dann nicht all dies in den Algorithmus implementieren? Und man kann die Mechanik des Prozesses verstehen, wenn man genügend Informationen über das Objekt hat. Aber hier wird dem Benutzer eine Blackbox gegeben, von der er nur eine allgemeine Vorstellung hat, ohne Details zu kennen (Populationsgröße, Stoppkriterien usw.). Wenn der Optimierer sich also an lokale Extrema klammert, sind die Parameter des Algorithmus wahrscheinlich nicht ganz richtig eingestellt.

 
Texnolog:

Advisor ist ein gleitender Standarddurchschnitt. beigefügt


Sagen Sie mir, warum der neue Bau so schlecht funktioniert.

Bitte formulieren Sie Ihre Frage genau.

 
Alexey Navoykov:

Warum sollte man nicht alles in den Algorithmus implementieren, wenn man ihn mehrmals ausführen muss? Und die Mechanik des Prozesses kann man verstehen, wenn man genügend Informationen über das Objekt hat. Hier wird dem Benutzer eine Blackbox zur Verfügung gestellt, von der er nur eine allgemeine Vorstellung hat, ohne Details zu kennen (Populationsgröße, Stoppkriterien usw.). Daher kann er diese Parameter nicht kontrollieren. Wenn der Optimierer sich also an lokale Extrema klammert, sind die Parameter des Algorithmus wahrscheinlich nicht ganz richtig eingestellt.

Denn das ist das Wesen der genetischen Methode: In einem unendlichen Suchraum bringt sie in N Generationen eine schnelle Lösung hervor, wenn das Inkrement der Zielfunktion unter ein bestimmtes Niveau fällt.

Schlüsselwort: schnell.

Genetische Algorithmen garantieren keine absolut exakten Ergebnisse. Es geht um eine schnelle und schmutzige Schätzung, um die ersten Analysen zu erhalten.

Wie die Genetik eingesetzt werden sollte:

  1. Festlegung breiter Suchgrenzen für Milliarden/Billionen von Varianten
  2. Machen Sie den ersten Lauf.
  3. Mit Hilfe von Visualisierungen in verschiedenen Ebenen, einschließlich 3D, herausfinden, welche Bereiche gute Ergebnisse liefern
  4. Eingrenzung der Suche, Ausschalten einiger Parameter (durch Sperren oder Eingrenzen auf eine sinnvolle Anzahl)
  5. Einen neuen Lauf starten
  6. Dann haben wir einige weitere Ergebnisse im Vergleich zum ersten Durchlauf erhalten
  7. Neu geschätzt mit Visualisierung
  8. Fahren Sie mit Schritt 4 fort, bis Sie mit dem Ergebnis zufrieden sind.

Schalten Sie nicht den Kopf aus, wenn Sie 10.000 Durchläufe im Suchraum für Billionen von Varianten sehen. Wunder gibt es nicht.

Die Genetik sollte überlegt und manuell eingesetzt werden.


Generell empfehle ich, sich mit der Theorie zu befassen. Ohne sie sehe ich die Genetik als eine "Drück den Knopf und das war's"-Haltung:

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

Vielen Dank für Ihre harte Arbeit!

Ich würde gerne normale Statistiken für jedes Symbol im Multiwährungstest sehen, zumindest als Minimum

Wir haben mit einem großen Upgrade des Testers begonnen und ihn in Teilen umgeschrieben. Jetzt sind wir dabei, das Schema der Arbeit mit Daten zu ändern.

Wir werden eine Menge Dinge ändern, auch die Berichterstattung.

 
Renat Fatkhullin:

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.

Wir haben beschlossen, das Fenster mit der Passliste am Ende des Laufs anzuzeigen, um keine Ressourcen für die Pflege, Neusortierung und Anzeige der sich ständig ändernden Passliste 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 Lauftests mit 100 Millionen vollständigen Durchläufen durch.

Es ist klar, dass es bei solchen Zahlen nicht in Frage kommt, eine Tabelle mit 2-5-10-50 Millionen Werten in Echtzeit neu zu sortieren und anzuzeigen. Die einzige Möglichkeit ist, alles schnell und kostengünstig zu sammeln, zu sortieren und in beliebiger Tiefe zu durchsuchen.

Das ist alles großartig!

Bringen Sie aber bitte die Registerkarte "Optimierung" zurück - ohne Betriebsanalytik 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 - es ist nicht so ressourcenintensiv(?), aber es wird helfen, das Bild sehr 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. D.h. mehr als 10k Pässe sind eine Seltenheit.

Ich verstehe nicht, über das Anhalten der Optimierung, wenn ich Frames in die Datei geschrieben haben, dann nach dem Neustart eine neue Datei geschrieben werden, weil ich nicht sagen kann, die Expert Advisor, dass sie fortgesetzt, wo sie gestoppt und müssen nicht eine neue Datei für die Aufzeichnung der Ergebnisse zu erstellen. Und wenn das der Fall ist, können wir auf die Überwachung der aktuellen Ergebnisse nicht verzichten!

Wenn ich mir nicht sicher bin, können Sie ein Diagramm mit den aktuellen Optimierungsergebnissen für verschiedene Indikatoren erstellen, das mir dabei hilft, das Diagramm auf den erforderlichen Indikator umzustellen und die Situation auf diese Weise zu überwachen.

Ich möchte Sie bitten, den Parameter "Optimierung" auf eine Prüfung in einem Durchgang nach der Optimierung umzustellen, da ich dadurch oft meine Daten verloren habe und es viele Beschwerden zu diesem Punkt gab.

Was die Agenten im lokalen Netzwerk betrifft - bitte bringen Sie ihnen bei, den Cache und die gesamte Umgebung nicht für längere Zeit zu reiben - zwischen den Optimierungen vergeht Zeit, um Daten zu analysieren, und nicht sofort für 5 Minuten zu laufen. Jetzt stellt sich heraus, dass die Agenten innerhalb von 10 Minuten mit der Arbeit beginnen, sobald ich die Optimierung und die Verteilung von was auch immer wieder starte. Ja, ich habe ein langsames Internet zum Hochladen, aber ist es möglich, so viel zu verteilen? Warum kann ich nicht jedem lokalen Computer (einem Agenten auf diesem PC) alles geben und es zwischen den Agenten aufteilen lassen!

 
Renat Fatkhullin:

Bitte formulieren Sie die Frage genau.

Warum einen guten alten Algorithmus zerstören und durch einen neuen ersetzen, der dreimal langsamer ist?

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.