Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MT4 Backtest - Historische Daten

Geschrieben

Hi Leute,

vielleicht kennt ihr das Problem beim MT4 Backtesting ja auch: ihr macht X Durchläufe und habt dann X Ergebnisse mit teilweise gravierenden Abweichungen! :plorar1:

Selbst, wenn die die historischen Daten nicht korrekt sind, darf das einfach nicht sein und erschwert das Backtesting ungemein.

Grund ist ihmo der Test Generator, der mal mehr oder weniger Probleme mit der History hat, siehe Fehlermeldung "TestGenerator: unmatched data error ..." :deng:

 

Denke ich habe eine Lösung für dieses Problem gefunden ... manchmal lohnt sich nämlich doch eine Googlenight a la Vola!

Es geht um diese Anleitung , die mir ungemein weitergeholfen hat. (War nämlich soweit das Kapitel MT4 ad acta zu legen).

 

Wichtig ist, dass ihr wie beschrieben erstmal alle "*.hst" Dateien löscht, im Programmbereich wie auch im AppData Bereich.

Danach weiter wie beschrieben, sollte eigentlich gut klappen, weil sogar ich habe es hingekriegt. :rolleyes:

Ist alles ein wenig tricky (wenn´s Probleme gibt: fragen), aber ihmo lohnt sich der Aufwand.

 

Habe jetzt viele Backtests gemacht und die Ergebnisse sind weitgehend identisch.

Es gibt hin und wieder kleinere Abweichungen, wenn der Test Generator mal wieder zickt, aber die sind wirklich minimal und im Vergleich zu vorher Peanuts.

Hoffe, das hilft euch auch weiter und wer eine noch bessere Datenquelle als in der Anleitung hat: immer her damit! :wub:

 

Viel Erfolg! :chocala:

Featured Replies

Geschrieben

Wir hatten hier auch schon mal einen Thread der sich diesem Problem gewidmet hat,

es existiert glaube ich sogar ein Tutorial von Henrik dazu.

Geschrieben
  • Autor

Genau, es ist wie Henrik in dem Thread beschreibt: beim Backtest wird der Livespread verwendet.

Warum das MT so macht ist mir ein Rätsel, denn was hat der Livespread im Backtest zu suchen?

Es würde reichen den per Parameter einstellbar zu machen, aber gut so isses halt.

Hab einige Tests gemacht und es verhält sich so: beim Start des Backtests wird der Livespread von MT genommen und bleibt dann über den gesamten Backtest konstant. Bei mehreren Durchläufen kann er jedoch dadurch verschieden sein, weil ja beim Start des nächsten Durchlauf ein anderer Livespread auftreten kann.

Dies kann man umgehen, indem man wartet bis im Livechart ein sympathischer Spread auftaucht (Spreadanzeige hilft dabei ungemein :wink2: ), dann verbindet man sich neu mit einer ungültigen Kontonummer, dadurch wird die Verbindung gekappt und man ist (und bleibt) offline.

Dieses Verfahren hat den Vorteil, dass man nicht die gesamte Internetverbindung kappen muss und kann zb. weiter bei TN lesen usw. :wub:

 

Dennoch fahre ich mit den alternativen historischen Daten besser, weil z.B. der Backtest schneller lädt.

Bin auch immer noch der Meinung, dass abweichende Ergebnisse nicht nur am Spread liegen, sondern dass es auch mit dem Aufbereiten der Kursdaten zu tun hat.

 

 

Geschrieben

Man kann auch, wenn der passende Spread da ist, die passende Datei im MT4-Ordner sichern. Ich muss lügen, ich glaube es war die symbol.sel.

Diese Datei speichert man sich extra ab. So kann man mehrere Ordner anlegen (zB EURUSD-Spread-1.2). Und wenn man backtesten will, kopiert man einfach diese Datei in den MT4-Ordner (man muss dabei aber disconnectet bleiben).

So kann man auch am WE mit beliebigen Spread arbeiten und die Strategie auch mit mehreren (vorher gespeicherten) Spreads testen.

