Erfahrungen zum Backtesten im MT5

 

Hallo,

zuerst:  Das Programmieren mit MT5 macht nach nun über vier Jahren immer noch Spaß.

Der Spaß wird allerdings etwas getrübt durch "Imponderabilien", die sich meinem Einfluß entziehen. Das hätte ich SO nicht eingeschätzt.
Bis gestern habe ich angenommen, dass die Funktion des "Schiebereglers" für die Ausführungsgeschwindigkeit des Programms beim Backtest nur die Ausgabegeschwindigkeit begrenzt.
Es hatte mich allerdings schon Jahre gestört, dass ich bei jedem Backtest ein anderes Ergebnis für meinen Experten erzielte, konnte mir das auch nicht erklären.

Eigentlich habe ich EDV in meinen 35 Jahren Programmiererfahrung anders erlebt, nämlich exakte Wiederholung von Programmabläufen und Ergebnissen, wenn man wiederholt startet.
Nicht so beim Backtest MT5.
Kurz:  Ich weiß jetzt woran es lag und liegt.

Wenn man den Schieberegler fürs Tempo betätigt, lässt man in Richtung "schnell" immer mehr (reale) Ticks aus.
Das Verhältnis stellt sich bei meinem Experten als etwa 4:1 dar.
So zähle ich im langsamen Fall um 2000 Ticks Dax zwischen 8:15 Uhr und 9:00 Uhr, stelle ich den Schieberegler auf Anschlag, dann bleiben 500 ! übrig.
Ich handele z.B. nur, wenn mehr als 30 Ticks pro Minute kommen. Das kann ich in der schnellsten Wiedergabe ganz vergessen.

Dass dann unterschiedliche TradingErgebnisse zustandekommen, wenn man auf bestimmte Indikatoren (hartcodiert im Experten) wartet, ist damit klar.
Ich starte einmal für eine Stunde Dax:  -10 Euro.
Dann nochmal:  200 Euro plus.   Ohne das Programm anzufassen!

Es ist leider so, dass ich bei jedem Lauf, wenn ich den Schieberegler nur schief ansehe, andere Ergebniss sehe.
Das nächste unterschiedliche Ergebnis habe ich, wenn ich auf Grafikausgabe verzichte.

Ich denke, jeder von uns wäre schon zufrieden, wenn er dauerhaften Tradingerfolg (ruhig erst mal gering) mit einem Roboter erzielen kann, aber genau DAS kann man mit dem Backtest MT5 nur ahnen, aber nicht beweisen.
Seht ihr das auch so?

 

"Wenn man den Schieberegler fürs Tempo betätigt, lässt man in Richtung "schnell" immer mehr (reale) Ticks aus."

Ich (MT5 build 2404 MQ-Demo-Konto)  sehe und kenne keinen Schieberegler der Geschwindigkeit sondern nur ein Dropdown-Menü:


Wenn ich OHCL verwende habe ich immer gleiche Resultate. Ich benutze das, um EA-Varianten gegeneinander zu testen.

Jeder Tick oder anhand realer Ticks verwende ich aktuell nicht, weil bei einer Optimierung auf mehreren CPUs die insgesamt geladene Dateimenge mein RAM (&$GB) überschreitet und das System heftig anfängt zu Swappen - und viel Zeit verliert.

 
Carl Schreiber:

"Wenn man den Schieberegler fürs Tempo betätigt, lässt man in Richtung "schnell" immer mehr (reale) Ticks aus."

Ich (MT5 build 2404 MQ-Demo-Konto)  sehe und kenne keinen Schieberegler der Geschwindigkeit sondern nur ein Dropdown-Menü:


Wenn ich OHCL verwende habe ich immer gleiche Resultate. Ich benutze das, um EA-Varianten gegeneinander zu testen.

Jeder Tick oder anhand realer Ticks verwende ich aktuell nicht, weil bei einer Optimierung auf mehreren CPUs die insgesamt geladene Dateimenge mein RAM (&$GB) überschreitet und das System heftig anfängt zu Swappen - und viel Zeit verliert.

Hallo Carl,
Ich meine den blauen unter Hilfe..  

und weils so schön geklappt hat, mal der ganze Screen meines Assistenten im online-modus
 
Das betrifft doch nur den visuellen Test und den Debugger. Das würde ich niemals als Maßstab nehmen, das Ziele der beiden liegt woanders! Ich verwende es nur, um visuell einen EA zu überprüfen und seine möglichen 'Fehlentscheidungen' und mögliche 'verpasste Gelegenheiten' aufzuspüren.
 
