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.

TradeSignal Daten Import in MT

Geschrieben

Hallo zusammen,

 

ich habe die letzten Tage versucht TS-Daten in den MetaTrader zu importieren.

Das Handelssystem, welches ich testen möchte basiert auf M15, H1 und D1-Daten.

 

Hierzu bin ich streng nach dem ic.arrow.right.png 90% Modellierungsvorschlag von henrik vorgegangen und habe mir, nach etwas Mühe auch im korrekten Format, M1, M15, H1 und D1 Daten

aus TS exportiert.

 

Nach dem nativen Import in MT wollte ich die Strategie testen und bekomme immer folgenden Fehler:

 

18:00:21 TestGenerator: unmatched data error (low value 113.9900 at 2007.01.12 09:45 is not reached from the least timeframe, low price 114.0100 mismatches)

18:00:21 TestGenerator: unmatched data error (high value 114.0700 at 2007.01.12 10:24 and price 114.1400 mismatched)

18:00:21 TestGenerator: unmatched data error (high value 114.0700 at 2007.01.12 10:26 and price 114.1400 mismatched)

18:00:21 TestGenerator: unmatched data error (high value 114.0700 at 2007.01.12 10:27 and price 114.1400 mismatched)

18:00:22 TestGenerator: unmatched data error (low value 113.9900 at 2007.01.17 08:15 is not reached from the least timeframe, low price 114.0100 mismatches)

18:00:23 TestGenerator: unmatched data error (high value 114.0700 at 2007.01.17 14:41 and price 114.1400 mismatched)

 

Scheinbar rechnet TS fehlende Kurse anders zusammen oder berechnet Zwischenwerte für diese? Ich weiß

es nicht. Die Daten müssten doch eigentlich importierbar und testbar sein, oder?

Hat jemand von Euch schon mal TS Daten in den MT importiert und kennt das Problem?

 

Allerdings war hier noch nicht Schluß. Die zweite Möglichkeit ist ja, nur M1-Daten zu importieren und über den

Period-Converter die anderen TimeFrames zu erzeugen und wieder zu importieren. Auch dies

habe ich, dieses mal für alle Zeitebenen bis zum Tageschart durchgeführt.

 

Nun sind die Daten allerdings anders, als die von TS. Wenn ich Daten einer Zeiteinheit wieder exportiere

und sie mit den initial von TS exportierten vergleiche, sehe ich unterschiedliche Werte, das sollte doch nicht sein.

Ich kann es mir nur so erklären, dass MT intern wiederum anders mit den Daten oder evtl. fehlenden Kursen umgeht.

 

Wenn ich über den Period-Converter arbeite, dann kann mein System auch Backtesten, aber mit völlig anderen

Ergebnisses (trotz gleicher Daten). Im Chart sehe ich dann Stops von Kursen, die nie erreicht wurden ...

 

screenshot_3.jpg screenshot_2.jpg

 

 

Ach ja, die Zeitverschiebung von TS und MT habe ich beachtet. TS fängt setzt als Periodenzeit immer den letzten Zeitpunkt,

MT den ersten. Bspw. setzt TS für den ersten M15 Bar die Zeit 08:15, MT aber 08:00, dies habe ich in den exportierten Daten

berücksichtigt, so dass diese nun bei 08:00 anfangen.

 

Kennt jemand das Problem, ist es lösbar oder umgehbar?

 

Danke

DarthTrader

Featured Replies

Geschrieben
Hat jemand von Euch schon mal TS Daten in den MT importiert und kennt das Problem?

 

*aufzeig*

 

Das Problem das ich hatte (und du vermutlich auch) ist folgendes:

Bei MT ist die "Zeit" des Bars der Zeitpunkt wo der Bar beginnt. (also der M15 Bar von 10:00 - 10:15 hat Time == 10:00)

in TradeSignal ist es aber der letzte Tick des Bars (also in dem Fall 10:15)

 

MT nimmt also an das alle M1 Bars von 10:00 bis 10:14 zum M15 Bar gehören, in TS gehören aber alle von 10:01 bis 10:15 dazu.

 

