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.

Tickdaten anderer Anbieter in Metatrader importieren

Geschrieben
Noch ein Zusatz zu dem Schaubild da oben. Damit wollte ich demonstrieren, dass DAX & FDAX eineiige Zwillinge sein könnten.

[...]

 

Bei den Zinssätzen derzeit auch kein Wunder. Dies ist aber nicht zu verallgemeinern. Ich habe bspw. Tickdaten vom Deutsche Bank DAX und dem FDAXc seit 2004 vorliegen. Da bestehen dann schon mal Differenzen von 70 Punkten.

 

Wo wir schon beim Thema sind: kann mir jemand sagen, wie ich Tickdaten in den MT4 bekomme? Die in dem anderen Thread verlinkte Anleitung mit dem Skript funktioniert nicht, da die Daten leider "falsch" formatiert und getrennt sind.

 

Meine haben folgendes Format:

Datum Uhrzeit Kurs Volume

25.05.2009 08:00:52 4913,5 0

Featured Replies

Geschrieben
Die in dem anderen Thread verlinkte Anleitung mit dem Skript funktioniert nicht, da die Daten leider "falsch" formatiert und getrennt sind.

 

Meine haben folgendes Format:

Datum Uhrzeit Kurs Volume

25.05.2009 08:00:52 4913,5 0

Ich könnte Dir nen R-Script schreiben, welches Deine Daten einliest und als MT-Format rausschreibt (in ne 2. Datei).

Dafür bräuchte ich das Quell-Format und das Zielformat und ein paar Zeilen Deiner Daten zum Testen.

Du müsstest Dir dann nur noch R runterladen und installieren und bei Dir das Skript mit der kompletten Originaldatei ausführen.

 

Das könnte ich Dir anbieten. Vielleicht hat aber jemand noch ne bessere Idee. Ich kenn mich mit dem Datenimport von MT (leider noch) nicht sonderlich gut aus. Datenformatumschreiben ist das einzige, was mir als Lösung einfällt.

Geschrieben
  • Autor

@Krümel

Das wäre super. Ich habe mal eine Textdatei angefügt, in der ein Beispiel mit Herkunftsdaten ist und wie diese für den Metatrader aufzubereiten sind.

Geschrieben
@Krümel

Das wäre super. Ich habe mal eine Textdatei angefügt, in der ein Beispiel mit Herkunftsdaten ist und wie diese für den Metatrader aufzubereiten sind.

Wieso haben die Daten für MT keine Nachkommastellen ? Ist das normal ? Du siehst mich verwundert. *kopfkratz*

 

Heißt das, dass Originaldaten wie 4915,5 beim Umschreiben auch inhaltlich modifiziert werden müssen ? Wenn ja, welches Verfahren soll da umgesetzt werden: Runden normal (d.h. 4915,5 wird aufgerundet, 4915,4 wird abgerundet), floor (immer abrunden), ceiling (immer aufrunden) oder trimmen (einfach nur die Nachkommastelle abschneiden) ?

 

Und Du willst M1-Daten als Output, seh ich das richtig?

Geschrieben
  • Autor
Wieso haben die Daten für MT keine Nachkommastellen ? Ist das normal ? Du siehst mich verwundert. *kopfkratz*

 

Heißt das, dass Originaldaten wie 4915,5 beim Umschreiben auch inhaltlich modifiziert werden müssen ? Wenn ja, welches Verfahren soll da umgesetzt werden: Runden normal (d.h. 4915,5 wird aufgerundet, 4915,4 wird abgerundet), floor (immer abrunden), ceiling (immer aufrunden) oder trimmen (einfach nur die Nachkommastelle abschneiden) ?

 

Und Du willst M1-Daten als Output, seh ich das richtig?

 

Das kommt auf den Anbieter an. ActivTrades hat bspw. Nachkommastellen, die mit . abgetrennt sind. Da die aber nur die 3-Monatskontrakte haben, entwickle ich ich die Systeme auf AlTrade. Dort sind keine Nachkommastellen vorhanden. Der Modus, wie man damit umgeht dürfte eigentlich egal sein. Das sollte sich über die Masse der Trades eh ausgleichen. Wenn ich die Wahl habe, würde ich dann "normal" oder "ceiling" wählen. 1-Minuten wäre super, da man ja von da aus eh alles höhere simulieren kann.

Geschrieben

