Backtesting/Optimierung - Seite 28

 

Stellen Sie sich vor, jeden Tag um 00.00 Uhr die ea (während seiner normalenjob) starten Sie eine Optimierung (mit genetischen Algorithmen) für eine x Menge von Daten (1 Monat, 2Monate, 1 Jahr, 1 Tag), und am Ende der Optimierung es überprüfen Sie die Ergebnisse, und wählen Sie die Werte, die die besten Ergebnisse (hoher Gewinn, niedrige Drawdown), und ändern Sie seinen Wert mit den neuen, ohne seine Arbeit zu stoppen!

Es kann manuell gemacht werden, aber wenn es automatisch gemacht werden kann, kann es auch besser sein, oder?

 

Meine Erfahrungen

Angenommen, Sie haben eine Zeckenqualität von 90 % und sind kein Anfänger,

1. Tester ist eine große Waffe. Es funktioniert, wenn Sie wissen, wie man zu verwenden. Andernfalls verbringen Sie von Ihrem Leben für EA-Tests, mindestens 2-3 Jahre müssen Sie auf Live-Daten zu warten.

2. Tester ist nicht geeignet für Multi-Timeframe und Multi-Currency-System. Wenn Ihr System komplexe Punkte erzwingt, fragen Sie die Hersteller.

3. Es gibt keinen wertvollen Experten im Netz. Das ist also nicht das Problem des Testers. Aber die Leute sagen, dass Tester schlecht sind. Nein, wir sind schlecht.

4. Die Wellen des Devisenmarktes ändern sich von Jahr zu Jahr. Wenn ein System in einem Jahr funktioniert, kann es im nächsten Jahr versagen. Ein Experte muss also viele Jahre lang geschult werden.

5. Der einzige verlässliche Trend ist der (monatliche) und sogar der (5-Jahres-) Trend auf diesem Markt. Aber diese Trends sind nicht für eine hohe Hebelwirkung geeignet. Dies verringert unsere Chancen für EA's mit hohem Hebel.

Danke

Cengiz

 

die kleinen Details beim maschinellen Lernen

w4rn1ng:
Stellen Sie sich vor, jeden Tag um 00.00 Uhr startet das Ea (während seiner normalen Arbeit) eine Optimierung (mit genetischen Algorithmen) für eine x-fache Menge an Daten (1 Monat, 2 Monate, 1 Jahr, 1 Tag), und am Ende der Optimierung überprüft es die Ergebnisse und wählt die Werte aus, die die besten Ergebnisse lieferten (hoher Gewinn, niedriger Drawdown), und ändert seinen Wert mit den neuen, ohne seine Arbeit zu stoppen! Es kann manuell gemacht werden, aber wenn es automatisch gemacht werden kann, kann es auch besser sein, oder?

alles, was man genau beschreiben kann, kann man auch programmieren. Vielleicht ist mq4 nicht das am besten geeignete Tool dafür, aber es ist machbar.

Ein praktisches Detail: Abhängig von Ihrem EA/Ihren Indikatoren/Ihrem Optimierungsintervall können automatische Optimierungen sehr viel Zeit fressen. Ich meine: um die Parameter für den nächsten Tag neu zu optimieren, brauchen Sie nicht 5 Minuten, sondern 5 Tage :-(.

Fragen:

1.) Haben Sie Ihre Idee von Hand getestet? War es ein Erfolg?

2.) Warum 2 Monate Re-Optimierungsintervall ? Warum nicht 1,5 oder 2,5 ?

3.) Was genau bedeutet "bestes Ergebnis"? Bevorzugen Sie 1000$ Gewinn nach 500$ Drawdown, oder besser 600$ Gewinn mit 100$ Drawdown ? Bevorzugen Sie ein System, das 2000 $ gemacht hat (erste Woche bis 2200, die nächsten 7 Wochen runter auf 2000), ODER bevorzugen Sie ein anderes System, das jede Woche 100..200 $ gemacht hat (insgesamt 1300$) ?

 

