Hallo,
in einem über VBS selbsterstellten Indikator wird die Berechnung für jeden einzenen Tick durchgeführt. Wenn ein Handelssystem mit Aktualisierung läuft bedeutet dies, dass nicht nur für die Berechnung eines solchen VBS-Indikators im HS (Enterlong, ..., Definitionen), sondern auch für dessen Darstellungen in als Kurve in einem Diagramm die Berechnung jedes Mal aufs neue erfolgt.
In diesem zusammenhang ist zusätzlich interessant, dass die Berechnung für die Darstellung in der Graphik auf ggf. kürzeren Zeitreihen erfolgt.
Hierzu ein kurzers Mittschnitt der Tickss eines Systems für EUR/USD:
Datum Uhrzeit Start Ende Kurs
17.11.2011 17:46:47,727 2 670005 1,35195
17.11.2011 17:46:48,661 2 670005 1,35195
17.11.2011 17:46:49,863 2 670005 1,35195
17.11.2011 17:46:50,522 2 1001 1,35195
17.11.2011 17:46:51,614 2 670005 1,35195
17.11.2011 17:46:52,637 2 670005 1,35195
17.11.2011 17:46:53,269 2 1001 1,35195
Dabei sind Start und Ende für die übergebene Datenreihe wie folgt berechnet:
|
Quellcode
|
1
2
|
Start=ErsteDatenPeriode(Daten)
Ende=LetzteDatenPeriode(Daten)
|
Die Angabe für Ende springt zwischen dem Wert der tatäschlich im HS verarbeiteten Perioden (hier 670005) und den Perioden die für die Anzeige im der Graphik verwendet werden (hier 1000 und höher).
Wenn eine Berechnung nun Zeit in Anspruch nimmt würde ich sie gern über Zwischenablagen im globalen Speicher optimieren. Dazu müsste ich jedoch zwischen den Ticks der eigentlichen Berechnung und den Ticks der Graphik unterscheiden können. In Visual Basic ist dies möglich, da jeder Tick dort einen Wert vom Typ "DefinitionenTypTickArt" besitzt. Dessen Auspragungen sind:
- OptimierungAusleseTick
- MaskenTick
- SystemTick
- OptimierungTick
- undefiniert
Für die Berechnung sind für mich vorrangig interessant - ich lasse die Optimierung erstmal beiseite - die SystemTicks.
Gibt es in VBS eine Möglichkeit die Art des Ticks direkt zu ermitteln?
Herzlicher Gruß
Martin