Methoden zur Durchführung einer Fortschreibung - Seite 5

 
Youri Tarshecki:
Ja, wir hätten schon vor langer Zeit ein Thema erstellen sollen - wie ein Wolfssturm in MT aussehen sollte. Ich kann mich einfach nicht dazu durchringen. Zu diesem Thema gab es übrigens kürzlich einen Beitrag in der Rubrik "Zukunft" des Forums.
Der Terminmarkt ist für sie nicht sehr interessant, da sie nicht wissen, was sie wollen oder was sie getan haben, und glauben, dass sie etwas Wertvolleres verschenken als der Experte, wenn sie über die Methode berichten. Und in gewisser Hinsicht haben sie Recht. Ich zum Beispiel habe ihnen von meiner Methode erzählt. Vielleicht, weil ich sie für unvollkommen halte und sie verbessern möchte. Übrigens ist auch Ihre Methode nicht ganz klar. Können Sie uns sagen, was Schritt für Schritt gemacht wird und was Ihr automatischer Optimierer macht?
 
elibrarius:
Manche Menschen zögern, Ihnen zu sagen, was sie brauchen, weil sie glauben, dass sie Ihnen etwas Wertvolleres als den Experten selbst geben, wenn sie Ihnen von der Methode erzählen. Und in gewisser Hinsicht haben sie Recht. Ich zum Beispiel habe ihnen von meiner Methode erzählt. Vielleicht, weil ich sie für unvollkommen halte und sie verbessern möchte. Übrigens ist auch Ihre Methode nicht ganz klar. Können Sie uns sagen, was Schritt für Schritt gemacht wird und was Ihr automatischer Optimierer macht?

Es kann keine besonderen Methoden der Weitergabe von Informationen geben. Es ist ein ganz klaresPrinzip derschrittweisen Überprüfung, und der EA selbst ist natürlich für das Ergebnis ausschlaggebend. Und der Grundsatz der Kontrolle wird entweder befolgt oder nicht. Es ist also entweder ein Volking Forward oder nicht. Meine Methode ist also absolut klassisch. Nichts Neues. (Es gibt etwas Neues in meinen Ideen, aber ich bin noch nicht dazu gekommen, sie zu verwirklichen.)

Optimieren Sie rückwärts - holen Sie den nicht optimierten Teil vorwärts und werten Sie ihn aus - bewegen Sie sich um die Vorwärtslänge vorwärts - optimieren Sie erneut mit den vorherigen Einstellungen - usw.

Was Sie über akkumulierte Mengen und den allgemeinen Lauf mit ihnen gesagt haben, ist nur eine Variante der Auswertung von Vorwärtsbewegungen (unter der Annahme, dass Sie, um sie zu erhalten, die für die vorherige Periode erhaltene Menge bei jedem Optimierungsschritt geladen haben). Wenn es für Sie bequemer ist, gut. Die Hauptsache ist, dass das Prinzip gerettet wurde.

 
Youri Tarshecki:

Es kann keine besonderen Methoden der Weitergabe von Informationen geben. Es ist ein ganz klaresPrinzip derschrittweisen Überprüfung, und der EA selbst ist natürlich für das Ergebnis ausschlaggebend. Und der Grundsatz der Kontrolle wird entweder befolgt oder nicht. Es ist also entweder ein Volking Forward oder nicht. Meine Methode ist also absolut klassisch. Hier gibt es nichts Neues.

Wir optimieren rückwärts - holen den nicht optimierten Teil vorwärts und werten ihn aus - bewegen uns um die Vorwärtslänge vorwärts - optimieren erneut mit den vorherigen Einstellungen - usw.

Was Sie über akkumulierte Mengen und den allgemeinen Lauf mit ihnen gesagt haben, ist nur eine Variante der Auswertung von Vorwärtsbewegungen (unter der Annahme, dass Sie, um sie zu erhalten, die für die vorherige Periode erhaltene Menge bei jedem Optimierungsschritt geladen haben). Wenn es für Sie bequemer ist, gut. Die Hauptsache ist, dass das Prinzip beibehalten wird.

Die Methodik ist dieselbe, da stimme ich zu.

Und was ist mit der Auswahl eines einzigen Ergebnisses aus 10 000+ Optionen des Backtests? Mit maximalem Gewinn? Oder nach maximalem Gewinn mit einem gewissen Drawdown-Niveau (ich wähle es mit Drawdown < 20%). Oder eine andere Methode der Auswahl?

