MT5-Tester (MT5 build 2560) berechnet die Tradelaufzeit falsch

 

Ich bin zufällig drauf gestoßen, als ich die Laufzeit jedes Trades eines Backtests analysieren wollte. Nebenbei gesagt, habe ich für Non-FIFO, also LIFO ("Last In First Out") noch keine Lösung gefunden, das mit Calc/Excel hinzubekommen. Wenn der EA aber grundsätzlich nur einen Trade zulässt, ist es ja einfach, da sich dann ein "Out" immer auf das "In" zuvor bezieht und es sich somit immer abwechselt.

Dabei fand ich dann heraus, dass mindestens die maximale Laufzeit im Bericht immer falsch ist. Selbst wenn man einen Test mit sehr kuzer Laufzeit macht, in welchem es nur drei Trades gleicher Richtung gibt und der EA nur jeweils einen je Richtung zulässt. Demnach kann es nur ein Bug sein. Im folgenden Screenshot stehen in der ersten Zeile die Originalwerte des geladenen Berichts. Die Minimale Laufzeit stimmt auf die Sekunde überein, aber die maximale ist total falsch.

Dateien:
 
Wenn es ein Bug ist, ist er so nicht nachvollziehbar: aufgrund welcher Werte kommt es zu den wie berechneten Werten in der Tabelle.
 

Und was ist eine maximale Laufzeit ?

Raus-rein ist immer eine Zeit.

Oder meinst eine Order die dann gelöscht wird.


Poste ein Log vom MT5 ....dann klärt sich das.

 

Die Tradelaufzeit ist (zumindest für mich) die Zeit, in der ein Trade tatsächlich geöffnet ist, also die Equity verändert. Pending-Laufzeiten zählen nicht, wobei der getestete EA generell keine Pending Orders nutzt.

Im Screenshot ist die Laufzeit die jeweilige Differenz der zugehörigen Datumswerte aus "In" (open) und "out" (close). In Spalte N: A18-A17, A20-A19, A22-A21. Die minimale Laufzeit zeigt er auch korrekt an, während die maximale viel zu kurz und nicht mal annähernd nachvollziehbar ist.

Hier das Log (den Namen des EAs habe ich durch "EA" ersetzen lassen). Weshalb der erste "Deal" immer mit #2 bezeichnet ist, ist mir ein Rätsel. Davor sind nur Angaben zur Tickhistorie und die Settings des EA. Ein #1 gibt es nicht.

Dateien:
Backtest.Log  8 kb
 

Deal #1 ist im Tester immer das Auffüllen des Kontos.

 
Christian:

Deal #1 ist im Tester immer das Auffüllen des Kontos.

Natürlich. Danke! Manchmal steht man eben wirklich auf dem Schlauch.
 

So du sagst die Angabe im Tester-Bericht (Den wir noch nicht gesehen haben) steht das der längste Trade (Maximale Dauer) falsch ist.

Korrekt ?


Dann musst du den Bericht zeigen und das gesammte LOG oder die DEALS zeigen.

Möglich das der MT5 das Wochenende nicht mitzählt als Dauer. Sondern das Session Ende Freitag  - Session Anfang Sonntag ein Zeitpunkt ist.
 
Christian:

So du sagst die Angabe im Tester-Bericht (Den wir noch nicht gesehen haben) steht das der längste Trade (Maximale Dauer) falsch ist.

Korrekt ?


Dann musst du den Bericht zeigen und das gesammte LOG oder die DEALS zeigen.

Möglich das der MT5 das Wochenende nicht mitzählt als Dauer. Sondern das Session Ende Freitag  - Session Anfang Sonntag ein Zeitpunkt ist.

Weshalb muss ich den Bericht zeigen? Dein Beitrag klingt irgendwie so, als würdest Du mir Manipulation oder Unterschlagung von Daten unterstellen.

Die Deals stehen im obigen Backtest-Log und die maximale Laufzeit, die der Bericht anzeigt, steht oben im Screenshot. Ich hatte den HTML-Bericht mit Calc geöffnet und deshalb ist die erste Zeile im Screenshot die Originalzeile des Berichts. Ich habe lediglich die irrelevanten Zeilen über der mit der Laufzeit gelöscht und die Zellen der verblieben Zeilen neu formatiert (über "Daten" > "Text in Spalten" und dann noch mal über die Formatierung), sodass sie das deutsche Format und ein ausführlicheres Datum zeigen, und Formeln in den Zellen der Spalten N und O hinzugefügt. Es würde mit dem Bericht absolut keine weiteren Daten geben, die der Klärung dienen könnten.

Du hast mit Deiner Vermutung allerdings recht, dass der Tester leider die Wochenenden bei der Zählung nicht beachtet/mitzählt. Für mich ist aber die gesamte Laufzeit zwischen dem Open- und dem Close-Datum relevant. Aus meinem ersten Screenshot alleine kann man auf die maximale Laufzeit kommen, welche der Tester ausgibt (erste Zeile des Screenshots), wenn man die Laufzeitdaten des zweiten Trades bis zum und ab nach dem Wochenende splittet. Die Summe ergibt sekundengenau die maximale Laufzeit aus dem Bericht (erste Zeile des Screenshots).

 
signalfollower:

Weshalb muss ich den Bericht zeigen?

Musst du natürlich nicht, aber die Erfahrung zeigt: Das Problem ist mit hoher Wahrscheinlichkeit 0,5 Meter davor  😀

Spaß bei Seite. Ist der schnellste Weg


Dein Beitrag klingt irgendwie so, als würdest Du mir Manipulation oder Unterschlagung von Daten unterstellen.

Nein, war nie meine Absicht. Entschuldige die Wortwahl

Aber, manipuliert hast du die Daten des Berichts. Dein Excel Sheet addiert das Wochenende dazu 😉



Du hast mit Deiner Vermutung allerdings recht, dass der Tester leider die Wochenenden bei der Zählung nicht beachtet/mitzählt.

Na schau, ganz einfach.


Gruß

 
Christian:

Musst du natürlich nicht, aber die Erfahrung zeigt: Das Problem ist mit hoher Wahrscheinlichkeit 0,5 Meter davor  😀

Das Argument ist in der Tat nicht von der Hand zu weisen. ;-)