Metastock: Verschiedene Zeitreihen zusammenführen
Hallo zusammen,
ich hab` ne grundsätzliche Frage zu MetaStock: Ist es denn möglich verschiedene Zeitreihen - wie bspw. Daily oder aber auch Weekly Daten miteinander zu verbinden ?
Um ein konkretes Beispiel zu nennen. Ich habe bspw. Daily Daten des EUR/USD bis 2004 & Weekly Daten zurück bis 1999. "Leider habe ich dafür 2 Ticker Symbole"
Ich würde beide gerne synchronisieren - mit MERGE im Downloader habe ich das nicht geschafft. Geht das grundsätzlich nicht oder mache ich etwas falsch ?
Dank Euch Schon Jetzt
Mit Freundlichem Gruß :
Neo 23
@ Neo 23 [#1]
Es ist natürlich nicht möglich, Zeitreihen mit unterschiedlichen Zeitebenen zusammenzuführen. Dies ist aber auch nicht nötig, da man aus der Zeitreihe mit der niedrigeren Aggregation die Daten der höheren Aggregation darstellen (Chart) oder auswerten (Explorer, Systemtester) kann.
Oder funktioniert damit irgendwetwas nicht?
@ metatrader [#2]
Neos Problem ist wohl (auch) frühere Daten gar nicht als DAILY zu haben. Zumindest daily-EURUSD gibts aber ja ""25.000 mal"" im Web zum laden. Damit wäre dann auch das Problem gelöst.
gruss hans
@ Neo 23 [#1]
Du könntest aus der daily Reihe eine temporäre weekly Reihe machen und diese müsste man dann mit Merge zur anderen weekly Reihe zusammenführen können.
Du kannst aber nicht die weekly Reihe an die daily Reihe hängen, es sei denn Du möchtest aus den weekly Daten daily Daten stricken, wo alle 5 Wochentage die gleiche Kerze haben, was aber nciht sehr sinnvoll wäre.
Gruß
@ metatrader
@ he 96
@ gautama2
Natürlich - ASCHE ÜBER MEINEN HAUPT !!!
Rückblickend Kann Auch Ich Nur Den Kopf, Über Meine (Zugegeben Dumme) Frage, Schütteln - Wie Soll Das Denn Überhaupt Gehen !?
"Ich Wollte Wohl Auf Das Pferd Von Der Falschen Seite Aufsteigen ..."
@ all
Aber Ich Hab` Eine Andere Frage ...
Ich Hab` Bisher Mit MetaStock v7.02EoD Gearbeitet & Mir Heute Nacht Aus Dem Internet Eine 30-Tages Testversion Der MetaStock 8.0 Realtime Version Geholt.
Ich hab auch noch, als ich einmal ein FOREX Broker Demo Account Eröffnet Habe - Teste Momentan Einzelne Forex Broker Nacheinander (möchte demnächst ein Account bei einem FOREX Broker Eröffnen - aber das tut hier nichts zur Sache) - Data Feed für einzelne Wechselkurspaare erhalten.
Um der Wahrheit die Ehre zu geben, ich habe vom EUR/USD 1min Data Feed aus dem Jahre 2006. Und wenn ich die in MetaStock 8.0 hochlade bekomme ich nicht den ganzen Data Feed als Chart oder im DownLoader angezeigt !!!
Ist das normal !?
Kann man in den Realtime Versionen von MetaStock - bspw. MetaStochk 8.0 - nicht soviel Data Feed hochladen !? Das wäre ja tatsächlich sehr schwach !!!
Oder mache ich etwas falsch !?
Heißt das, dass der manuelle (und wenn ich mich dann für das Aufrüsten auf MetaStock 8.0 realtime oder gar Metastock 10.0 realtime entscheiden sollte) und der aktuelle von einem Anbieter BESCHRÄNKT ist !? !? !?
Das wäre ja tatsächlich mehr als schwach !!!
Handelt vielleicht jemand von euch mit 1min Data Feeds bzw. wie erarbeitet ihr die historischen Data Feeds !? Oder berücksichtigt ihr gar nicht so einen langen Data Feed !? !? !?
Dank` Euch Schon Jetzt Für Eure Unterstützung !
Mit freundlichem Gruß & weiterhin viel Erfolg :
Neo---23
@ Neo 23 [#5]
In MetaStock können etwas mehr als 65.000 Datenpunkte gespeichert werden, danach werden die ältesten Daten wieder überschrieben. Dsa ist wohl historisch bedingt, da diese Zahl durch die maximale Anzahl der Splaten in Excel definiert wird.
Abhilfe gibt es keine, wenn man mit MetaStock arbeiten will.
Bei 24 Stunden Daten können somit nur 45 Tage, bei "normalen" Handelszeiten etwas mehr als 1/2 Jahr gespeichert werden.
Abhilfe besteht darin, dass die entsprechenden Wertpapiere immer mit unterschiedlichen Tickern gespeichert werden.
Sorry
anders geht's leider nicht.
@ Neo 23 [#5]
In Amibroker kann ich z.B. den Bund Future seit 1997 im 1 Minuten Intervall als Endloskontrakt problemlos verarbeiten. Es gibt da keine Grenze bei der Anzahl der Quotes in der Datenbank.
@ MetaTrader
Perfekt !!!
Das War Genau Die Sachlich fachliche Antwort Die Ich Benötigte !!!
Leider War Es Nicht Die Antwort Die Ich Mir Insgeheim Gewünscht Hatte !!!
@ gautama2
"In Amibroker kann ich z.B. den Bund Future seit 1997 im 1 Minuten Intervall als Endloskontrakt problemlos verarbeiten. Es gibt da keine Grenze bei der Anzahl der Quotes in der Datenbank."
Das Wollte Ich Hören Bzw. Lesen :)
Dank Euch Allen Für Die freundliche Information !!!
Mit besten Wünschen :
Neo---23
@ metatrader [#6]
...65.000 Datenpunkte... das reicht bei mir nichtmal für einen Tag ... ;)
@ metatrader [#6]
In MetaStock können etwas mehr als 65.000 Datenpunkte gespeichert werden, danach werden die ältesten Daten wieder überschrieben. Dsa ist wohl historisch bedingt, da diese Zahl durch die maximale Anzahl der Splaten in Excel definiert wird. Abhilfe gibt es keine, wenn man mit MetaStock arbeiten will.
Es kommt bei Metastock, aber auch generell der Familie der Börsenprogramme mit Array-basierter Formelsprache (dazu gehören auch Amibroker und Wealthlab) noch folgender Aspekt hinzu:
In ihnen macht es eigentlich ohnehin keinen Sinn, extrem lange Historien einzuladen, wenn Indikatoren für die geladene Zeitreihe berechnet werden sollen. Grund ist das Auswertungsmodell für Array-basierte Formelsprachen. Vereinfacht gesagt wird eine Formel wie beisp. RSI(14) bei jedem Update stets für sämtliche Array-Elemente (Bars) der Zeitreihe neu ausgewertet. Das kostet entsprechend um so mehr Rechenzeit, je mehr Bars die Zeitreihe enthält. In Amibroker ist die Auswertung zwar optimiert, so dass versucht wird, die Auswertung in Abhängigkeit von dem gerade auf dem Bildschirm sichtbaren Ausschnitt der Zeitreihe und den in der Formel vorkommenden Funktionen erst so spät wie möglich zu beginnen (z.B. werden für die Berechnung des ersten Wertes eines Simple Moving Average von 200 days nur die vorangegangen 199 Bars benötigt, anstatt ALLE vorhandenen vorangegangen Bars). Diese optimierte Auswertung ist aber nicht für jeden Indikator möglich; für manche Formeln muss die Auswertung stets bei Bar 1 der Zeitreihe beginnen. Und wenn dann bei jedem Update Werte für zehntausende von Bars berechnet werden müssen, kostet das Zeit.
Array-basierte Auswertungsmodelle sind daher eigentlich gar nicht richtig für Echtzeitanwendungen geeignet (sehr lange Intraday- oder gar Tick-Historien, häufige Updates in Echtzeit). Bei Metastock/Amibroker/Wealthlab ist erkennbar, dass sie vom Konzept her zunächst für die Verarbeitung von daily- Daten entwickelt wurden, anschliessend wurden sie dann auf die Verarbeitung von intraday-Historien (mit begrenzter Länge) erweitert.
Die Tradestation ist von ihrem Auswertungsmodell dagegen für Echtzeit-Anwendungen wesentlich effizienter (-> Konzept der Series Variablen anstatt ein Array-basiertes Auswertungsmodell; bei einem Update erfolgt nur eine Neuberechnung der letzten Bar.). Anderseits wird dadurch die Formelsprache komplexer.
@ gautama2 [#7]
In Amibroker kann ich z.B. den Bund Future seit 1997 im 1 Minuten Intervall als Endloskontrakt problemlos verarbeiten. Es gibt da keine Grenze bei der Anzahl der Quotes in der Datenbank.
und in welchem Format speicherst du die Kursdaten? Nutzt Du das das noch recht neue ODBC/SQL Plugin für Amibroker oder sind Deine Kursdaten dateibasiert gespeichert?
@ Global_2 [#11]
ich nutze die normale Datenbank, wie sie Amibroker anlegt wenn man Quotes importiert. Meine extra langen Zeitreihen habe ich mir aus den Historien von Tickdata.com und deren Programm in ASCII gespeichert und dann in Amibroker importiert. Welches Format Amibroker anlegt weiß ich nicht.
Definitiv ist es bei Amibroker so, dass die Verarbeitungsgeschwindigkeit nicht das Problem ist, auch nicht bei 1Min Aggregation auf dem Schirm.
Ich brauche allerdings auch keine Echtzeitverarbeitung, weil ich nicht in diesen kleinen Frames im Tickbereich arbeite.
Formeln jedoch, die wegen der bei Metastock eingebauten Beschränkungen (Zeichen pro Formel oder Anzahl von Variablen) nicht mehr möglich wären, werden innerhalb von 0.02-0.1 Sec verarbeitet. Wenn man noch einigermaßen schonend programmiert, kann es sogar schneller gehen.
@ gautama2 [#12]
Welches Format Amibroker anlegt weiß ich nicht.
das weiss ich bislang auch nicht; habe ich noch nie untersucht, weil ich dieses Amibroker-Format und auch den Downloader Amiquote noch nie verwendet habe. Ich hatte immer Metastock-Dateien für Kursdaten verwendet (denn diese Metastock-Dateien können eigentlich von fast jedem Börsenprogramm einschl. Amibroker ausgelesen werden); vor einiger Zeit habe ich die Kursdaten dann aber zum Testen von Amibrokers ODBC/SQL Plugin in eine MySQL-Datenbank überführt. Das hat einerseit gegenüber klassischer Dateiverarbeitung gewaltige Vorteile, da Queries möglich sind. Anderseits gibt es noch keine fertige Toolunterstützung für die Verwaltung der in der Datenbank gespeicherten Kursdaten (typische Vorgänge wie Symboländerung, Splits usw.), so dass man da selber "frickeln" muss; wenn man Sachen wie beisp. Symboländerungen nicht unbequem als SQL Update-Statements eingeben möchte.
[i]Definitiv ist es bei Amibroker so, dass die Verarbeitungsgeschwindigkeit nicht das Problem ist, auch nicht bei 1Min Aggregation auf dem Schirm.[/i[
ja, weil in Amibroker die Auswertung der in Formeln vorkommenden Standardindikatoren (wie MOV() usw.) optimiert wurde und die Sache mit modernen Prozessoren natürlich auch immer schneller wird. Trotzdem ist eine Formelsprache, bei die enthaltenen Funktionen konzeptionell auf der ganzen Zeitreihe operieren und somit Array-Verarbeitung durchführen, für Echtzeitzwecke viel weniger effizient als der mit der Tradestation EasyLanguage verfolgte Ansatz.
@ Global_2 [#13]
für Echtzeitzwecke ist der TS Ansatz sicher besser.
Mit SQL habe ich mich bisher nciht befassen müssen, dazu fehlt bisher die Notwendigkeit oder wohl auch das Wissen um die Vorteile.
Amiquote habe ich auch nie verwendet.
Ich sammle die Daten über IB und fülle Lücken mit dem EOD Abo von eSignal auf.
Die eSignal Daten sammle ich mit QCollector in Metastockdateien und importiere sie dann in Amibroker. Mit der Merge Funktion bringe ich dann in meine IB Symbole die eSignal Daten und die Lücken. Lücken sind allerdings sehr rar geworden.
Jedenfalls landen die Daten dann in der AB Datenbank im AB Format und solange AB das lesen kann ist mir das wurscht.
Meine EOD Aktiendaten sammle ich allerdings auch aus historischen Gründen weiter mit QCollector über dads eSignal EOD Abo in Metastockdateien und lese diese mit dem AB plugin aus.
@ gautama2 [#14]
Mit SQL habe ich mich bisher nciht befassen müssen, dazu fehlt bisher die
Notwendigkeit oder wohl auch das Wissen um die Vorteile.
das siehst Du völlig richtig. Für Anwender, die ihre Zeit mit Traden anstatt frickeln verbringen wollen, besteht keine Notwendigkeit, sich mit technischen Details zu befassen.
Ich sammle die Daten über IB und fülle Lücken mit dem EOD Abo von eSignal auf.
Die eSignal Daten sammle ich mit QCollector in Metastockdateien und importiere sie dann in Amibroker. Mit der Merge Funktion bringe ich dann in meine IB Symbole die eSignal Daten und die Lücken. Lücken sind allerdings sehr rar geworden.
ist auf jeden Fall ein sehr interessanter Ansatz, die Merge-Funktion kannte ich noch gar nicht.
@ all
Dank` Euch Erstmal Für Eure Ausführliche Berichterstattung !!! Alles Klar :)
Ich spiele den ganzen Morgen mit dem Gedanken mich (wohl im August) doch noch für die MetaStock 8.0 Realtime Version zu entscheiden - habe allerdings noch ein paar grundsätzliche Fragen ...
ALPARI, der FOREX Broker - bei dem ich gerade noch ein Demo Account habe - meinte gestern ich könnte, mit einfachen DDE Kenntnissen, auch schon jetzt aktuelle intraday Daten in MetaStock 8 importieren und verwies mich auf folgenden Link http://www.metaquotes.net/userguides ...
Er wieß mich allerdings ebenfalls daraufhin, dass der Export nach MetaStock (eben aus den oben genannten Gründen) tatsächlich beschränkt ist und empfahl mir 60min intraday Charts in MetaStock zu exportieren. Denn auf 60min. Basis würde ein Datenblatt ein ganzes Kalenderjahr reichen.
Einen ausführlichen Support bietet er diesbezüglich nicht an - und eben deshalb jetzt folgende Frage :
Kann Mir Jemand Eine Anleitung Für Mein Problem Mit Auf Den Weg Geben ?
(Wie Das Mit Der Schnittstelle Von MetaTrader Zu MetaStock Tatsächlich Funktioniert - Ich Raffs Einfach Nicht)
Hat Vielleicht Jemand Bereits Erfahrungen Diesbezüglich Gemacht ?
(Diese Thematik Scheint Euch Ja - Im Gegensatz Zu Mir - Recht Vertraut Zu Sein)
Mit freundlichem Gruß & ein entspanntes Wochenende :
Neo 23
@ Neo 23 [#16]
DDE ist Mist. Siehe auch hier im Forum irgendwo ein Statement von Metatrader.
Ich würde aus Erfahrung heraus, eine Lösung, wo ich nur über Umwege (zusatzsoft etc.) meine Daten in die Applikation hinein und Orders hinaus bekomme, nicht mal mehr mit der Kneifzange anfassen.
Eine Plattform muss von sich aus die Möglichkeit bieten verschiedene Datenfeeds zu nutzen und Orders zu einem von mir präferierten Broker senden können.
Alles andere bringt langfristig nichts, denn irgendwann wechslt man die Soft dann sowieso und muss die ganze eigene Arbeit ab- oder umschreiben.
Gruß
@ gautama2 [#17]
Danke für Deine schnelle Antwort - und auch für Deine E-Mail :)
Die Botschaft ist angekommen & der Thread hiermit beendet !!!
Mit freundlichem Gruß :
Neo 23
@ all
@ gautama2 [#4]
Eine Frage hätte ich dann doch noch ...
Ich hab EURUSD auf intraday Basis bis 2004
Ich hab EURUSD auf daily Basis bis 1999
Ich hab EURUSD auf weekly Basis bis 1989
Kann ich mit einem "Merge" alle 3 in ein "EURUSD" Symbol zusammenführen !?
Intraday (bis 2004) in daily (bis 1999) - und dies dann in weekly (1989) !?
("Dies Ist Allerdings Diesbezüglich Tatsächlich Meine Letzte Frage")
Dank Euch Schon Jetzt !!!
Mit freundlichem Gruß & ein entspanntes Wochenende :
Neo 23
@ Neo 23 [#19]
in Amibroker müsstest Du die einzelnen Reihen jeweils unter einem anderen Symbol importieren und dann mit Merge eben zu der einen Reihe die beiden anderen hinzu fügen. Dann siehst Du ja was raus kommt und wenn es Schrott war, dann eben Symbole löschen und anders versuchen :)