Das Kriterium für die Auswahl des Ergebnisses - eines für alle Sektoren? (Ich denke, das sollte es sein.) Oder anders?

 
elibrarius:

Die Methodik ist dieselbe, da stimme ich zu.

Und was ist mit der Auswahl des einzigen Ergebnisses aus über 10.000 Optionen des Rücktests? Mit maximalem Gewinn? Oder nach maximalem Gewinn mit einem gewissen Drawdown-Niveau (ich wähle es mit Drawdown < 20%). Oder eine andere Methode der Auswahl?

Das Kriterium für die Auswahl des Ergebnisses - eines für alle Sektoren? (Ich denke, das sollte es sein) Oder anders?

Ich habe es Ihnen schon gesagt - der Stürmer wird alles beurteilen). Überprüfen Sie alles selbst, verlassen Sie sich nicht auf das Wort anderer!

Das Wichtigste ist, dass es so viele Rückläufer wie Stürmer gibt und dass der Satz eines vorherigen Rückläufers der Start für einen neuen ist.

 
elibrarius:

Die Methodik ist dieselbe, da stimme ich zu.

Wie wäre es mit der Auswahl eines einzigen Ergebnisses aus über 10000 Optionen in einem Backtest? Mit maximalem Gewinn? Oder nach maximalem Gewinn mit einem gewissen Drawdown (ich wähle einen Drawdown < 20%). Oder eine andere Methode der Auswahl?

Das Kriterium für die Auswahl des Ergebnisses - eines für alle Sektoren? (Ich denke, das sollte es sein.) Oder anders?


Meine Gedanken, auch zur Schnittstelle:

Also, erstens. Die WF-Optimierung beantwortet die Frage: Wenn ich meinen EA alle N Tage neu optimiere und das beste Ergebnis auswähle (basierend auf einem Kriterium/einer Regel/einer Fitnessfunktion), wie würde sich das auf die Handelsperiode von M Tagen auswirken? (Auszug aus der Theorie)

D.h. der Entwickler für den Experten ermittelt experimentell:
1. Benutzerdefiniertes Kriterium (eingebettet in den Expert Advisor) - nach dem Ermessen des Entwicklers - ein weites Feld für Diskussionen (dies ist relativ zu Ihrem Drawdown von <20%).
2. Zeiträume N (In Sample For Window) und M (Out Of Sample For Window). Und es ist ein interessantes Forschungsgebiet, N und M auf der Grundlage einiger Kriterien der vorherigen Periode zu ändern.
3. Parameter des zu optimierenden Systems
4. Ein Bereich von Parameterwerten, in dem die Optimierung durchgeführt werden soll (es ist möglich, ihn programmatisch zu begrenzen)

D.h. es ist offensichtlich, dass es sich um eine eigene Klasse von Expert Advisor mit einem speziellen Handelsansatz handelt. Ein solcher Expert Advisor wird (wahrscheinlich) nicht in der Lage sein, selbst für das letzte Jahr mit einem Satz von Parametern einen profitablen Handel zu zeigen, und wird nach einem Monat in der Historie versagen.

Wird WF für andere Expert Advisors benötigt, deren Entwickler diese 4 Punkte nicht implementiert haben? Ich glaube nicht.

D.h. es wäre gut für einen Händler, wenn er/sie den "Handelsmodus" in der Liste auswählen würde, wenn er/sie den Expert Advisor gemäß dem vom Programmierer empfohlenen Szenario überprüfen möchte


Warum der Handelsmodus? Denn schließlich emulieren wir den Handel mit der Strategie der Überoptimierung in bestimmten Bereichen, indem wir den besten Bereich nach dem Kriterium Custom Max auswählen und mit den bei jedem Schritt festgelegten Parameterwerten handeln.

Das war's. Geben Sie keine weiteren Einstellungen an. Aber bieten Sie dem Entwickler eine programmatische Schnittstelle:

- um festzustellen, dass WalkForward ausgewählt ist
- die Länge der Perioden N und M festlegen


 
Igor Volodin:

Meine Gedanken, auch zur Schnittstelle:

Also, erstens. Die WF-Optimierung beantwortet die Frage: Wenn ich meinen EA alle N Tage neu optimieren und das beste Ergebnis auswählen würde (auf der Grundlage eines Kriteriums/einer Regel/einer Fitnessfunktion), wie würde sich das auf die Handelsperiode von M Tagen auswirken? (Auszug aus der Theorie)

d.h. der Entwickler für den Expert Advisor bestimmt durch Erfahrung:
1. Benutzerdefiniertes Kriterium (eingebettet in Expert Advisor) - nach dem Ermessen des Entwicklers - ein weites Feld für Diskussionen (dies bezieht sich auf den Drawdown von <20%).
2. Zeiträume N (In Sample For Window) und M (Out Of Sample For Window). Und es ist ein interessantes Forschungsgebiet, N und M auf der Grundlage einiger Kriterien der vorherigen Periode zu ändern.
3. Parameter des zu optimierenden Systems
4. Ein Bereich von Parameterwerten, in dem die Optimierung durchgeführt werden soll (es ist möglich, ihn programmatisch zu begrenzen)

D.h. es ist offensichtlich, dass es sich um eine eigene Klasse von Expert Advisor mit einem speziellen Handelsansatz handelt. Ein solcher Expert Advisor wird (wahrscheinlich) nicht in der Lage sein, selbst für das letzte Jahr mit einem Satz von Parametern einen profitablen Handel zu zeigen, und wird nach einem Monat in der Historie versagen.

Wird WF für andere Expert Advisors benötigt, deren Entwickler diese 4 Punkte nicht implementiert haben? Ich glaube nicht.

D.h. es wäre gut für einen Händler, wenn er/sie den "Handelsmodus" in der Liste auswählen würde, wenn er/sie den Expert Advisor gemäß dem vom Programmierer empfohlenen Szenario überprüfen möchte


Warum der Handelsmodus? Denn am Ende emulieren wir den Handel mit der Strategie der Überoptimierung in bestimmten Bereichen, indem wir den besten Bereich nach dem Custom Max-Kriterium auswählen und mit den bei jedem Schritt definierten Parameterwerten handeln.

Das war's. Geben Sie keine weiteren Einstellungen an. Aber sie bieten eine Programmschnittstelle für den Entwickler:

- um festzustellen, dass WalkForward ausgewählt ist
- die Länge der Perioden N und M festlegen


Nostalgie, wie viel Komplexität liegt vor uns
 

Technisch gesehen kann der Entwickler für die Analyse Informationen für jeden Rückwärts- und Vorwärtslauf durch die Frames sammeln und vielleicht Informationen über die Anzahl der Laufschritte im Frame hinzufügen.
Es ist jedoch nicht notwendig, die Schrittnummer einzugeben. Indirekt kann das Eintreffen des Rahmens mit den Daten des neuen Laufschritts durch die Analyse des Durchlaufs erfolgen.

static int step = 0;
static bool lastState = 0; //0 - бэк, 1 - форвард
while(FrameNext(pass,name,id,value,data)) {
   bool is_forward = CheckPass(step, pass); //проверим pass в пуле для step шага
   if (!is_forward) {
     AddPass(step, pass); //добавим pass в пул
     if (lastState == 1) {
        //первый фрейм от нового walk-step'а
        step++;
        lastState = 0;   
     }
     
     //обработка бэка с учетом значения step
   } else {
     lastState = 1;

     //обработка форварда с учетом step'а
   }

}//endwhile
In der Dokumentation können wir ein Beispiel für die Speicherung und Visualisierung von Frames für den Walk-Forward-Modus im Tester hinzufügen, und in kodobase, denke ich, wird es eine einfache Variante geben, die für Ihre Zwecke modifiziert werden kann.
 
Igor Volodin:


d.h. der Entwickler für den Expert Advisor bestimmt durch Erfahrung:
1. Benutzerdefiniertes Kriterium (eingebettet in Expert Advisor) - nach Ermessen des Entwicklers - ein weites Feld für Diskussionen (dies ist für Ihren Expert Advisor mit Drawdown <20%)
2. Zeiträume N (In Sample For Window) und M (Out Of Sample For Window). Und es ist ein interessantes Forschungsgebiet, N und M auf der Grundlage einiger Kriterien der vorherigen Periode zu ändern.
3. Parameter des zu optimierenden Systems
4. Bereich der Parameterwerte, in dem die Optimierung durchgeführt werden soll (es ist möglich, ihn programmatisch zu begrenzen)