Carl Schreiber:

"Wenn man den Schieberegler fürs Tempo betätigt, lässt man in Richtung "schnell" immer mehr (reale) Ticks aus."

Ich (MT5 build 2404 MQ-Demo-Konto)  sehe und kenne keinen Schieberegler der Geschwindigkeit sondern nur ein Dropdown-Menü:


Wenn ich OHCL verwende habe ich immer gleiche Resultate. Ich benutze das, um EA-Varianten gegeneinander zu testen.

Jeder Tick oder anhand realer Ticks verwende ich aktuell nicht, weil bei einer Optimierung auf mehreren CPUs die insgesamt geladene Dateimenge mein RAM (&$GB) überschreitet und das System heftig anfängt zu Swappen - und viel Zeit verliert.

Wenn ich "Jeder Tick"  verwende, kriege ich das Modell, nach dem "Jeder Tick" modelliert wurde, nicht aus dem Kopf. Ich benutze es selber (und etwas realistischer), um in eine alte M1-Kerze einen Sekundenverlauf zu simulieren.
Ich habe es als Backtestbasis als unrealistisch verworfen.
Am Anfang der Programmiererei hatte ich einen kleinen Assistenten, der aus dem supersimplen Verlauf der Tick-Simulation auf Anhieb tausende Euros generieren konnte (weil der Kurs linear von open nach close marschiert).
Leider funktionierte es nicht in Echt.
Als ich das Ding super laufend stehen hatte, kam dann von Metaquotes der Zugriff auf reale Ticks. AUS die Maus.

Wenn man als Scalper verdienen möchte, haut einen die Volatilität von realen Ticks sofort aus den Socken.
Spätestens wenn man "in Echtgeld" regelmäßig als Skalper verdient, wird einem vom Broker ein Spike serviert, der dein SL holt, egal wie weit weg (CFDs).
Ist mir letztens erst passiert.
Habe mein SL auf 003 platziert, der Dax-Kurs kam in Frankfurt und der Welt nur bis 98,5 und drehte dann (wie von mir erwartet). Auch Futures liefen nur unwesentlich anders.
Aber mein Broker sah einen Spike bis 003 oder murmelte etwas von "da kam der Spread hinzu" .. und kassierte meine paar Euros.
Das war meine letzte Echtgeldaktion- und die Initiative, die mich nun ausgiebig backtesten lässt und die mehr Ticks bringen soll, damit ich ein weites SL verkrafte.

 

Bei kurzfristigem Handel (Scalping) würde ich knicht Ticks verwenden sondern nur reale Ticks.

Drück mal im Terminal F1 und gib unter Suchen ein: Jeder Tick.

Und dann geh auf Reale und generierte Ticks.

Dort siehst Du das (alte) Verfahren wie ehedem die Ticks erzeugt wurden => da nehme ich lieber OHLC (oder reale Ticks)

Wegen Brokers (eine Diskussion ist hier verboten) such Dir einmal mit Googl Seiten, die Broker vergleichen und bewerten!
Die Grundlagen für Tests in MetaTrader 5
Die Grundlagen für Tests in MetaTrader 5
  • www.mql5.com
Die Vorstellung des automatischen Handels ist sehr reizvoll, da ein Handels-Roboter ununterbrochen arbeiten kann - 24 Stunden pro Tag und 7 Tage die Woche. Ein Roboter wird niemals müde, unsicher oder verschreckt, da er psychologische Probleme schlicht weg nicht kennt. Ihm genügt es, wenn die Handelsregeln ausreichend formalisiert und in...
 
Carl Schreiber:
Das betrifft doch nur den visuellen Test und den Debugger. Das würde ich niemals als Maßstab nehmen, das Ziele der beiden liegt woanders! Ich verwende es nur, um visuell einen EA zu überprüfen und seine möglichen 'Fehlentscheidungen' und mögliche 'verpasste Gelegenheiten' aufzuspüren.

Du hast da eindeutig mehr Erfahrung.
Ich gucke mir hier die Aktionen an, und sehe, wie sich das Verhalten bei Programmänderungen ändert. Aber wenn dieses Verhalten nicht wiederholbar ist, nützt mir auch das angucken wenig, weil: mal stimmts, mal nicht..
Ich werde mal Deinen Ratschlag befolgen und mir die Sache mit OHLC und in der Regel ohne Visionalisierung anschauen.