Abhilfe fällt mir nur ein, das du die Zeiten manuell umschreibst (also "manuell" beim exportieren oder importieren der Daten)

 

HTH

Geschrieben
  • Autor
*aufzeig*

 

Das Problem das ich hatte (und du vermutlich auch) ist folgendes:

Bei MT ist die "Zeit" des Bars der Zeitpunkt wo der Bar beginnt. (also der M15 Bar von 10:00 - 10:15 hat Time == 10:00)

in TradeSignal ist es aber der letzte Tick des Bars (also in dem Fall 10:15)

 

MT nimmt also an das alle M1 Bars von 10:00 bis 10:14 zum M15 Bar gehören, in TS gehören aber alle von 10:01 bis 10:15 dazu.

 

Abhilfe fällt mir nur ein, das du die Zeiten manuell umschreibst (also "manuell" beim exportieren oder importieren der Daten)

 

HTH

 

Genau das habe ich gemacht, in dem ich alle Zeiten um 1 Periode verschoben habe.

Leider löst es das Problem nicht.

Geschrieben
Genau das habe ich gemacht, in dem ich alle Zeiten um 1 Periode verschoben habe.

Leider löst es das Problem nicht.

 

hmm , ich hätt deinen ganzen Post lesen sollen bevor ich geantwortet hab :laugh:

 

Das mit den Stops könnte am Spread liegen... es wird ja Bid angezeigt, eine Long wird aber am Ask eröffnet.

 

Zu den exportierten Daten:

Hast sie dir mal per hand angeschaut? also wie zB 15 M1 Werte aussehen, und welchen M15 der PeriodConverter dann daraus macht? wär interessant was da rauskommt.

Geschrieben

In Deinen 2 Bildchen sehen die Bars irgendwie unterschiedlich aggregiert aus, war zumindest mein erster Eindruck.

 

Zur Not mal nen Indikator oder so schreiben, der Dir die (importierten) Eckwerte (HLOC,Time) ausgibt und Du vergleichst sie mit den Original-MT-Werten ? :laugh:

 

Das Problem hatte ich noch nie, da ich bislang nur die eine (TS) oder die andere Software (MT) verwendet habe.

Geschrieben
  • Autor
hmm , ich hätt deinen ganzen Post lesen sollen bevor ich geantwortet hab :laugh:

 

Das mit den Stops könnte am Spread liegen... es wird ja Bid angezeigt, eine Long wird aber am Ask eröffnet.

 

Zu den exportierten Daten:

Hast sie dir mal per hand angeschaut? also wie zB 15 M1 Werte aussehen, und welchen M15 der PeriodConverter dann daraus macht? wär interessant was da rauskommt.

 

Das hier sind die von TS exportierten Daten M15 ...

 

2007.01.02;08:00;114.52;114.68;114.52;114.63;13573

2007.01.02;08:15;114.63;114.65;114.60;114.63;3713

2007.01.02;08:30;114.63;114.82;114.63;114.77;27460

2007.01.02;08:45;114.78;114.78;114.73;114.76;7439

2007.01.02;09:00;114.75;114.77;114.68;114.69;9470

2007.01.02;09:15;114.69;114.69;114.65;114.67;13024

2007.01.02;09:30;114.67;114.71;114.66;114.70;4933

2007.01.02;09:45;114.70;114.79;114.69;114.75;17855

2007.01.02;10:00;114.76;114.81;114.76;114.79;9630

2007.01.02;10:15;114.78;114.80;114.75;114.80;10984

2007.01.02;10:30;114.80;114.84;114.79;114.83;15367

2007.01.02;10:45;114.83;114.87;114.83;114.86;15509

2007.01.02;11:00;114.87;114.89;114.85;114.87;16309

2007.01.02;11:15;114.87;114.94;114.87;114.93;22285

2007.01.02;11:30;114.93;114.95;114.91;114.93;13927

 

... und das die M15 Daten, die nach Einspielen der M1 Daten aus TS mit dem Script Period-Converter erzeugt wurden:

 

2007.01.02,08:00,114.52,114.68,114.52,114.63,13573