D.h. es ist offensichtlich, dass es sich um eine eigene Klasse von Expert Advisor handelt, mit einem speziellen Ansatz für den Handel. Ein solcher Expert Advisor wird (wahrscheinlich) nicht in der Lage sein, auch nur für das letzte Jahr mit einem Satz von Parametern profitablen Handel in der Historie zu zeigen, und wird in einem Monat Geld in der Historie verlieren.

Wird WF für andere Expert Advisors benötigt, deren Entwickler diese 4 Punkte nicht implementiert haben? Das glaube ich nicht.

1. Der Tester enthält bereits die Optimierungskriterien, warum sollten sie also in den Expert Advisor "eingefügt" werden?

Der Wechsel und das Verhältnis von hinten nach vorne ist auch Gegenstand der Kontrolle des Stürmers. Sollte sich das Vorwärtsverhältnis als besser erweisen, werden wir es für weitere Tests verwenden.

3 Die zu optimierenden Parameter sind Benutzervariablen. Es ist der Code selbst, der Gegenstand der Prüfung ist.

4. Der Bereich der Variablen - Sie können programmatisch nach ihnen suchen, aber es gibt viele Feinheiten - im Moment ist es viel sicherer und einfacher, es manuell zu tun. Und das ist eine Frage der Optimierung, nicht des "Volking-Forwarding".

Warum ist es offensichtlich, dass es sich um eine eigene Klasse von Experten handelt? Ich denke, diese Klasse umfasst ALLE EAs, da ALLE EAs ohne Überoptimierung oder Übertraining ausgelaugt sind. Forward zeigt, wie schnell dies geschieht.

 
Igor Volodin:

Meine Gedanken, auch zur Schnittstelle:

Also, erstens. Die WF-Optimierung beantwortet die Frage: Wenn ich meinen EA alle N Tage neu optimieren und das beste Ergebnis auswählen würde (auf der Grundlage eines Kriteriums/einer Regel/einer Fitnessfunktion), wie würde sich das auf die Handelsperiode von M Tagen auswirken? (Auszug aus der Theorie)

d.h. ein Entwickler eines Expert Advisors wird experimentell Folgendes ermitteln
1. Benutzerdefiniertes Kriterium (in den Expert Advisor integriert) - nach dem Ermessen des Entwicklers - ein weites Feld für Diskussionen (dies ist relativ zu Ihrem Drawdown <20%).
2. Zeiträume N (In Sample For Window) und M (Out Of Sample For Window). Und es ist ein interessantes Forschungsgebiet, N und M auf der Grundlage einiger Kriterien der vorherigen Periode zu ändern.
3. Parameter des zu optimierenden Systems
4. Bereich der Parameterwerte, in dem die Optimierung durchgeführt werden soll (es ist möglich, ihn programmatisch zu begrenzen)

D.h. es ist offensichtlich, dass es sich um eine eigene Klasse von Expert Advisor mit einem speziellen Handelsansatz handelt. Ein solcher Expert Advisor wird (wahrscheinlich) nicht in der Lage sein, selbst für das letzte Jahr mit einem Satz von Parametern einen profitablen Handel zu zeigen, und wird nach einem Monat in der Historie versagen.

Wird WF für andere Expert Advisors benötigt, deren Entwickler diese 4 Punkte nicht implementiert haben? Ich glaube nicht.

D.h. es wäre gut für einen Händler, wenn er/sie den "Handelsmodus" in der Liste auswählen würde, wenn er/sie den Expert Advisor gemäß dem vom Programmierer empfohlenen Szenario überprüfen möchte


Warum der Handelsmodus? Denn am Ende emulieren wir den Handel mit der Strategie der Überoptimierung in bestimmten Bereichen, indem wir den besten Bereich nach dem Custom Max-Kriterium auswählen und mit den bei jedem Schritt definierten Parameterwerten handeln.

Das war's. Geben Sie keine weiteren Einstellungen an. Aber sie bieten eine programmatische Schnittstelle für den Entwickler:

- um festzustellen, dass WalkForward ausgewählt ist
- die Länge der Perioden N und M festlegen


Ich denke, das Beste ist, WF mit Tools von Drittanbietern zu analysieren, dann MQ zu zeigen und zu bitten, es in Tester zu integrieren.

