Diskussion zum Artikel "Entwicklung eines Expertenberaters für mehrere Währungen (Teil 6): Automatisieren der Auswahl einer Instanzgruppe"

 

Neuer Artikel Entwicklung eines Expertenberaters für mehrere Währungen (Teil 6): Automatisieren der Auswahl einer Instanzgruppe :

Nach der Optimierung der Handelsstrategie erhalten wir eine Reihe von Parametern. Wir können sie verwenden, um mehrere Instanzen von Handelsstrategien zu erstellen, die in einem EA kombiniert werden. Früher haben wir das manuell gemacht. Hier werden wir versuchen, diesen Prozess zu automatisieren.

Im vorigen Artikel haben wir die Möglichkeit eingeführt, die Strategieoption zu wählen - mit einer konstanten Positionsgröße und mit einer variablen Positionsgröße. Auf diese Weise konnten wir eine Normalisierung der Arbeitsergebnisse der Strategien in Bezug auf den maximalen Drawdown einführen und die Möglichkeit schaffen, sie in Gruppen zusammenzufassen, bei denen der maximale Drawdown ebenfalls innerhalb der festgelegten Grenzen lag. Zur Veranschaulichung haben wir mehrere der attraktivsten Kombinationen von Eingaben aus den Optimierungsergebnissen einer einzelnen Strategieinstanz manuell ausgewählt und versucht, sie in einer Gruppe oder sogar in einer Gruppe von drei Gruppen von drei Strategien zu kombinieren. In letzterem Fall haben wir die besten Ergebnisse erzielt.

Wenn wir jedoch die Anzahl der Strategien in Gruppen und die Anzahl der verschiedenen Gruppen, die miteinander kombiniert werden, erhöhen müssen, nimmt der Umfang der manuellen Routinearbeiten stark zu. 

Zunächst müssen wir eine einzelne Instanz der Strategie mit unterschiedlichen Optimierungskriterien für jedes Symbol optimieren. Außerdem kann es notwendig sein, für jedes Symbol eine separate Optimierung für verschiedene Zeiträume durchzuführen. Für unsere spezifische Modellstrategie können wir auch eine separate Optimierung nach Art der eröffneten Aufträge (Stop-, Limit- oder Marktpositionen) durchführen.

Zweitens muss aus den resultierenden Parametersätzen, die etwa 20-50 Tausend betragen, eine kleine Anzahl (10-20) der besten ausgewählt werden. Sie sollten jedoch nicht nur alleine, sondern auch in der Gruppe die Besten sein. Auch das Auswählen und Hinzufügen von Strategieinstanzen nacheinander erfordert Zeit und Geduld.

Drittens sollten die erhaltenen Gruppen wiederum zu höheren Gruppen zusammengefasst werden, wobei eine Standardisierung vorgenommen wird. Wenn Sie dies manuell tun, können Sie sich nur zwei oder drei Stufen leisten. Weitere Gruppierungsebenen scheinen zu arbeitsintensiv zu sein.

Autor: Yuriy Bykov

 

Ich danke Ihnen! :)

 

Toller Artikel und tolles System :)

- Wir wenden eine Min-Max-Skalierung auf jede dieser Spalten an, was zu dem Bereich [0; 1] führt. Wir erhalten zusätzliche Spalten mit dem Suffix '_s' ,

Yuri, wie hast du das gemacht? Ich habe in exel nachgesehen und in den Funktionen nichts dergleichen gefunden. Hast du deine eigene Formel dafür geschrieben oder wie hast du es gemacht? Google für die Abfrage Min-Max-Skalierung in Excel hat mir auch nichts Normales geliefert....

 
Viktor Kudriavtsev #:

Toller Artikel und tolles System :)

- Wir wenden eine Min-Max-Skalierung auf jede dieser Spalten an, was zu dem Bereich [0; 1] führt. Wir erhalten zusätzliche Spalten mit dem Suffix '_s' ,

Yuri, wie hast du das gemacht? Ich habe in exel gesucht und in den dortigen Funktionen nichts dergleichen gefunden.

Victor, vielen Dank für dein Feedback!

Ich kenne auch keine spezielle Funktion in Excel, ich mache es so:

 
Yuriy Bykov #:

Victor, danke für das Feedback!

Ich kenne auch keine spezielle Funktion in Excel, ich mache es so:

Danke Juri.

Aber Sie haben geschrieben, dass man die Spalten Profit,Expected Payoff,Profit Factor,Recovery Factor,Sharpe Ratio,Equity DD %,Trades, mit _s hinzufügen soll. In welcher Reihenfolge sollte ich sie hinzufügen, damit es funktioniert? Jede Spalte nach der ursprünglichen Spalte oder können sie alle am Ende der Tabelle hinzugefügt werden? Könnten Sie einen Screenshot der Spaltennamen machen, wie Sie es von Ihrer bereits bearbeiteten Tabelle tun, oder einfach eine kleine, bereits bearbeitete Datei als Beispiel anhängen.