2007.01.02,08:15,114.63,114.65,114.60,114.63,3713

2007.01.02,08:30,114.63,114.82,114.63,114.77,27460

2007.01.02,08:45,114.78,114.78,114.73,114.76,7439

2007.01.02,09:00,114.75,114.77,114.68,114.69,9470

2007.01.02,09:15,114.69,114.69,114.65,114.67,13024

2007.01.02,09:30,114.67,114.71,114.66,114.70,4933

2007.01.02,09:45,114.70,114.79,114.69,114.75,17855

2007.01.02,10:00,114.76,114.81,114.76,114.79,9630

2007.01.02,10:15,114.78,114.80,114.75,114.80,10984

2007.01.02,10:30,114.80,114.84,114.79,114.83,15367

2007.01.02,10:45,114.83,114.87,114.83,114.86,15509

2007.01.02,11:00,114.87,114.89,114.85,114.87,16309

2007.01.02,11:15,114.87,114.94,114.87,114.93,22285

2007.01.02,11:30,114.93,114.95,114.91,114.93,13927

 

Sieht identisch aus. Auch alle anderen Timeframes sehen nac Anpassung der Zeit von TS nach MT identisch aus.

 

Die Frage ist dann, warum der Log-Fehler kommt, wenn ich mit den nativen TS-Daten arbeite?

 

Weiterhin ist mir aufgefallen, dass bspw. im M1 Datenblatt manchmal Lücken enthalten sind,

weil, wahrscheinlich keine Daten anfielen:

 

2009.04.30;21:15;122.76;122.76;122.75;122.75;20

2009.04.30;21:17;122.75;122.76;122.75;122.76;6

2009.04.30;21:19;122.76;122.76;122.76;122.76;41

 

TS berechnet intern den Wert dann evtl. trotzdem mit. Im Chart sehe ich sowohl bei MT

als auch TS nur 21:15, 21:.17, 21:19 ... (bzw. 21:14, 21:16, ... bei TS, wegen dem TimeShift)

Vielleicht hat es damit etwas zu tun ... ?

 

 

Ich hatte oben ja zwei Ansätze zum Import der Daten beschrieben, welchen würdet Ihr denn

generell empfehlen. M1 und dann den Converter verwenden, oder M1, M15, H1, D1 importieren,

also alle Daten, die von der Strategie benötigt werden?

 

Danke schon mal für die vielen Antworten.

Geschrieben
  • Autor
In Deinen 2 Bildchen sehen die Bars irgendwie unterschiedlich aggregiert aus, war zumindest mein erster Eindruck.

 

Zur Not mal nen Indikator oder so schreiben, der Dir die (importierten) Eckwerte (HLOC,Time) ausgibt und Du vergleichst sie mit den Original-MT-Werten ? :laugh:

 

Das Problem hatte ich noch nie, da ich bislang nur die eine (TS) oder die andere Software (MT) verwendet habe.

 

Aber ich möchte doch nur längere Datenhistorien haben .... :laugh:

Oder meine Strategie testen, so dass sie im MT genauso läuft wie bei TS,

dafür wäre der Datenexport und Import hervorragend geeignet.

 

:hul:

Geschrieben
Aber ich möchte doch nur längere Datenhistorien haben .... :laugh:

Oder meine Strategie testen, so dass sie im MT genauso läuft wie bei TS,

dafür wäre der Datenexport und Import hervorragend geeignet.

 

:laugh:

Die Umsetzung auf MT steht mir auch noch ins Haus, da TS leider zu kurze Historien hat :hul:. Ich hätte auch nicht erwartet, dass es so kompliziert ist, die Daten da korrekt reinzukriegen.

 

 

Ich hatte oben ja zwei Ansätze zum Import der Daten beschrieben, welchen würdet Ihr denn

generell empfehlen. M1 und dann den Converter verwenden, oder M1, M15, H1, D1 importieren,

also alle Daten, die von der Strategie benötigt werden?

Aus'm Bauch heraus würde ich sagen: M1 und dann die anderen TFs aufbereiten.

Geschrieben
  • Autor
Was ist denn das für ein Wert ? EURJPY ist es nicht. GBPJPY ?

 

FGBL also der Bund-Future bzw. ein CFD auf den Bund-Future.

Geschrieben
  • Autor

Noch eine Idee bzw. Frage ...

 

Beim Testen kleinerer Zeitranges, also nicht 3 Jahre sondern bspw. nur 2 Monate,

arbeitet der Strategietester scheinbar korrekt. Nun habe ich festgestellt, dass MT sich

in dem Ordner

 

tester/history

 

eine Datie *.f0xt speichert die stetig wächst. Bei mir ist sie zum Schluss 7 - 11 GB! groß.

Weiß jemand, was diese Datei macht? Ist das ein Tempfile, welches wieder gelöscht werden sollte?

 

Es passiert nun nämlich folgendes. Wenn ich 3 Jahre backteste, wird nach einigen Trades die Datei eben

so groß und der Backtest bricht scheinbar ab. Ich habe dann nur Trades der ersten Monate und das war es

dann auch, kein Logeintrag, keine Meldung, gar nichts ...

 

Vielleicht nutzt die Strategie intern zu viel Speicher? Vielleicht benötigt MT mehr Speicher beim Programmstart,

sofern ich das irgendwo angeben kann .... Hat jemand ne Idee ...

Geschrieben

Ich würd auch den PeriodConverter nehmen. Zu den Errors: Schon mal genau die Stellen überprüft die er angibt? Also wenn er sagt "unmatched price ...." schauen was da schief gegangen ist? Möglicherweise sind die Daten von TS schon nicht ganz korrekt.

 

Ich bin mir auch nicht ganz sicher ob es geht (und Sinn macht) in MT das gleiche Ergebniss wie in TS zu kriegen. Allein wegen der Ausführungen. In TS wird soweit ich mich erinnere kein Spread berechnet, keine stoplevel etc. Das müsstest du alles händisch dazupacken.

Geschrieben
In TS wird soweit ich mich erinnere kein Spread berechnet, keine stoplevel etc. Das müsstest du alles händisch dazupacken.

Kann man in TS zusätzlich für nen HS einstellen (unter Moneymagement).

Geschrieben
Kann man in TS zusätzlich für nen HS einstellen (unter Moneymagement).

Aber dann zieht er den Wert nur vom Gewinn ab oder? (also im Prinzip das gleiche wie Gebühr)

Oder führt er tatsächlich auch ein Buy aus, wenn das Hoch bei (Schwelle - Spread) liegt?

Geschrieben
  • Autor
Aber dann zieht er den Wert nur vom Gewinn ab oder? (also im Prinzip das gleiche wie Gebühr)

Oder führt er tatsächlich auch ein Buy aus, wenn das Hoch bei (Schwelle - Spread) liegt?

 

Ich meine, er zieht es nur vom Gewinn ab bzw. verrechnet es ...

Geschrieben
Aber dann zieht er den Wert nur vom Gewinn ab oder? (also im Prinzip das gleiche wie Gebühr)

Oder führt er tatsächlich auch ein Buy aus, wenn das Hoch bei (Schwelle - Spread) liegt?

 

Realtime-Ausführungspreise kontrolliert, welche Preise zur Ausführung einer Order in Realtime verwendet werden. tradesignal bietet zwei Modi an: Geld/Brief und Letzter.

 

* Geld/Brief - tradesignal verwendet den Geld- und Briefkurs (Best Bid - höchstes Kaufangebot und Best Ask - niedrigstes Verkaufsangebot), welche entweder vom Broker (sofern ein Orderrouting-Modul angeschlossen ist) oder vom Datenlieferanten stammen. Sollte weder der Broker, noch der Datenlieferant Geld-/Briefkurse liefern, verwendet tradesignal anstelle dessen den Letzten (Last Price). Dieses Scenario ist z.B. bei der Verwendung von Indices möglich. Die Best-Bid- und Best-Ask-Preise entstehen, wenn ein Marktteilnehmer eine Zahl von Wertpapieren/Kontrakten kaufen oder verkaufen möchte; der Last repräsentiert den Preis der letzten Ausführung eines Trades. Daher kann die Wahl dieser Einstellung insofern vorteilhaft sein, dass Order präziser gefüllt werden können. Dabei muss allerdings beachtet werden, dass die in Realtime aufgebauten Resultate nicht mit denen übereinstimmen werden, die beim Back-Testing ermittelt wurden, da im letzteren Fall immer nur auf Last-Preise zugegriffen werden kann.