Aber ich habe den Eindruck, dass es schwierig sein wird. Ich, zum Beispiel, habe mich ohne Datenbank noch nicht entschieden. Eine einfache Rechnung:
1 Durchgang der Optimierung ergibt 10000+ Zeilen
+ 1 Durchgang vorwärts - weitere 10000+ Zeilen
=20000+ Zeilen
* zum Beispiel nach 12-Jahres-Segmenten mit monatlicher Über-Optimierung

=240 Tausend Zeilen

Wenn wir die Daten aller Geschäfte für die Gleichgewichts- und Aktienkurven aus den Rahmen hinzufügen, erhöht sich die Datenmenge für die Analyse für Scalper um das Zehn-, Hundert- oder Tausendfache. Eine andere, weniger ressourcenintensive Variante besteht darin, Aktien- und Bilanzdaten nicht bei jedem Geschäft, sondern z. B. einmal am Tag zu speichern. Ich habe die Schlankheit der Kurve für meinen Expert Advisor berechnet, d.h. eine Zahl ermittelt und sie in die Berechnung der benutzerdefinierten Parameter für die Optimierung eingegeben. Natürlich ist sie nicht so informativ wie die Kurve (pro Tag oder pro Handel).

Ich habe es noch nicht getan, aber ich werde höchstwahrscheinlich Filter nach Niveau (z.B. Drawdown <20%) + Sortierung (maximaler Gewinn) einführen. Wahrscheinlich handelt es sich um mehr als einen Filter.

Im Terminal können Sie nur mit Dateien und Arrays arbeiten, was sehr viel arbeitsintensiver ist als eine SQL-Abfrage.

Natürlich ist es möglich, eine DB an das MT5-System anzuschließen. Aber es wird keine skalierbare Lösung sein, weil es für einen normalen Benutzer sehr schwierig sein wird. Ich tue es für mich selbst auf meiner Website - Laden von Dateien von hin und her durch ein Formular in der Datenbank, gefolgt von der Analyse.

Und ich habe noch nie eine Möglichkeit gesehen, im MT5 Tabellen auszugeben, wie im Browser. Ich denke, dass es auch hier einige Probleme geben wird.

Generell befürchte ich, dass es WF in MT5 nie geben wird.

 
Youri Tarshecki:

1. Optimierungskriterien gibt es bereits im Tester, warum sollten sie dem Expert Advisor hinzugefügt werden?

Sind Sie sicher, dass diese Kriterien ausreichen, um (automatisch) das beste Set für Walk-step zu ermitteln? Schließlich hatelibrarius gerade in diesem Thread eine Frage darüber gestellt, welches Kriterium besser ist und wer was verwendet. Dies ist ein sehr weites Feld für die Forschung und die Auswahl des besten Sets für die Arbeit an einem Walk-Step. Darüber hinaus werden verschiedene Ansätze für den Handel wahrscheinlich unterschiedliche Kriterien erfordern, irgendwo ist der Drawdown sehr kritisch, irgendwo ist die Anzahl der Geschäfte wichtig, irgendwo der Endgewinn.

Außerdem sehe ich keinen Unterschied zu meiner Liste.

Warum ist es offensichtlich, dass es sich um eine eigene Klasse von Expert Advisor handelt? Ich denke, diese Klasse umfasst ALLE EAs, denn ALLE EAs ohne Überoptimierung oder Übertraining werden scheitern. Forward zeigt nur, wie schnell es geht.

Der Entwickler erklärt, dass der EA in diesem Modus arbeitet und hat die Unterstützung für WF in den Code implementiert. Und nicht nur, wenn der EA anfängt zu versagen - optimieren Sie ihn neu.

Und Sie können N und M nicht in der Schnittstelle des Testers einstellen - das habe ich vorgeschlagen, nur programmatisch. Wenn Sie sehen, wie klar es ist für alle, um Einstellungen in der Tester-Schnittstelle zu machen, und sie werden dann bereits festgelegt werden - die Perioden von N und M wird vom Benutzer eingegeben werden (obwohl Ihre"Änderung und das Verhältnis von zurück zu vorwärts - das ist DAS Thema der Prüfung auf vorwärts" wird nicht funktionieren), schlagen Sie Ihre Version.

Grund der Beschwerde: