Backtesting mit Tick-Daten - Seite 3

 

BTW - das Skript in Ihrer angehängten .rar-Datei. Ist das genau das gleiche wie das Skript, das Sie früher im Forum gepostet haben (ausschneiden und einfügen)?

 
mikey:

BTW - das Skript in Ihrer angehängten .rar-Datei. Ist das genau dasselbe wie das Skript, das Sie zuvor im Forum gepostet haben (ausschneiden und einfügen)?

Ja. Der Beitrag ist ein Cut-and-Paste aus der Datei...


Diesbezüglich:

Eine Sache allerdings - kein großes Drama - aber die letzte Zeile der Ausgabedatei ist so:

2004.02.23,08:34,,,,,1

Das Skript geht davon aus , dass am Ende der letzten Zeile die Datei endet. In Ihrem Fall hatte die Datei wahrscheinlich ein Zeilenumbruchzeichen am Ende der letzten Zeile, so dass die Schleife kein 'Ende der Datei' erkannte und mit der Verarbeitung der letzten Zeile fortfuhr, die eigentlich leer war... Es gibt viele Möglichkeiten, dieses Problem zu lösen, zum Beispiel können Sie eine Bedingung hinzufügen, dass die Variable 'sclose' vor dem Schreiben nicht leer ist:

if (sclose != "")     // make sure close price exists in last line processed
   FileWrite(trg_handle,output);
 

Danke, Kumpel. Eine kurze Frage re: die Swap-Kosten in der Strategie-Tester. Wird dies am Ende hinzugefügt oder wird es im Laufe des Prozesses eingefügt. Ich denke, es kann in hinzugefügt werden, wie wir gehen entlang: Ich habe bemerkt, dass für einige Trades: zum Beispiel, wenn der Take-Profit (TP) ist bei 100, wenn es schließt mit einem TP dann ein Gewinn von +100 ist nicht zurückgegeben, sondern ein TP von einem niedrigeren Betrag zB. +80. Könnte dies an den Swap-Kosten liegen, die diesem Handel hinzugefügt wurden (um die Tage zu berücksichtigen, an denen er über Nacht gehalten wurde - und natürlich haben wir mit dieser Methode mehr "Nächte" als wir sollten). (Die Swap-Kosten sind bei meinem Overnite-Geschäft nicht allzu hoch, da ich mit 0,1 Lots handle, aber aufgrund der vielen Nächte summieren sie sich).

Es läuft immer noch. Eine Sache, die ich sagen würde, ist, dass die Ergebnisse sind sehr verschieden von mit M1. Also, wenn dies in der Tat gültig ist - es war sicherlich wert zu tun. gibt mir viel mehr von einer Idee.

 
mikey:

Danke, Kumpel. Eine kurze Frage zu den Swap-Kosten im Strategie-Tester. Werden diese am Ende hinzugefügt oder werden sie im Laufe des Prozesses eingefügt. [...]

Es wird genauso hinzugefügt wie in einem Live/Demo-Konto. Aus 'Testen von Funktionen und Limits in MetaTrader 4':

Alle Swaps, Margin-Anforderungen, Fälligkeiten und GTC-Aufträge werden modelliert.

Beachten Sie, dass der Wert des Swaps von dem Konto genommen wird, mit dem Sie in dem Moment verbunden sind, in dem Sie im Tester auf "Start" drücken.

 

Eine neue Hürde. Wenn ich in 3 Monaten im Wert von Tick-Daten in die Geschichte Zentrum (behandelt, wie wir in diesem Thread gebügelt haben - zu machen, jeder Tick haben ihre eigenen M1 bar) - scheinbar alles in Ordnung ist, aber gerade gesehen, dies in der Zeitschrift:

Historybase: nicht genug Speicher '#CLX01' [8412861 Bars]
Memory handler: kann 370166236 Bytes Speicher nicht zuweisen

Heißt das, dass nicht alle Daten geladen wurden?

 
mikey:

Eine neue Hürde. Wenn ich in 3 Monaten im Wert von Tick-Daten in die History-Center (behandelt, wie wir in diesem Thread gebügelt haben - zu machen, jeder Tick haben ihre eigenen M1 bar) - scheinbar alles in Ordnung ist, aber gerade gesehen, dies im Journal:

Historybase: nicht genug Speicher '#CLX01' [8412861 Bars]
Memory handler: kann 370166236 Bytes Speicher nicht zuweisen

Heißt das, dass nicht alle Daten geladen wurden?

Es könnte daran liegen, dass Sie die 2GB Grenze erreicht haben. Nachdem Sie auf "Start" geklickt haben, erstellt der Tester eine FXT-Datei, die die Ticks für den Test enthält (in Ihrem Fall ist es 1 Tick pro Bar). Diese Datei wird im Ordner '\MetaTrader 4\tester\history' erstellt. Öffnen Sie diesen Ordner und überprüfen Sie, ob die zuletzt erstellte Datei eine Größe von etwa 2 GB hat. Wenn ja, dann haben Sie das Limit des Testers erreicht. Es gibt keine Lösung für dieses Problem, außer das Testen über kürzere Zeiträume...


Ich bin mir aber nicht sicher, ob dies der Grund ist, es könnte auch etwas anderes sein...

 

Der Tester läuft noch, als ich die Größe überprüft habe. Kann sich also erhöhen?

Jedenfalls beträgt die Größe im Moment nur 412 MB. Ich nehme an, das ist deutlich unter 2 GB?

 

BTW - das Journal, in dem diese Fehlermeldung steht, befindet sich NICHT im Strategietester, sondern in dem anderen (dem für das Konto)

 

Ich werde etwas frustriert. Fair enuf - im tyring etwas Neues und so dort gebunden, um Probleme zu sein.

Aber auf UNRELATED TO THREAD - ive gerade bemerkt, auf einem Bog-Standard-Metatrader-Strategie laufen mit richtigen M1-Daten (also nicht im Zusammenhang mit dem, was wir talkling über in diesem Thread) für 3 Monate Öl-Daten, die ich bekam. und ich bemerkte, dass die Strategie-Tester gerade gestoppt öffnen alle Trades nach rund 2 Wochen. im Code - wann immer es keinen Handel offen ein neuer Handel geöffnet werden sollte (nie hatte keine Probs mit diesem in vorwärts testign). Aber Strategie-Tester ist ok für 2 Wochen, die Eröffnung von Trades und dann hat keine Trades für wie 2,5 Monate geöffnet (trotz 5000 Dollar im Gewinn)! Außerdem ist die Art der Ergebnisse, die geliefert werden, so weit von meinen bisherigen Vorwärtstests entfernt. Zweifel beginnen in meinem Kopf über den Motor des metatatrader Strategie-Tester und seine Gültigkeit und Nutzung zu kriechen.

(die Daten, die in den Tester geladen wurden, sind alle in Ordnung, da sie für den Datumsbereich im Bericht den richtigen Bereich haben)

mein Traum/Ziel: Was ich hoffte, war, dass die Strategie-Tester gute historische Daten geben (vor allem, wenn Sie Tick-Daten erhalten können) und Sie erhalten einen guten Einblick in wie tyour Strategie würde wirklich über diese Geschichte (Schlupf, Spread-Varianz etc. akzeptiert) gehandelt haben. Aber jetzt stellt sich mir die Frage, ob dies überhaupt möglich ist, ob die Strategie-Engine dies tatsächlich leisten kann. IST DIESES ZIEL MIT METATRADER ERREICHBAR? Kann mir jemand ein wenig Hoffnung machen?

 
mikey:

BTW - das Journal, in dem diese Fehlermeldung steht, befindet sich NICHT im Strategietester, sondern in dem anderen (dem für das Konto)

Nun, dann hat es wahrscheinlich nichts mit dem Tester zu tun (Sie können seine Protokolle im Ordner 'MetaTrader 4\tester\logs' sehen), aber ich kann mir nicht sicher sein.