* Letzter - tradesignal nutzt den vom Datenlieferanten angebotenen Last-Preis, welcher gleichzeitig auch beim Backtest eines Handelssystems Verwendung findet. Der Letzte repräsentiert den Preis, der bei der Ausführung eines Trades im Markt entstanden ist. Sollte diese Einstellung gewählt werden, wird tradesignal eine Order nur jeweils nach Ausführung eines Trades im Markt füllen, selbst wenn zwischenzeitlich ein passendes Angebot bzw. Nachfrage im Markt verfügbar war. Diese Einstellung wird i.allg. dazu führen, dass Realtime-Ergebnisse besser mit Backtest-Ergebnissen korrelieren.

 

Bitte beachten: Diese Einstellung ist erst ab tradesignal 5.3 verfügbar.

Slippage und Gebühren

Um realistische Ergebnisse aus dem Backtest und der Auswertung eines Handelssystems zu erhalten, ist es nötig, auch die anfallenden Kosten für den Handel in die Berechnungen einzubeziehen. Dafür stehen zwei Parameter zur Verfügung:

Slippage

Die Slippage gibt evtl. Verschiebungen zwischen ermittelten Ein- und Ausstiegskursen und den tatsächlichen Ausführungskursen an der Börse an. Man geht davon aus, dass zwischen der Erzeugung eines Handelssignals und der tatsächlichen Umsetzung ein gewisser Zeitraum vergeht, in dem sich der Kurs gegen den Trader bewegt. Der Wert für die Slippage kann je Trade oder je Stück angegeben werden.

 

Slippage/Trade - Angenommene Slippage pro Order (unabhängig von der Stückzahl), entweder als absolute Zahl oder in Prozent (geben Sie dafür das %-Zeichen nach der Zahl ein).

 

Slippage/Stück - Angenommene Slippage pro Stück (unabhängig von der Tradeanzahl), entweder als absolute Zahl oder in Prozent (geben Sie dafür das %-Zeichen nach der Zahl ein).

Komission

Die Kommission bezeichnet die Kosten, die an Börsengebühr und Brokergebühr anfallen. Sie können die Kommision je Trade oder je Stück festlegen. Außerdem lässt sich die Kommision auf eine Flatrate begrenzen, falls entsprechende Konditionen bei Ihrem Broker zur Verfügung stehen.

 

Komission/Trade - Kommission pro Order (unabhängig von der Stückzahl), entweder als absolute Zahl oder in Prozent (geben Sie dafür das %-Zeichen nach der Zahl ein).

 

Komission/Stück - Kommission pro Stück (unabhängig von der Tradeanzahl), entweder als absolute Zahl oder in Prozent (geben Sie dafür das %-Zeichen nach der Zahl ein).

 

Min. Komission - Mindestens anfallende Kommission pro Einzelorder (falls Ihr Broker dies anbietet).

 

Max. Komission - Maximal anfallende Kommission pro Einzelorder (falls Ihr Broker dies anbietet).

Quelle: http://www.tradesignal.com/support/help.as...08&olang=de

 

Ich hatte immer den Eindruck, er verrechnet es nur. Allerdings hab ich ja nicht auf Geld/Briefkursen gebacktestet, sondern nur auf den tatsächlichen Dax-Kursstellungen.

Geschrieben
Sollte weder der Broker, noch der Datenlieferant Geld-/Briefkurse liefern, verwendet tradesignal anstelle dessen den Letzten (Last Price)

 

@DT: Du verwendest die FGBL Daten von TS oder? da gibts soweit ich weiß keine Bid/Ask sondern nur Last Price.

Geschrieben
  • Autor