Und wenn Sie den Expert Advisor optimieren, stellen Sie dann ein komplexes Kriterium ein oder nur die maximale Balance? Ich habe es versucht und ich habe etwas nicht sehr große Anzahl von Trades in den Passagen findet, etwa 100-180 Trades für 5 Jahre.

Und bitte sagen Sie mir, wenn ich möchte, dass Ihr EA das Signal liest und Trades bei der Eröffnung eines neuen Bar auf einem bestimmten Zeitrahmen öffnet, aber begleitet Trades jeden Tick, wie es jetzt funktioniert. Wo füge ich die Funktion der Überprüfung der neuen Bar, wie dies zu arbeiten?

 

Die Reihenfolge der Addition ist nur von Bedeutung, wenn es darum geht, wie man schneller vorgehen kann. Für mich war es schneller, diese Spalten am Ende der Tabelle hinzuzufügen (Spalten AC:AI), dann die Abweichungen in mehreren neuen Spalten zu berechnen (AJ : AP), dann AJ:AP in AQ zu summieren , dann den maximalen Skalierungsfaktor Scale in AR zu finden und das Verhältnis Res = AR/AQ in AS zu berechnen. Um danach zu sortieren, müssen Sie nur die Werte aus AS in eine neue Spalte AT kopieren. Ich habe ein Beispiel beigefügt.

Ich beginne die Optimierung mit dem komplexen Kriterium und dann mit allen anderen Kriterien. Die Anzahl der Geschäfte kann unterschiedlich sein, auch relativ klein. Sie hängt von der Größe der SL- und TP-Ebenen ab.

Im nächsten Artikel werde ich Ihnen die Funktion der Überprüfung eines neuen Balkens vorstellen und wie sie dort angewendet werden kann.

Dateien:
 
Yuriy Bykov Anzahl der Geschäfte kann unterschiedlich sein, auch relativ klein. Sie hängt von der Größe der SL- und TP-Ebenen ab.

Im nächsten Artikel werde ich Ihnen die Funktion der Überprüfung eines neuen Balkens vorstellen und wie sie dort angewendet werden kann.

Yuri, ich danke Ihnen für die Beispieltabelle, ich verstehe, dass sie aus dem letzten Artikel (7) stammt, sie wird auch nützlich sein, aber ich habe Sie um ein Beispiel für die Tabelle aus diesem Artikel (6) gebeten, die Sie in die Eingabe des OptGroupClusterExpert.mq5 Expert Advisor einspeisen. Soweit ich weiß, heißt diese Tabelle Params_SV_EURGBP_H1-with_cluster.csv und Params_SV_EURGBP_H1.csv. Darum habe ich Sie gebeten. Bitte fügen Sie diese Tabellen als Beispiel an.

Über den nächsten Artikel cool! Warten wir es ab:) Wenn es schön wäre, der Strategie die Möglichkeit eines Zeitfilters für jede Strategie hinzuzufügen (Start- und Endzeit der Handelsperiode angeben) und einige Filter auf Indikatoren (2-3 Stück). dann denke ich, es wäre ein großartiger EA für den Handel des gesamten Marktes :).

 

Victor, ja, ich bin mit dem vorherigen Tabellenbeispiel ein bisschen zu weit gegangen.

Ich habe ein Beispiel für Params_SV_EURGBP_H1.xlsx angehängt, da die CSV-Datei keine Formeln mehr enthalten wird. Sie müssen sie als CSV-Datei speichern, und wenn Excel ';' als Trennzeichen verwendet, müssen Sie ';' in der gesamten CSV-Datei durch ',' ersetzen. Die Datei Params_SV_EURGBP_H1-with_cluster.csv wird automatisch mithilfe des im Artikel angegebenen Python-Codes aus Params_SV_EURGBP_H1.csv erstellt.

Was das Hinzufügen von Zeitfiltern und zusätzlichen Indikatoren betrifft: Die verwendete Architektur erlaubt dies - Sie können neue Klassen von Handelsstrategien (Nachfolger von CVirtualStrategy) mit beliebigen Filtern und Indikatoren erstellen. Ich selbst habe nicht vor, Zeitfilter zu verwenden, da es mir noch nie gelungen ist, die Handelsergebnisse durch die Einführung von Zeitbeschränkungen zu verbessern. Ich habe nicht vor, viele Indikatoren in einer Strategie zu verwenden, da eine starke Filterung der Eingangssignale für mich weniger wichtig ist. Sie kann indirekt erreicht werden, indem mehrere Instanzen von Strategien kombiniert werden, die jeweils einen anderen Indikator verwenden.

 
Hallo, irgendwelche Empfehlungen?