Geschrieben

Es geht um diese Anleitung , die mir ungemein weitergeholfen hat.

Das haut mich ja jetzt echt um.

 

Ich war heute genau auf der gleichen Seite, die in deiner Anleitung als Datendownload empfohlen wird, und hab mir da die EURUSD-Daten runtergeladen.

Hab dann den Anfang der Daten angeschaut und gleich wieder gelöscht, da für das erste Datum nur ca. 50 Zeilen eingetragen waren. Dachte also, das sind M30-Daten.

Jetzt, wo du das geschrieben hast, hab ich mir das nochmal genauer angeschaut und gesehen, dass der erste Tag ja dort erst um 23:01 Uhr anfängt.

Die Daten sind also tatsächlich M1.

 

Ist wirklich was Wert, dieser Link. M1-Daten, die soweit zurückgehen (2005) und lückenlos sind, findet man sonst nirgends . :doubleup:

 

Ob man das mit dem Perioden-Converter allerdings braucht... ich weiß nicht

 

Aber nochmal, VIELEN DANK FÜR DEN LINK :10points:

Geschrieben
Das haut mich ja jetzt echt um.

Hatten wir das vor kurzem nicht schon mal, das du auf der richtigen Seite warst, aber nicht zu ende gelesen hast ?

Ich bin da immer eiskalt, ziehe mir das von vorne bis hinten rein :laugh:

 

Wenn ich aufgebe dann erst nach der 8ten Seite (Fibonacci) des ursprünglichen Links..... :headbang:

Geschrieben

Hatten wir das vor kurzem nicht schon mal, das du auf der richtigen Seite warst, aber nicht zu ende gelesen hast ?

:spank:

Geschrieben
  • Autor

Hi Henrik,

 

wenn der letzte Spread in der Datei "Symbols.sel" gespeichert wird, dann geschieht dies nur beim Beenden des Metatraders.

So habe ich es zumindest gerade am Änderungsdatum beobachten können.

Und nur die Symbols.sel im "AppData" Bereich, an der im Metatrader Verzeichnis änderte sich nix.

Aber könnte so klappen, man wartet bis der gewünschte Spread auftaucht und dann schnell raus.

Die Datei in einen Ordner speichern usw.

Geschrieben

Ob man das mit dem Perioden-Converter allerdings braucht... ich weiß nicht

 

Darum gehts doch oder? Du nimmst die M1 History und erzeugst dir daraus alle höheren Timeframes wodurch die Timeframes "sicher" zusammenpassen und der Tester nit ständig schreit.

 

Wenn man nur M1 Daten verwendet ist natürlich alles wurscht. Da kann er sowieso nit tiefer rein also bleibt nur der Zufallsgenerator ;)

 

btw. weils grad so schön passt: Warnung vor der "Kontrollpunkte-variante" beim Backtest. Ich hab gerade einen EA getestet der nur am Open was macht, wodurch eigentlich die Open-Preis Variante völlig reichen sollte beim Backtest oder?

Auf jeden Fall hab ichs mal mit Kontrollpunkte gerechnet und war über den Unterschied verwirrt. Bei genauerem Hinsehen fällt auf, das die Kontrollpunkte nicht immer am Open liegen. Sprich es passiert, das der erste Kontrollpunkt an dem das Start des EAs ausgeführt wird, schon ein paar Ticks im inneren des Bars liegt. Was irgendwie nit so toll ist, vor allem wenn der EA nur am ersten Tick (also eigentlich Open) was tum sollte.

 

Oder täusch ich mich? Aber es sollte doch "garantiert" sein, das am Open des Bars mindestens 1 Tick gekommen ist.

Geschrieben

Bin stärker :borg: :blackjack: :bn:

Ich meinte eigentlich Selbstgeißelung...

 

Aber wo wir schon mal beim Thema "Wogo und Konzentration" sind sei gleich auf den nächsten Fehler hingewiesen:

Ist wirklich was Wert, dieser Link. M1-Daten, die soweit zurückgehen (2005) und lückenlos sind, findet man sonst nirgends