@DT: Du verwendest die FGBL Daten von TS oder? da gibts soweit ich weiß keine Bid/Ask sondern nur Last Price.

 

Yo, nur Lastprice ...

 

Aber nochmal zurück zu dem hier:

 

----

Nun habe ich festgestellt, dass MT sich in dem Ordner

 

tester/history

 

eine Datie *.f0xt speichert die stetig wächst. Bei mir ist sie zum Schluss 7 - 11 GB! groß.

Weiß jemand, was diese Datei macht? Ist das ein Tempfile, welches wieder gelöscht werden sollte?

----

 

Ich glaube, hier liegt das Problem ...

Geschrieben
eine Datie *.f0xt speichert die stetig wächst. Bei mir ist sie zum Schluss 7 - 11 GB! groß.

Weiß jemand, was diese Datei macht? Ist das ein Tempfile, welches wieder gelöscht werden sollte?

 

The FXT files created in /Tester/History/ represent the date range of data downloaded and existing on the charts.

http://www.forexfactory.com/showpost.php?p...mp;postcount=28

 

Da steht auch noch was http://forum.mql4.com/8355 .

 

Und da steht richtig viel dazu: http://www.atcbrokers.com/atc_fxpro_manual/at-ea-st-hff.html und beantwortet vielleicht sogar Deine Frage :

History Files in FXT Format

 

 

In its operation, tester uses an *.FXT file with generated succession of bars. Each record of the generated succession represents the bar status at either moment within one bar. When modeling bars, tester takes other bars from this file and updates the current bar or adds another one if it has just begun to be formed.

 

One may refuse to apply the standard bar modeling, but use one's own data file for testing/optimization. To do so, one has to disable "Recalculate" and place the desired FXT file into the /TESTER/HISTORY folder. The file name must appear as "[symbol name][period in minutes]_[type of modeling (0 — every tick, 1 — control points, 2 — open prices)].FXT" (without spaces). For example, it can be "EURUSD1440_1.FXT" where "EURUSD" is the security symbol, "1440" is period of D1 (1440 minutes, 24 hours), and "1" means modeling by control points.

 

...

Geschrieben
  • Autor

Danke Krümel, zumindest ein paar Hinweise auf den Fehler.

Es ist wohl so, dass in den *.fxt - Dateien die Tickdaten aufbereitet

werden und dass bei jedem Durchlauf erneut.

 

Früher gab es wohl mal den Schalter "Recalculate" der nun nicht mehr

existiert. Das Problem, dass zu viele Ticks berechnet werden und der MT-

Tester dann einfach aufhört gab es auch schon mal ... aber leider habe

ich noch keine passende Lösung dazu gefunden ...

 

Ist es überhaupt sinnvoll den Test auf Tickbasis durchzuführen, wenn ich nur

Daten aus dem M1 - TimeFrame habe?

Geschrieben
  • Autor

Hm ... ich habe gerade eine Idee. Um den Test im MT mit dem von TradeSignal zu vergleichen,

müsste ich da nicht die OpenPreis-Methode verwenden?

 

TS kennt ja auch nur OHLC-Werte und berechnet intern dann einen möglichen Aufbau der Bar.

Wenn ich meinen EA so umschreibe dass er nur OHLC-Werte aus den verwendeten TimeFrames

zur Berechnung anzieht, dann sollte der Test a) schnell laufen und b) besser mit TS vergleichbar

sein, oder?

Geschrieben
Wenn ich meinen EA so umschreibe dass er nur OHLC-Werte aus den verwendeten TimeFrames

zur Berechnung anzieht, dann sollte der Test a) schnell laufen und b) besser mit TS vergleichbar

sein, oder?

Ich vermute mal, je weniger "Eigenheiten" Deine beiden Varianten mitbringen (z.B. durch ne andere Simulation von Tickdaten) und je mehr Gemeinsamkeiten sie aufweisen (durch Beschränkung auf den gleichen Datensatz ohne irgendwelche methoden/softwareabhängigen Schnickschnacks), umso vergleichbarer ist das Ergebnis. Ich kenn mich aber leider an der Stelle noch nicht sonderlich gut aus. :blink:

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.