Ich denke, es ist am besten, von Hand zu optimieren und die besten Parameter für 2006 zu finden und sie dann für 2007 zu testen. Wenn beide ähnliche Ergebnisse zeigen, prüfe ich den Zeitraum 2004-2007. Wenn das gut läuft, behalte ich diese Parameter bei.

Wenn man jeden Monat optimiert, kann der EA nicht mehr normal handeln - das habe ich bereits überprüft. Das beste Optimierungsergebnis wurde bei einer jährlichen Optimierung erzielt.

Sie können auch für die Marktbedingungen optimieren. Für Trendphasen sollte ein Satz von Parametern verwendet werden, für Phasen mit schwachem Markt oder Nebenmarkt ein anderer Satz. Aber wer kann schon sagen, welche Periode es jetzt ist?

Eine tägliche Neuoptimierung führt zu einem schlechten Ergebnis.

Oh, und über die Daten, die den EA schlecht funktionieren lassen - keine Sorge. Ich hatte das gleiche Ergebnis, als ich EUR/USD-Daten auf GBP/USD-Daten hochgeladen habe. Das Ergebnis waren gemischte Notierungen. Wenn Sie die Kurse löschen und MT4 im Offline-Modus neu starten und dann nur einen Satz von Kursen (die richtigen) hochladen, sollte es gut funktionieren.

Auch um zu überprüfen, ob die Modellierung in Ordnung ist, habe ich einige separate Kopien von MTs, und ich prüfe EAs auf verschiedenen MTs von verschiedenen Brokern. Die Ergebnisse sind etwas unterschiedlich, aber nichts Besonderes (hilft, Probleme zu erkennen).

 
autopips:
alles was genau beschrieben werden kann, kann auch programmiert werden. Vielleicht ist mq4 nicht das am besten geeignete Tool dafür, aber es ist machbar.

Ein praktisches Detail: Abhängig von Ihrem EA/Ihren Indikatoren/Ihrem Optimierungsintervall können automatische Optimierungen sehr viel Zeit in Anspruch nehmen. Ich meine: um die Parameter für den nächsten Tag neu zu optimieren, brauchen Sie nicht 5 Minuten, sondern 5 Tage :-(.

Fragen:

1.) Haben Sie Ihre Idee von Hand getestet? War es ein Erfolg?

2.) Warum 2 Monate Re-Optimierungsintervall ? Warum nicht 1.5 oder 2.5 ?

3.) Was genau bedeutet "bestes Ergebnis"? Bevorzugen Sie 1000$ Gewinn nach 500$ Drawdown, oder besser 600$ Gewinn mit 100$ Drawdown? Bevorzugen Sie ein System, das 2000 $ gemacht hat (erste Woche bis 2200, die nächsten 7 Wochen runter auf 2000), ODER bevorzugen Sie ein anderes System, das 100..200 $ jede Woche gemacht hat (insgesamt 1300$) ?

Ja, wahrscheinlich ist es notwendig, ein neues Programm zu programmieren, um mt4 bei diesem Prozess zu unterstützen, trotzdem stimme ich zu, dass es machbar ist! Die Idee ist nicht schlecht, aber wie Sie wissen, der Markt ändert sich ständig, so dass ein guter Weg, um eine EA immer im Spiel ist, um neu zu optimieren jeden Tag, und hier kommen die Notwendigkeit einer automatischen Prozess. Meine EA machen eine Operation alle 4 Stunden (oder alle 8 oder 12 oder 16..usw..), zu Beginn der 4hcandle es schauen, ob es der Fall ist, um den Markt zu betreten oder zu verlassen, und sobald es nahm oder verließ die Position es weitere 4 Stunden oder mehr warten, so dass wir nicht brauchen eine tickbytick 90% modeiling Qualität, die Optimierung (das eine, die 1Tage CPU-Arbeit erfordern kann) erfordern 5-10Minuten und nicht mehr (und die Ergebnisse sind die gleichen wie 90% mod Qualität oder forwardtest), meine Idee ist, lassen Sie die EA überoptimiert werden jeden Tag, eine gute Möglichkeit kann sein, lassen Sie die EA überprüfen, bei der 00.00 (zum Beispiel) eine xml-Datei auf einem Remote-Server (mein Büro-Server) und laden Sie die Einstellungen aus dieser Datei (wie die News-Indikator), natürlich in der anderen Seite (der Server, der die xml an den EA geben wird) wird es mir, dass die Optimierung Tag jeden Tag, oder es kann ein anderes Programm, das in Verbindung mit mt4 optimieren und die Ergebnisse in der xml-Datei völlig automatisch!

 
mcbalta:

4. Die Wellen des Devisenmarktes ändern sich von Jahr zu Jahr. Wenn ein System in einem Jahr funktioniert, kann es im nächsten Jahr versagen. Also, ein Experte muss für viele Jahre ausgebildet werden.

Genau, Sie haben Recht, ich denke, sie ändern sich auch von Monat zu Monat (vielleicht gibt es einen Monat mit geringer Volatilität und starkem Abwärtstrend, der nächste Monat ist ein total unruhiger Markt mit hoher Volatilität, usw.). ein EA, der auf den Vormonat optimiert ist, wird im nächsten Monat eine trendfolgende Mentalität haben und im unruhigen Monat viel Geld verschwenden), aber wenn man sich das ansieht, ist der "Wechsel" von einer Marktbedingung zur anderen nicht etwas, das in einer Minute passiert, ja, der Markt ändert sich ständig, aber er ändert sich langsam, Derjenige Händler, der gut ist und bemerkt, dass die Trendphase endet und die Abwärtsphase beginnt (das kann einen Monat oder eine Woche oder ein Jahr dauern, kein Unterschied), wird seine Strategie ändern und Gewinne erzielen, der andere Händler, der die Veränderung nicht versteht und weiterhin in einer Trendfolge-Mentalität handelt (nur in diesem Beispiel), wird viel Geld verlieren und am Ende des Monats auf den Chart schauen und sagen: "Nun, der Markt hat den ganzen Monat gechoppt, im letzten Monat war er in einem Abwärtstrend ohne Choppy... jetzt sehe ich klar, ich habe den Choppy-Monat gehandelt, als ob es ein Trendmonat gewesen wäre! wie dumm ich doch bin!".

Wenn wir das ea Tag für Tag optimieren, wird das ea Tag für Tag seine Handelsstrategie verstehen und ändern, von Trend zu Choppy, und es wird auch im ersten und im zweiten Monat Gewinn machen! (vorausgesetzt, Sie haben ein gutes Ea, das sowohl für den Handel mit trendigen als auch mit abgehackten Märkten geeignet ist [natürlich mit unterschiedlichen Einstellungen]).

Das ist es, was ich meine, der Markt verändert sich ständig, es ist ein dynamischer Markt, die EAs versagen, weil sie nicht dynamisch sind. Aber was, wenn ein EA dynamisch wird?

 

Hilfe beim Zusammenführen von Tickdaten

Hallo!

Ich bin auf der Suche nach Delphi (oder Java, oder C#) Entwicklern, die mir beim Zusammenführen von gesammelten Tickdaten helfen. Ich habe mehrere Computer mit verschiedenen Internet-Providern, die jeden Tick von 2 Brokern aufzeichnen. Ich möchte all diese Ticks, die von den verschiedenen Computern gesammelt wurden, in 2 Datenbanken (für jeden der 2 Broker) zusammenführen. Der/die Entwickler, der/die mir helfen möchte(n), wird/werden Zugang zu allen Tick-Daten haben, die ich bis jetzt gesammelt habe - ab dem 1. Januar 2007. Bitte senden Sie mir eine PM oder schreiben Sie mir eine E-Mail: hiller159 [at] yahoo [dot] com

 

Dankeschön

FX_Babe

holyguy7:
Schritt für Schritt, wie man bessere Backtesting-Ergebnisse erzielt

1. Laden Sie die MT4-Daten für das Währungspaar, das Sie backtesten möchten, HIER herunter. Stellen Sie sicher, dass Sie die M1-Daten herunterladen. Damit sollten Sie Daten für jede Minute bis ins Jahr 2004 zurück erhalten (ca. 1,5 Jahre an Backdata).

2. Nachdem Sie die Daten auf Ihrer Festplatte entpackt haben, müssen Sie die Daten in Metatrader 4 importieren.

3. Öffnen Sie Metatrader 4 (Starten Sie das Programm)

4. Gehen Sie in Metatrader 4 zu Ihrem History Center. Drücken Sie F2 auf Ihrer Tastatur. Oder klicken Sie oben auf Metatrader: Tools und wählen Sie History Center

5. Öffnen Sie Forex, öffnen Sie das zu importierende Währungspaar und öffnen Sie M1

6. Klicken Sie auf Importieren und suchen Sie den Ort, an dem Sie die Daten für das Währungspaar entpackt haben.

7. Stellen Sie sicher, dass der Dateityp auf Metaquotes-Dateien eingestellt ist. Klicken Sie auf Öffnen und OK. Schließen Sie dann.

8. Öffnen Sie nun im Navigator-Fenster auf der linken Seite Ihres Metatrader 4-Programms den Punkt Scripts. Es sollte sich direkt unter Custom Indicators befinden.

9. Öffnen Sie den Chart offline, indem Sie auf File- Openoffline - SELECT gehen und das Paar auf dem Zeitrahmen M1 öffnen.

10. Sie sollten den M1 Chart (offline) des Währungspaares geöffnet haben. Doppelklicken Sie auf das Skript Period Converter.

10. Klicken Sie auf die Registerkarte Input und Sie sollten den Wert 3 sehen. Sie müssen den Wert auf 5 (M5), 15 (M15), 30 (M30), 60 (H1), 240 (H4), 1440 (D1) ändern.

11. Klicken Sie nun auf Werkzeuge - Optionen - Registerkarte Charts und ändern Sie die Max Bars in History und Max Bars in Chart auf 999999999999 und klicken Sie auf OK.

Im Grunde konvertieren Sie die importierten M1-Daten in die verschiedenen Zeitrahmen, die Sie testen möchten. Sie können einen nach dem anderen wählen, um alle zu testen.

Ich beginne in der Regel mit der Auswahl von 5 und klicke dann auf OK. Dann doppelklicke ich erneut auf den Periodenkonverter, ändere den Wert auf 15 und klicke auf OK. Dann klicke ich erneut auf den Periodenkonverter, ändere den Wert auf 30 und klicke auf OK, bis ich alle Zeitrahmen durchlaufen habe.

HINWEIS: Sie erhalten eine Warnung: "Wollen Sie wirklich 'period_converter' stoppen und 'period_converter' auf dem Chart M1 ausführen?

Klicken Sie einfach auf JA und doppelklicken Sie dann erneut auf den period_converter, um die Konvertierung der M1-Daten in alle Zeitrahmen fortzusetzen.

Ich habe dies mit allen Währungspaaren getan, die ich auf allen Zeitrahmen herunterladen kann. Es ist gut, dies zu haben, da es Ihnen eine Idee gibt, ob etwas funktionieren wird oder nicht.

Ich hoffe, das hilft.
 
w4rn1ng:
Hallo, hier ist, was ich tun möchte:

Ich möchte meinen EA sich selbst optimieren lassen (eine Optimierung der letzten 2 Monate), und er soll seine Variablen automatisch ändern, wenn er während der Optimierung bessere Variablen gefunden hat (er wird 24h/24, den ganzen Tag, alle Tage optimieren).

Denken Sie, es ist möglich, so etwas zu codieren? vielleicht ein Skript oder etwas, das ich nicht weiß, was denken Sie?

Hier ist ein Link zu einem russischen Artikel, der die Auto-Optimierung von EAs diskutiert.

Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4

und ist ein Link zu einer Website zur Übersetzung ins Englische.

AltaVista - Babel Fish Übersetzung

Wackena

 
Wackena:
Hier ist ein Link zu einem russischen Artikel, der die Auto-Optimierung von EAs diskutiert.

Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4

und ist ein Link zu einer Website zur Übersetzung ins Englische.

AltaVista - Babel Fish Übersetzung

Wackena

Hallo, danke für deine Antwort, ja ich habe es schon vor einigen Wochen gefunden, trotzdem danke für deine Hilfe, das ist eine sehr gute Sache!