Die Daten fangen nicht 2005 an, sondern bereits am 02.01.2001.

 

Glaub ich geh heute früh ins Bett, sonst mach ich noch irgenwas kaputt :doink:

Geschrieben

Darum gehts doch oder? Du nimmst die M1 History und erzeugst dir daraus alle höheren Timeframes wodurch die Timeframes "sicher" zusammenpassen und der Tester nit ständig schreit.

Wenn du alle History-Daten von einer Währung löscht und dann nur die M1-Daten importierst, dann rechnet doch das History-Center die M1-Daten schon in die höheren Timeframes um, oder? Was ist da der Vorteil des period-converters?

btw. weils grad so schön passt: Warnung vor der "Kontrollpunkte-variante" beim Backtest. ...

Oder täusch ich mich? Aber es sollte doch "garantiert" sein, das am Open des Bars mindestens 1 Tick gekommen ist.

Kann ich leider nix dazu sagen. Hab ich noch nie ausprobiert...

Geschrieben
  • Autor

Das haut mich ja jetzt echt um.

Freut mich besonders, dass ich ausgerechnet Dir noch was beibringen darf. :laugh:

Bei mir fangen die Daten im EURUSD allerdings 2001 an und nicht 2005, mußt Dich verguckt haben.

 

Ob man das mit dem Perioden-Converter allerdings braucht... ich weiß nicht

 

Glaub schon, dass es das braucht. Hab mal alle TFs konvertiert, ist ein wenig Arbeit, aber scheint sich zu lohnen.

Währenddessen wird der MT extrem langsam (hat ja auch gut zu tun), aber wenn einmal alles drin ist, läuft er wieder in gewohnter Geschwindigkeit.

Kannst ja mal testen, ob es auch ohne Konvertierung ordentlich werkelt. :ferrari:

Geschrieben

Wenn du alle History-Daten von einer Währung löscht und dann nur die M1-Daten importierst, dann rechnet doch das History-Center die M1-Daten schon in die höheren Timeframes um, oder? Was ist da der Vorteil des period-converters?

 

Also wenn du die M1Daten importierst sollte er noch nichts umrechnen. Wenn du dann versuchst die M5 Daten zu sehen, geht er her und läd die vom Broker runter die wiederum nicht mit deinen M1 Daten zusammenpassen müssen.

Das einzige wo das Historycenter bei mir bis jetzt umgerechnet hat, war wenn man M1 Daten hat, Historische M5 Daten downloaden will, es am Server aber nicht mehr gibt, dann fragt er ob er die History der kleineren umrechnen soll.

(War zumindest bisher bei mir so, aber MT ist ja teils leider nit so deterministisch...)

 

Was sehr wohl möglich ist, ist das der Tester selber sich bei Bedarf (also wenn Test auf M15 aber nur M1 Daten da) die Timeframes konvertiert, nur die Frage ob er das in der History speichert, weil sonst wärs sinnlos das jedesmal neu rechnen zu lassen.

 

Schön das du dich freiwillig meldest das gleich ausgiebig zu testen, ein ganz großes Danke im Namen der Community :tuerzu:

Geschrieben

Schön das du dich freiwillig meldest das gleich ausgiebig zu testen, ein ganz großes Danke im Namen der Community :tuerzu:

Ja, ja,

immer auf die alten und schwachen :grandpa: . Mit uns könnt ihr's ja machen :cray: .

 

Naja, ist ja gleich gemacht und das Resultat ist ziemlich eindeutig:

Warten.jpg

 

Im Detail.

Hab die M15-History gelöscht und einen EA auf TF M15 gestartet.

Das Ergebnis ist also:

Sind keine Kursdaten für den entsprechenden Zeitraum vorhanden, so generiert sich der Strategietester diese auch nicht aus einem vorhandene kleineren Zeitrahmen.

Komisch eigentlich, da er für die Generierung der Tickdaten ja genau diesen kleineren Zeitrahmen verwendet. :birdie:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.