Sooo, hier hab ich hier mal eine V1 (musste ich leider zippen, da R-Skripte nicht pur hochladbar sind, Danke, Chef :siscop:).

 

1. R downloaden, installieren:

ic.arrow.right.png http://cran.r-project.org/bin/windows/base/

 

2. R starten, dann landet man in der normalen Entwicklungsumgebung.

 

3. Über das File-Menü die R-Datei von mir öffnen,

 

4. Ganz oben in der Variablen path das richtige Verzeichnis von Deinem Rechner setzen (Wichtig: durch '/' und nicht wie bei Windows normal durch '\' trennen !)

 

5. Nun den kompletten Text markieren, Kontextmenü öffen per Rechtsklick und "Ausführen Zeile oder Auswahl" anwählen.

 

Und dann sollte das Skipt das tun, was es soll.

Du kannst die einzelnen Anweisungen auch Schritt für Schritt ausführen, die for-Schleife muss allerdings am Stück durchlaufen.

 

Ich hab den Speicher extra noch hochgesetzt. Ich hoffe, die Inputdatei mit den Tickdaten ist nicht zu groß. Wenn ja, sagt Dir das R aber schon in freundlichen roten Buchstaben.

 

Btw: ich hab ceiling verwendet.

formatData4MT.zip

Geschrieben
  • Autor
[...]

Ich hab den Speicher extra noch hochgesetzt. Ich hoffe, die Inputdatei mit den Tickdaten ist nicht zu groß. Wenn ja, sagt Dir das R aber schon in freundlichen roten Buchstaben.

[...]

 

200MB bzw. 2 GB sind doch nicht etwa zu groß, oder :siscop:?

Geschrieben
200MB bzw. 2 GB sind doch nicht etwa zu groß, oder ?

Die MBs sind nicht das Problem, bei den GB bin ich mir nicht so sicher. Ich denke mal, Dein Rechner ist besser bestückt als meiner (der noch aus XP-Zeiten stammt, weil ich ja Vista überspringen will).

Probier's aus. Geht schon nix kaputt. Eventuell braucht R ne ganze Weile, bis er die Datei in den Speicher gezogen hat und reagiert nicht.

 

Im Prinzip ist nur die Zeile read.table... kritisch, denn da wird Deine Datei eingelesen. Kannst auch bis dahin ausführen und schaun, was passiert. Ich hoffe mal, dass es gut geht. :siscop:

 

 

Du kannst mit

 

 

memory.limit(size=5000)

 

Fehler in memory.size(size) :

Stell Dich nicht dumm!: Deine Kiste kann nur 4Gb adressieren

den Speicher noch vergrößern. Bei mir gehen nur 4GB, wie mir die freundliche Fehlermeldung von R sagt. Bei Dir geht wahrscheinlich mehr

Geschrieben
  • Autor
Die MBs sind nicht das Problem, bei den GB bin ich mir nicht so sicher. Ich denke mal, Dein Rechner ist besser bestückt als meiner (der noch aus XP-Zeiten stammt, weil ich ja Vista überspringen will).

[...]

 

Das denke ich nicht - bin nämlich auch Vista-Überspringer :siscop:. Ich werde es morgen mal ausprobieren und dann Bericht erstatten. Vielen Dank schonmal :door:.

Geschrieben
Ich werde es morgen mal ausprobieren und dann Bericht erstatten.

Ich habe aus dem Programm noch einen "Mangel" entfernt. In der ersten Varianten bin ich davon ausgegangen, dass die Spaltennamen in der Tickdaten-Datei in der der ersten Zeile stehen. Dann hättest Du allerdings eine 3GB-Datei editieren müssen. Ich hab's also umgeschrieben (und den Source-Code aktualisiert im obigen Post), so dass jetzt in der Tickdatendatei nur die reinen Daten stehen dürfen.

 

Du müsstest die Zip-Datei also nochmal runterladen.

Geschrieben
*the mod that never sleeps*

Tag und Nacht im Einsatz, um das Böse in der Welt zu bekämpfen. :siscop:

 

 

@conglom-o:

Plan B wäre: ich schreibe den Einlesepart etwas um und streame die Daten (indem ich sie tageweise einlese), dann sollten auch die 2GB kein Problem sein, weil sie nicht am Stück in den Speicher gezogen werden.

 

Nach dem alten Prinzip "Divide and conquer". Mich würde es nur persönlich interessieren, ob R die 2GB schafft.

Geschrieben
  • Autor
[...]

Ganz oben in der Variablen path das richtige Verzeichnis von Deinem Rechner setzen (Wichtig: durch '\' und nicht wie bei Windows normal durch '/' trennen !)

[...]

 

Eigentlich ist es doch genau umgekehrt, oder nicht - zumindet Deinem Quelltext nach zu urteilen :siscop:? Nun ja, er schreibt die M1 Datei, aber die bleibt bei Größe 0. Nach Anlegen der Datei scheint er auch nichts weiter zu machen. Dabei ist die Quelldatei doch "nur" 290 MB groß :door:.

Geschrieben
Eigentlich ist es doch genau umgekehrt, oder nicht - zumindet Deinem Quelltext nach zu urteilen :siscop:?

Stimmt. Gedanklich war ich schon bei der anderen Variante '\\', das kan man nämlich unter Windows auch verwenden, aber ich dachte mir, das wird dann zu unklar. Na ja, letztendlich hab ich es dann in meinem Text auch völlig vertauscht. Danke für den Hinweis :door:, ich hab's mal oben gleich in der Anleitung korrigiert.

 

Nun ja, er schreibt die M1 Datei, aber die bleibt bei Größe 0. Nach Anlegen der Datei scheint er auch nichts weiter zu machen. Dabei ist die Quelldatei doch "nur" 290 MB groß

Wenn Du das Skript nur bis nach read.table ausführst, was passiert dann ? Normal müsste der ausgeführte Quelltext in Rot angezeigt werden in dem Consolenfenster links, wenn ein Fehler auftritt in Blau.

Wenn er ohne blauen Text auskommt, kannst Du bitte mal str(data) in die Konsole eingeben ? In der Variablen sollten Deine eingelesenen Daten drin sein.

Geschrieben

So, conglom-o. Ich hab Plan B implementiert und auch mit generierten 300MB-Dateien getestet.

 

Jetzt sollte er auch 10 GB-Dateien schaffen, ist alles nur noch eine Frage der Zeit :siscop:.

Du kannst wahrscheinlich, während das Skript läuft, einen Baum pflanzen, einen Sohn zeugen und ihn aufwachsen sehen.

 

Am besten teste es mal mit der 200 MB-Datei, die Du hast. Dann kannst Du Dir ca. ausrechnen wielange Du bei den 2GB afk gehen kannst.

 

Du musst den Pfad wieder anpassen und auch die TickData.txt austauschen. Ich hab sie nur deswegen drin, damit Du siehst, was das Skript als Input erwartet.

 

EDIT: Hab noch einen "Bug" entfernt, der bei conglom-o auftrat - bei mir komischerweise nicht, obwohl alles identisch war (bis auf die Eingangsdaten).

streamTickData4MT.zip

Geschrieben

Wenn noch jemand Herausforderungen sucht...

duka_fx_ticks.png

 

 

Die Daten könnte man doch theoretisch auch so aufbereiten, dass sie für Testzwecke nutzbar wären.

Es dürfte sich dabei um Interbankenkurse handeln, die im CSV und XML Format vorliegen.

 

http://www.dukascopy.com/swiss/deutsch/data_feed/historical/

Geschrieben

conglom-o hat sich noch EOD-Daten gewünscht, daher gibt's hier noch nen weiteres Skript.

Input sind die M1-Daten, die von streamTickdata.R erzeugt wurden. Diese werden zu Tagesdaten zusammengefasst

 

Same procedure as every year: Pfad anpassen und die Dateinamen prüfen.

 

Seine 2 GB sind übrigens tapfer in 3 Stunden durchgelaufen und der Metatrader hat die generierten M1-Daten auch akzeptiert *stolz-bin*.

streamM1Data2EOD.zip

Geschrieben
  • Autor
[...]

Seine 2 GB sind übrigens tapfer in 3 Stunden durchgelaufen und der Metatrader hat die generierten M1-Daten auch akzeptiert *stolz-bin*.

@Krümel

Daten von 1-Minute in Tag umwandeln dauerte sogar nur 2 Minuten ... Hut ab vor Deiner Arbeit. So viele Smilies, wie ich hier reinpacken wollen würde, gibt es gar nicht.

Ich versuchs also mal so: :wub: :head: :wub:.

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.