Grund ist folgender: Habe einen Datenfeed von DTN (bin sehr angetan von diesem) und kann zwar die Daten über RTT (DDE) einbinden, dennoch möchte ich eine Datenbank aufbauen, in die alle Kurse von DTN reinlaufen - diese per XML oder was auch immer in Investox importiert werden - und die Berechnungen wiederum in die Datenbank laufen.
Jain.
RTT müsste doch Dateien mit den Daten anlegen? Damit hast Du dann Deine Input-Datenbank.
Export von Daten geht auf zwei Wegen (oder mehr?): Man kann einen Basic-Indikator programmieren, der Daten nimmt und in eine Datei schreibt. Ich hänge mal ein Beispiel an. Und man kann einen Indikator in Visual Basic (also extern als DLL) bauen, der alle Möglichkeiten hat, die man halt mit "echten" Entwicklungssystemen hat. Zum Beispiel Oracle-Zugriff, Daten per SOAP durch die Gegen schicken, ... Das ADMG-Projekt macht so.
Hier ein Sample für einen mit Basic-Script programmierten Indikator. War ein Versuch Daten rauszuschreiben und dann extern mit Datamining-Tools zu arbeiten. Im Kern führt das Teil ein paar Berechnungen durch (etwa Aroon-Indikator) und schreibt das ganze als CSV (Funktion schreibeSpalte) nach filetxt. Bitte vorsichtig beim benutzen: Das Teil fügt immer an und löscht nie. Die CSV-Datei wird daher schnell ein paar Gigabyte groß. War ein Versuch, ist nie was richtiges draus geworden. :-)
Viel Spaß
---------------------------------------------
sub schreibeSpalte(ByRef str, wert)
if (wert = NoValue) then str=str+";null" else str=str+";"+cstr(wert)
end sub
Dim i, Perioden, Startwert
Dim Start
Dim Ende
Dim filesys, filetxt
Set filesys = CreateObject("Scripting.FileSystemObject")
Set filetxt = filesys.OpenTextFile("c:\somefile.txt", 8, True)
Dim str
Dim open, high, low, close, datum
filetxt.WriteLine(name)
GetDaten "Open", open
GetDaten "High", high
GetDaten "Low", low
GetDaten "Close", close
GetDatum Datum
Start = ErsteDatenPeriode(daten)
Ende = LetzteDatenPeriode(daten)
dim AroonUp15, AroonUp30, AroonDown15, AroonDown30, GannTrend, GannSwing
dim fehler
fehler =0
if ScriptBerechneFormel("AroonUp(Close, 15)", aroonup15)=0 then fehler=fehler+1 end if
if ScriptBerechneFormel("AroonUp(Close, 30)", aroonup30)=0 then fehler=fehler+1 end if
if ScriptBerechneFormel("AroonDown(Close, 15)", aroondown15)=0 then fehler=fehler+1 end if
if ScriptBerechneFormel("AroonDown(Close, 30)", aroondown30)=0 then fehler=fehler+1 end if
if ScriptBerechneFormel("GannTrend()", GannTrend)=0 then fehler=fehler+1 end if
if ScriptBerechneFormel("GannSwing()", GannSwing)=0 then fehler=fehler+1 end if
if (fehler > 0) then
MsgBox "ScriptBerechnung hat Fehler gefunden"
end if
For i = start+100 To ende
str = ""
schreibeSpalte str, FormatDateTime(Datum(i), 2)
schreibeSpalte str, month(datum(i))
schreibeSpalte str, weekday(datum(i))
schreibeSpalte str, open(i)
schreibeSpalte str, high(i)
schreibeSpalte str, low(i)
schreibeSpalte str, close(i)
schreibeSpalte str, aroonup15(i)
schreibeSpalte str, aroonup30(i)
schreibeSpalte str, aroondown15(i)
schreibeSpalte str, GannTrend(i)
schreibeSpalte str, GannSwing(i)
Ergebnis(i)=1
filetxt.WriteLine(str)
Next
filetxt.Close
---------------------------------------------