Walk Forward Optimierung Metatrader Forex


Was ist Walk Forward Analysis Walk forward Anaylsis ist der Prozess der Optimierung eines Handelssystems mit einem begrenzten Satz von Parametern, und dann das Testen der besten optimierten Parameter-Set auf Out-of-Probe-Daten. Dies ist ähnlich wie Sie Ihre Experten-Berater in Live-Trading zu verwenden. Die Grundsätze der Walk-forward-Analyse wurden zuerst im Buch Die Bewertung und Optimierung von Handelsstrategien von Robert Pardo beschrieben. Um eine Walk-Forward-Analyse in MetaTrader durchzuführen, optimieren Sie zunächst den Expertenratgeber im Strategy Tester. Wählen Sie dann auf der Registerkarte Optimierungsergebnisse das profitabelste Ergebnis aus und führen Sie einen Backtest über einen Zeitraum unmittelbar nach dem Optimierungszeitraum durch. Das Enddatum des Optimierungszeitraums entspricht dem Startdatum des Testzeitraums. Dieser Vorgang wird immer wieder wiederholt, bis eine zufriedenstellende Probengröße erreicht ist. Wenn der Fachberater im Test, im Vergleich zu den Optimierungsergebnissen, gut abschneidet, kann man daraus schließen, dass der Expertenberater voraussichtlich im Livehandel profitabel sein wird. Wenn hingegen der Sachverständige schlecht im Test durchführt, müssen entweder die Optimierungsparameter oder die Länge der Test - und Optimierungsperioden angepasst werden. Wenn nach vielen Versuchen der Fachberater noch nicht gut in der Prüfung, dann kann man schlussfolgern, dass das Handelssystem unrentabel ist. Die Animation nach rechts veranschaulicht die Vorgehensweise bei der Vorwärtsbewegung. Eine Optimierung wird über einen längeren Zeitraum (die In-Sample-Daten) durchgeführt, und dann wird der optimierte Parametersatz über eine nachfolgende kürzere Periode (die Out-of-Sample-Daten) getestet. Die Optimierungs - und Testperioden werden nach vorn verschoben und der Vorgang wiederholt, bis eine geeignete Probengröße erreicht ist. Quelle Ein Beispiel für eine Vorankommensanalyse Wir können ein realistisches Beispiel anführen: Wir würden eine Vor-Ort-Analyse auf einem Expertenratgeber unter Verwendung von EURUSD M30 durchführen. Optimieren Sie diesen Expertenberater über einen Zeitraum von 120 Tagen. Weve gewählt die 3 oder 4 wichtigsten Parameter zu optimieren, um nicht zu über-Optimierung oder Kurve passen die Ergebnisse. Auch weniger Parameter bedeuten einen schnelleren Test. Nun wählen Sie die profitabelste Ergebnis, und Backtest diese Parameter über einen Zeitraum von 30 Tagen unmittelbar nach dem Optimierungszeitraum. Es wird empfohlen, eine Prüfperiode von etwa 25 der Länge des Optimierungszeitraums zu verwenden. Sobald wir aufgezeichnet unsere Ergebnisse, gut bewegen die nächste Optimierung und Prüfung Zeitraum nach vorne von 30 Tagen. Nach 12 aufeinanderfolgenden Runden der Optimierung und Tests, haben auch ein Jahr im Wert von Walk forward Analyse-Daten. Wir vergleichen den durchschnittlichen täglichen Gewinn für die Optimierungsperioden mit dem durchschnittlichen täglichen Gewinn für die Testperioden. Dies wird uns eine Berechnung genannt Walk forward Effizienz Verhältnis. Ein Walk-forward-Wirkungsgrad größer als 0,5 ist ein sehr gutes Ergebnis. Das nennen wir ein robustes Handelssystem. Ein Fachberater ist jedoch handelbar, solange er über mehrere Testperioden hinweg konsistent profitabel ist. Wenn der Wirkungsgrad der Vorwärtsbewegung negativ ist, dann bedeutet dies, dass der Fachberater nicht in Bezug auf seine Optimierungsergebnisse gut funktionierte. Natürlich können Sie eine vorwärts gehende Analyse manuell in MetaTraders Strategy Tester durchführen. Aber der Prozess ist mühsam, zeitaufwändig und anfällig für Fehler. Dies ist, wo die Walk Forward Analyzer Software kommt in. Das Programm wird automatisch eine Walk forward Analyse mit MetaTraders Strategy Tester über einen längeren Zeitraum, mit nur wenigen Einstellungen durch den Benutzer zur Verfügung gestellt. Walk-Forward-Optimierung Bibliothek für MetaTrader 4: FAQ Häufig gestellte Fragen F. Warum sollte ich WFO A verwenden? WFO ist eine automatisierte Implementierung des Prozesses der EA-Prüfung und - Überwachung, die ein Händler normalerweise von Händen ausführt. Darüber hinaus bietet WFO eine begründete Antwort für die Fragen, welche Periode der EA-Optimierung zu wählen ist und wie lange die optimierte EA-Performance im Mittel dauern wird, so dass man wissen könnte, in welchem ​​Tempo eine Reoptimierung durchgeführt werden muss. Q. Warum WFO-Bibliothek ist nicht verfügbar für MetaTrader 5 A. MetaTrader 5 wird wahrscheinlich Walk-Forward-Optimierung nativ als neue Art der eingebauten Tester in Zukunft zu unterstützen. Wenn Sie dringend wünschen, dass diese Bibliothek auf MetaTrader 5 portiert wird, senden Sie bitte Ihre Anfrage an den Autor - auf Anfrage kann er nachbearbeitet und frei an alle Anfrager geliefert werden, die die Originalversion für MetaTrader 4 besitzen. Q. Warum WF-Optimierung Und Testperioden werden in einem einzelnen Testerdurchlauf A durchgeführt. Ein einzelner Testerdurchlauf, der in Optimierungsfenster und Vorwärts-Test unterteilt ist, wird verwendet, weil es es einfach macht, entsprechende Optimierungs - und Testperioden zu assoziieren. Tatsächlich bietet MQL4 keine Möglichkeit, zwei unabhängige Tester-Pässe miteinander zu verknüpfen. Darüber hinaus, auch wenn es möglich war, Testen Vorstufen würden als Optimierungsläufe behandelt werden, und somit eine Vorspannung auf optimale Parameter suchen. Und wenn wir Markierung Vor-Tests mit Null-Performance-Indikator, um die Vorspannung zu beseitigen, würde der Tester die meisten Forward-Tests überspringen, während mit genetischen Algorithmus. Und die Verweigerung der Genetik scheint unpraktisch. F. Warum Standardoptimierungsbeschränkungen im Tester unter Verwendung von WFO deaktiviert werden müssen. In der Tat sollten alle Flags auf der Registerkarte Optimierung des Dialogfeldes Expert-Eigenschaften deaktiviert werden, bevor die WFO-Bibliothek verwendet wird. Dies ist so, weil die Beschränkungen auf entsprechende Werte angewendet werden, die für die gesamte Periode berechnet werden, aber die Periode wird intern durch WFO auf Optimierung und Forward Testing Parts geteilt, wobei nur Optimierungswerte von Bedeutung sein sollten. Die WFO-Bibliothek berechnet für beide Teile alle wichtigen Parameter separat und bietet Ihnen Zugriff auf Optimierungsindikatoren über spezielle Variablen, die in benutzerdefinierten Formeln verwendet werden können. Wenn Sie eine Einschränkung verwenden möchten, können Sie einen Ausdruck für den Performance-Schätzer angeben, bei dem der spezifische Parameter mit einem Schwellenwert überprüft wird, und wenn die Bedingung nicht erfüllt ist, wird der Schätzwert auf 0 gesetzt. Wenn Sie z. B. alle Durchgänge löschen möchten Relativer Drawdown größer als 50, können Sie Ihren Hauptleistungsschätzer mit dem folgenden Ausdruck multiplizieren (max (50 - DDREL, 0), 1). Q. Einige Werte des Profitfaktors in den Tabellen erscheinen seltsam. Warum A. Da der Gewinnfaktor als Verhältnis von Gewinnen und Verlusten berechnet wird, kann es Fälle geben, in denen es tatsächlich undefiniert ist - dies geschieht, wenn überhaupt keine Verluste auftreten. Standardmäßig legt MetaTrader 4 in solchen Fällen den DBLMAX-Wert für den Profitfaktor zu, dies ist jedoch keine gute Idee, da ein Test mit 1 profitablem Handel und ein weiterer Test mit 10 gewinnbringenden Trades denselben Gewinnfaktor erhält. Wenn der Profitfaktor in einem zusammengesetzten Leistungsabschätzer verwendet wird, wird DBLMAX höchstwahrscheinlich eine Unregelmäßigkeit einführen. Aus diesem Grund bietet die Bibliothek 2 verschiedene Möglichkeiten, überflogene Gewinnfaktoren zu behandeln. Wenn der Schätzer wfobuiltinloose oder wfobuiltinstrict ist. Gewinnfaktoren größer als 10 werden als 10 multipliziert auf Quadratwurzel der Anzahl der Trades eingestellt. Wenn ein anderer Schätzer ausgewählt ist, können Sie die wfosetPFmax-Funktion verwenden, um eine relativ große Zahl als Obergrenze des Profitfaktors anzugeben, aber deutlich niedriger als DBLMAX, zum Beispiel 100. Schließlich, wenn Sie wfoexpression wählen. (GP-Variable) und Bruttoverlust (GL-Variable) mit einer beliebigen spezifischen Formel berechnen. F. Wie weiß ich, dass ein Walk-Forward-Test übergeben oder fehlgeschlagen wird A. Die WFO-Bibliothek markiert nicht explizit Walk-Forward-Ergebnisse als übergeben oder fehlgeschlagen, da die von Benutzern bevorzugten Kriterien unterschiedlich sein können. Als Faustregel gilt, dass ein Test als bestanden gilt, wenn der Wirkungsgrad über 50 liegt und die Konsistenz über 50 liegt, und der Verlust nicht höher als 30 ist. Es kann auch darauf geachtet werden, dass die Verteilung der Gewinne auf Vorwärtsversuchen keine deutlichen Ausreißer enthält Gewinn pro Durchgang produziert mehr als 50 des Gesamtgewinns). Alle diese Faktoren können visuell in den Tabellen des spezifischen Berichts überprüft werden. Q. Warum Walk-Forward Drawdown als grobe Schätzung markiert ist, normalisiert A. Dieser Drawdown wird auf der Vorwärts-Balance-Kurve mit nur Gewinn oder Verlust auf jedem Schritt (als Ganzes) berechnet und berücksichtigt nicht die zugrunde liegenden Trades. Das macht den Drawdown grobe Schätzung. Um eine genaue Abrechnung zu berechnen, sollte man eine vollständige Liste der Trades haben, aber die WFO-Bibliothek speichert sie nicht im Interesse der Effizienz. Tatsächlich würde, wenn es dies tun würde, jeder einzelne Durchlauf eine separate Datei erzeugen, und die Anzahl der Durchgänge kann Hunderttausende sein. Der Drawdown wird als normalisiert bezeichnet, da er von einem annualisierten Gewinn an In-Probe-Daten (Optimierungszeitraum) anstelle der ursprünglichen Einzahlung berechnet wird. Konventionelle Drawdown kann drastisch variieren, abhängig von einem willkürlichen Einzahlungsbetrag, der von dem Händler freiwillig gewählt wird. Dies macht es schwer, die Risiken zu verstehen. Zum Beispiel bei einer ersten Einzahlung in Höhe von 10000 ein Drawdown auf 1000 ist nur 10, aber für 2000 seine 50. Wenn annualisierten Gewinn anstelle der Kaution verwendet wird, zieht Drawdown die Risiken in der universellen Maßnahme skaliert entsprechend dem Handelssystem Potenzial Effizienz (durchschnittliche Rentabilität ). Q. Was bedeutet Abweichung in den Berichten, wie man es interpretiert A. Die Tabellenzeile mit Abweichung zeigt die Standardabweichung () des entsprechenden Wertes als Maß für ihre Streuung an, dh, wie weit sie über ihren Durchschnitt schwankt. Wenn die Abweichung gleich oder grßer als der Durchschnitt (oder Mittelwert) ist, erscheint der entsprechende Parameter unzuverlässig, da sein beobachteter Wert höchstwahrscheinlich das Vorzeichen leicht ändern wird, ungeachtet der erwarteten, und dies ist zum Beispiel für Gewinne sehr wichtig. Wenn beispielsweise der durchschnittliche Gewinn 100 beträgt und die Abweichung 100 beträgt, beträgt die Wahrscheinlichkeit eines Verlustes ungefähr 15,8, wenn die Abweichung 50 - die Wahrscheinlichkeit eines Verlustes 2,2 beträgt, und wenn die Abweichung 33 beträgt, beträgt die Wahrscheinlichkeit eines Verlustes nur 0,1. Wenn dagegen die Abweichung 200 ist, steigt die Wahrscheinlichkeit eines Verlustes bis zu 31 an. Dies wird durch die nachstehende Grafik veranschaulicht. Wir verwenden hier die Normalverteilung, die umstritten sein kann, aber ihre gut untersuchte und anwendbare (unter gewissen Annahmen) für die meisten langwierigen Versuchsreihen (wir gehen davon aus, daß wir eine ausreichende Anzahl von Walk-Forward-Pässen haben). Q. Meine Optimierung hat mit dem Fehler gestoppt Tester Memory-Handler: Tester gestoppt, weil nicht genug Speicher. Was kann ich tun? A. Sie versuchen, eine zu massive Optimierung durchzuführen, die alle Ressourcen für den MetaTrader 4 Tester verbraucht hat. Dies ist kein Problem der Bibliothek. Dies ist eine Einschränkung des Testers und des Betriebssystems. Sie müssen irgendwie Ihre Optimierungseinstellungen vereinfachen oder mehr Ressourcen zu Ihrem PC hinzufügen. Hier einige Methoden: Verkürzen Sie den Bereich der Prüfdaten (zB 2-3 Jahre statt 5-6), verringern Sie die Anzahl der Parameter, die für die Optimierung aktiviert sind, reduzieren Sie die Anzahl der Iterationen für optimierte Parameter (z Anzahl der Vorwärtsschritte auf Kosten der zunehmenden Vorwärtsschrittgröße in der gleichen Anzahl von Malen) versuchen, MT4-Speicher freizugeben, indem alles außer dem EA, das optimiert wird, entladen wird. (Beachten Sie, dass MT4 nach dem Entladen neu gestartet werden sollte, da es viele interne Objekte zwischenspeichert Und sie links im Speicher), ermöglichen genetischen Algorithmus in der Tester, fügen Sie phisical Speicher für Ihren PC. Q. Was sind das minimale benutzerdefinierte Fenster und benutzerdefinierte Schrittgrößen A. Seine empfohlen, um die benutzerdefinierte Fenstergröße ab 1 Monat und bis, letztlich - zwei Wochen. Der minimale benutzerdefinierte Schritt, sowie sein Inkrement (beide werden in Prozente in diesem Modus zugewiesen) sollten so gewählt werden, dass nach ihrer Übersetzung in die Zeitskala (berechnet als Bruchteil der Fenstergröße) mindestens ein ganzer Tag erreicht wird. Wenn die minimale Schrittgröße 10 ist, macht es keinen Sinn, die Fenstergröße kleiner als 10 Tage zu verwenden. Dies gilt auch für ihre Inkremente. Zum Beispiel kann man 10 Tage als das minimale Fenster und sein Inkrement wählen. Dann sollten Sie 10 als minimalen Schritt und sein Inkrement verwenden, um Bruchteile von Tagen zu vermeiden. Wenn Sie die Schritte 5 und 5 benötigen, dann sollte die minimale Fenstergröße und ihr Inkrement 20 Tage betragen. Q. Ich glaube, ich habe einen Fehler gefunden. Was soll ich tun? Zeigen Sie mir Ihre Einstellungen für den Tester und für EA. Beschreiben Sie, was Sie erreichen wollen und was Sie bekommen. Senden Sie mir generierte Dateien, wenn überhaupt. Wenn es eine Bibliothek Problem, senden Sie mir die Tester-Protokolle mit Fehlern. Wenn seine ein Reporter Problem, senden Sie mir Protokolle von der Registerkarte Experten. Auf den FAQ-Fragen 4 würden Sie den Ausdruck min (max (50 - DDREL, 0), 1) als Multiplikator der Hauptleistungsschätzungsformel ausschließen. Frage bitte, wie man Gewinnfaktor weniger als 1,2 ausschließen Ich habe versucht, die Formel zu modifizieren, um Gewinnfaktor lt 1,2 auszuschließen, aber Entschuldigungen noch kein Glück noch. Versuchen Sie dies beispielsweise: min (max (PF - 1,2, 0), 1).

Comments