Trading Tools - Visual Chart

Transcription

Trading Tools - Visual Chart
INHALT
Einführung
o
Was sind die Trading Tools?
o
Excel




Einstellung vor der Programmierung
Sperre wegen Benutzerkontrolle vermeiden
Konflikte mit vorigen Office Versionen vermeiden
Makros aktivieren
Visual Chart Libraries hinzufügen
COM Servers
o
VCRealTime
 Einführung
 Objekte
 Ereignisse
 Methoden
 Praktisches Beispiel
o
VCDataSource
 Einführung
 Objekte
 Ereignisse
 Methoden
 Sammlungen
 Praktisches Beispiel
o
COMTraderInterfaces
 Einführung
 Objekte
 Ereignisse
 Methoden
 Sammlungen
 Praktisches Beispiel
o
VCContributor
 Einführung
 Objekte
 Ereignisse
 Methoden
 Praktisches Beispiel
Anhang. Aufzählungen der verschiedenen Libraries
TRADING TOOLS | VISUALCHART
2
Einführung
Was sind die Trading Tools?
Die Trading Tools von Visual Chart V sind leistungsfähige Werkzeuge, die auf die COM (Component
Object Model) Technologie basieren, und den Zugang zu der Information des Programms durch jede
mit dieser Technologie kompatibler Entwicklungsumgebung erlauben.
Das COM Tool agiert als Zwischenstelle zwischen Visual Chart und der Benutzer Anwendung, zum Beispiel,
Microsoft Excel.
Dieses Bild zeigt wie die Verbindung zwischen Visual Chart und der Benutzer Anwendung erstellt wird,
sodass die Benutzer Anwendung alle Anfragen auf dem COM Tool ausführt, und dieses die Ergebnisse durch
Ereignisse meldet.
Die verschiedenen Libraries der Trading Tools verfügen über mehrere Objekte, welche die verschiedenen
Modalitäten der Datenverarbeitung in Visual Chart erben, wie zum Beispiel:





Zugang zu der Information von Titeln in Realtime
Zugang zu der historischen Datenquelle jedes Titels
Technische Daten wie Volumen, Indikatoren oder Positionen der Systeme erhalten
Zugang zu der Information der Beiträge
Reale Operationen am Markt ausführen
Bei der Interaktion mit den Daten- und Brokerageservern muss Visual Chart mit dem Realserver und
dem Brokerageserver (im Simulation-Modus oder im Modus Realer Markt) verbunden sein.
Um das Funktionieren dieser Tools zu verstehen, muss man folgende Konzepte begreifen:
OBJEKT ist eine miteinander verbundene Informations- und Funktioneneinheit. Es stellt ein Konzept dar
und verfügt über die gesamte notwendige Information, um ihn abzusehen:


Daten, die seine Attribute und Operationen beschreiben
Operationen, die auf denselben ausgeführt werden können
EREIGNIS ist die Kommunikationsart eines Objektes.
METHODE ist eine Funktion, die auf ein Objekt einwirken kann.
In diesem Handbuch werden wir Microsoft Excel verwenden, um einige Beispiele für die Anwendung der
Trading Tools zu erklären.
Die Trading Tools können trotzdem mit anderen Benutzer Anwendungen, die mit der COM Technologie
kompatibel sind, wie o.g. verwendet werden.
Excel Einstellung vor der Programmierung
Ein Excel Buch für die Implementierung unserer Tools soll erstellt werden. Da Makros in Excel zu entwickeln
sind, die die COM Server benutzen, muss die Funktion Makros aktivieren in Excel freigeschaltet und die
Benutzerkontrolle (Windows Vista oder neue Versionen) deaktiviert sein.
SPERRE WEGEN BENUTZERKONTROLLE VERMEIDEN
Öffnen Sie Excel als Administrator, damit keine Sperre wegen der Benutzerkontrolle verursacht wird. Folgen
Sie hierzu die nächsten Schritte:
1. Zugang zu Excel über den Pfad:
C:\Programme\Microsoft Office\Office12
Es könnte den Ordner Office11 anstatt den Ordner Office12 vorhanden sein. In diesem Fall sind die
gleichen Schritte zu folgen.
2. Im Ordner suchen Sie die Ikone EXCEL als Anwendung und führen Sie diese als Administrator aus.
Klicken Sie hierfür mit der rechten Maustaste darauf und wählen Sie die Option Als Administrator
ausführen des Kontextmenüs aus.
Hiermit erhalten Sie die Windows Rechte für die Benutzung der Anwendung.
TRADING TOOLS | VISUALCHART
4
KONFLIKTE MIT VORIGEN OFFICE VERSIONEN VERMEIDEN
Wir empfehlen, ein neues Buch zu öffnen und unter Excel 97-2003-Arbeitsmappe zu speichern. Damit
werden mögliche Inkompatibilitätsprobleme mit vorigen Office Versionen verhindert.
Für unser Beispiel speichern wir das Buch unter dem Namen TradingTools.xls.
MAKROS AKTIVIEREN
Folgen Sie die nächsten Schritte für die Aktivierung der Makros:
1. Klicken Sie auf den Button Optionen unter Datei.
2. Im Auswahldialog wählen Sie den Abschnitt Sicherheitscenter und hier klicken Sie auf den Button
Einstellungen für das Sicherheitscenter…
TRADING TOOLS | VISUALCHART
6
3. Wählen Sie die Option Einstellungen für Makros und aktivieren Sie die Checkbox Alle Makros
aktivieren.
4. Zuletzt klicken Sie auf den Button OK.
VISUAL CHART LIBRARIES HINZUFÜGEN
Für die Anwendung der Trading Tools in Excel müssen die anzuwendenden Libraries registriert werden.
Gehen Sie bitte hierzu wie folgt vor:
1. Klicken Sie auf den Befehl Visual Basic unter dem Menü Entwicklertools.
Sollte in der Menüleiste das Entwicklertools Menü nicht vorhanden sein, können Sie es unter dem Menü
Datei und Optionen einfügen. Klicken Sie unter Optionen auf Menüband anpassen und nachfolgend auf
Entwicklertools.
2. Wählen Sie im Menü Extras des Visual Basic Editor die Option Verweise… (der Download der Libraries
kann einige Sekunden dauern).
In der Liste der verfügbaren Referenzen müssen Sie die 4 COM Libraries suchen und aktivieren. Hiermit
werden die verschiedenen Ereignisse, Objekte und Methoden verwendet werden.
TRADING TOOLS | VISUALCHART
8
Zuletzt klicken Sie auf den Button OK.
Ab sofort sind hiermit die Libraries in Excel zur Verfügung. Falls eine andere Anwendung benutzt wird,
müssen Sie genauso die Option Referenzen suchen, um die COM Libraries zu aktivieren.
3. Visual Chart V (falls geschlossen) öffnen und sicherstellen, dass die gewünschte Information zur
Verfügung steht. Sie müssen berücksichtigen, dass Sie in der Benutzer Anwendung nur über die Information
verfügen werden, die in Ihrer Visual Chart Lizenz freigeschaltet ist.
COM SERVER
VCRealTime
EINFÜHRUNG
VCRealTime erlaubt den Zugang zu den Realtime Daten der in VisualChart verfügbaren Märkte. Damit es
funktioniert, muss das Programm gestartet und mit dem Daten-Server (RealServer) verbunden sein.
Der Server VCRealTime kann über 2 Methoden dem Kunden die Information liefern:
A. Meldung durch den Empfang von Ereignissen. Jedes Mal einen neuen Wert generiert wird, erhält
der Kunde die entsprechende Information.
B. Anfrage des Kunden auf den letzten vom Server gespeicherten Wert durch Methoden.
In beiden Fällen muss der Kunde zuerst Anfragen an VCRealTime für die Realtime Information über den
gewünschten Werten erstellen.
Der Kunde kann folgende Information anfragen:
-
Realtime Felder
Kauf-/Verkaufspositionen
Berechnete grundlegende Daten
Technische Analyse
Titelinformation
Usw.
Der Server VCRealTime liefert jede Datenangabe, die in den Visual Chart Kurslisten auch erhältlich ist.
Um diesen Server zu verwenden, soll die Benutzer Anwendung in ihrer Referenzliste die Library
VisualChart Real Time Library.dll eingefügt sein.
Diese Library schließt die nachfolgend detaillierten Objekte, Ereignisse und Methoden ein.
OBJEKTE
Die Objekte der Library VCRealTime sind die Folgende:



VCRT_ Tick
VCRT_Limit
VCRT_RealTime
VCRT_Tick. Dieses Objekts enthält die Information des für einen bestimmten Titel geänderten Feldes.
TRADING TOOLS | VISUALCHART
10
Eigenschaft
Beschreibung
SymbolCode As String
Verknüpfter Titel (Code des Titels)
Date As Date
Änderungsdatum
Field As enumVCRTField
Geändertes Feld
Text As String
Aktueller Wert des Feldes
Value As Double
Aktueller Wert des Feldes
TickIndex As Long
Index des Ticks 1
FieldEx As Long
Erweitertes Feld 2
Um diese Information zu erhalten, muss zuerst eine der folgenden Methoden abgerufen werden.
-
RequestSymbolFeed/RequestSymbolsFeed für die enumVCRTField Felder.
RequestFieldEx/RequestFieldsEx für die erweiterten Felder.
Wenn sie erhalten sind, können diese Werte jederzeit durch die GetFieldText/GetFieldValue oder
GetFieldExText/ GetFieldExValue Methoden nachgeschlagen werden.
Andererseits liefert das OnNewTicks Ereignis das VCRT_Tick Objekt mit den letzten gemeldeten Werten
zurück.
1. Die Ticks mit gleichem Datum (sie sind in der gleichen Sekunde erstellt) unterscheiden sich in
einem autonumerischen Wert, der sich im TickIndex Feld darstellt.
2. Ein erweitertes Feld umfasst eine beachtliche Anzahl an möglichen Werten, die jederzeit
vergrößert werden kann. Dieses Feld macht Sinn, wenn das Feld Field den Wert VCRT_Field_Ex
hat.
VCRT_Limit. Dieses Objekt beinhaltet Information für ein bestimmtes Level der Positionen.
Eigenschaft
Beschreibung
SymbolCode As String
Verknüpfter Titel (Code des Titels)
LimitIndex As Integer
Level der Position (1. Position, 2. …)
AskPrice As Double
Verkaufspreis der Position des LimitIndex Levels
AskVolume As Double
Verkaufsvolumen der Position des LimitIndex Levels
AskOrders As Double
Anzahl der Verkaufsorders in der Position des LimitIndex Levels
BidPrice As Double
Kaufpreis der Position des LimitIndex Levels
BidVolume As Double
Kaufvolumen der Position des LimitIndex Levels
BidOrders As Double
Anzahl der Kauforders in der Position des LimitIndex Levels
Um diese Information zu erhalten, muss zuerst die RequestSymbolFeed Methode mit dem Parameter
Limits a True abgerufen werden. Wenn die Positionen erhalten sind, können diese Werte jederzeit mit den
GetLimit/GetLimits Methoden nachgeschlagen werden.
VCRT_RealTime. Dieses Objekt ist die Hauptschnittstelle der Library. Hier wird sie konfiguriert und die
Anfragen ausgeführt, um Information in Realtime zu erhalten.
Die Benutzer Anwendung erstellt generell ein Objekt dieses Typs und definiert die gewünschten
anzuwendenden Ereignisse.
Eigenschaft
Beschreibung
TimerFrecuency As LongAs Long
Maximal Wartezeit (Millisekunde), um die erhaltenen Ticks zu
senden 1.
TicksBufferSize As Long
Maximalgröße des Buffers. Es zeigt die maximale Tickanzahl, die
kumuliert werden kann. Wenn die Anzahl überschritten wird,
werden die erhaltenen Ticks 1 gesendet.
Wenn VCRT_RealTime Ticks erhält, anstatt diese direkt an den Kunden zu senden, werden sie kumuliert
und ihre Sendung aufgeschoben. Dies bedeutet eine bessere Leistung der Anwendung, da die Übermittlung
zwischen dem COM Server und der Anwendung des Kunden reduziert wird.
VCRT_RealTime verfügt über zwei Mechanismen, die die Sendung der kumulierten Information zwingen:
TimerFrecuency: Wenn die festgelegte Zeit in dieser Eigenschaft überschritten ist, werden alle kumulierten
Ticks gesendet, auch wenn der Buffer (dessen Größe unter TicksBufferSize angegeben ist) nicht voll ist.
TicksBufferSize: Definiert die Tickanzahl, die maximal kumuliert werden. Ist die Tickanzahl überschritten,
auch wenn die unter TimerFrecuency festgelegte Zeit nicht vergangen ist, werden die Ticks dem Kunden
gesendet.
Generell werden diese Parameter nicht modifiziert. Wenn sie aber modifiziert werden, wird hierzu ihr Wert
erhöht. Die Anwendungen, die keine sofortige Datenaktualisierung benötigen, können diese Werte erhöhen,
um die Anwendungsleistung zu verbessern.
Wichtig.
Sind diese Werte reduziert, um die Information mit weniger Verzögerung zu erhalten, muss man in
Betracht ziehen, dass die Sendung der Ticks zwischen dem COM Server und der Anwendung des Kunden Zeit in
Anspruch nimmt. Hier gibt es ein Punkt, in dem die Reduzierung dieser Eigenschaften eine größere
Verzögerung bedeutet. Genau das Gegenteil als das Gewünschte bei der Reduzierung der genannten
Eigenschaften.
EREIGNISSE
Nachfolgend sind die verschiedenen Ereignisse erklärt, die zustande kommen können.
OnNewTicks (ArrayTicks() As VCRT_Tick). Beschafft Zugang zu den Änderungen eines bestimmten
Titels. Jeder Wert von ArrayTicks ist ein VCRT_Tick Element mit der Information einer Änderung in einem
Feld, das im eigenen VCRT_Tick angegeben ist.
Um Information zu erhalten, muss zuerst diese Information mit einer der folgenden Methoden angefragt
werden: RequestSymbolFeed, RequestSymbolsFeed, RequestFieldEx oder RequestFieldsEx.
OnNewLimits (LimitsInfo() As VCRT_Limit). Verschafft Zugang zu den Änderungen, die in den
Positionen eines gegebenen Titels stattgefunden haben. Jeder Wert des LimitsInfos ist ein VCRT_Limit
Element mit der Information der geänderten Position.
Um Information über die Positionen zu erhalten, muss zuerst diese Information mit der Methode
RequestSymbolFeed oder RequestSymbolsFeed mit dem Limits a True Parameter abgefragt werden.
Dieses Ereignis findet nach dem OnLimitsChanged Ereignis statt.
OnLimitsChanged (SymbolsChanged() As String). Meldet, dass Änderungen in den Positionen der in
SymbolsChanged erhaltenen Titel stattgefunden haben. Die Werte der Positionen können mit den GetLimit
und GetLimits Methoden nachgesehen werden.
Um Information über die Positionen zu erhalten, muss sie zuerst mit der Methode RequestSymbolFeed
oder RequestSymbolsFeed mit dem Parameter Limits a True angefragt werden. Dieses Ereignis findet vor
dem Ereignis OnNewLimits statt.
OnServerShutDown(). Dieses Ereignis wird genau ausgeführt, bevor der Server nicht mehr zur
Verfügung steht. Es ist nützlich, um andere Anwendungen zu informieren, dass der Server nicht mehr zur
Verfügung steht oder um Vorgänge durchzuführen, die mit dem Abschließen der Anwendung zu tun haben.
TRADING TOOLS | VISUALCHART
12
METHODEN
Nachfolgend sind die Methoden erklärt, die mit den verschiedenen Objekten der VCRealTime Library
verwendet werden können.
RequestSymbolFeed (SymbolCode As String, Limits As Bool). Fordert den Empfang in Realtime der
Änderungen im Titel, dessen Code im SymbolCode angegeben ist.
Wenn Limits den Wert True haben, wird die Information über die Änderungen in den Positionen (Ereignisse
OnLimitsChanged und OnNewLimits) erhalten.
Die Information wird im OnNewTicks Ereignis erhalten und kann jederzeit mit den GetFieldText und
GetFieldValue Methoden abgefragt werden.
Für jede Anfrage und wenn es nicht mehr nötig ist, weitere Information eines bestimmten Titels zu
erhalten, muss CancelSymbolFeed abgerufen werden.
RequestSymbolsFeed (Symbols() As String, Limits As Bool). Fordert den Empfang in Realtime der
Änderungen in den Titeln, deren Codes unter Symbols spezifiziert sind.
Die Information wird genauso wie in RequestSymbolFeed erhalten.
CancelSymbolFeed (SymbolCode As String, Limits As Bool). Reduziert die Anzahl der Anfragen in
Realtime für den angegebenen Titel. Wenn null erreicht ist, wird keine zusätzliche Information über diesen
Titel in Realtime erhalten.
Es ist wichtig, diese Methode abzurufen, sobald die Information des angegebenen Titels nicht mehr nötig
ist, da die Anzahl der Meldungen, die der COM Server verarbeitet muss, verkleinert wird.
RequestSymbolFeed (SymbolCode As String, Limits As Bool). Fordert den Empfang in Realtime der
Änderungen in den Titeln, deren Codes unter Symbols spezifiziert sind.
Die Information wird genauso wie in RequestSymbolFeed erhalten.
GetFieldText (SymbolCode As String, FieldType As enumVCRTField) As String. Gibt den Titelwert
SymbolCode für den im enumVCRTField bestimmten Feld zurück. Es ist nötig, die Information für diesen
Titel (siehe RequestSymbolFeed oder RequestSymbolsFeed) anzufragen und dass die Information in dem
OnNewTicks Ereignis angekommen sei.
GetFieldValue (SymbolCode As String, FieldType As enumVCRTField) As Double. Gibt den
numerischen Wert des Titels SymbolCode für den im enumVCRTField bestimmten Feld zurück.
Hinweis: Für die erweiterten Felder soll die GetFieldExValue Methode angewandt werden.
GetLimit (SymbolCode As String, IdxLimit As Long) As VCRT_Limit. Gibt einen VCRT_Limit mit der
Information über die n IdxLimit Position des Titels SymbolCode zurück. Es ist nötig, die Information für
diesen Titel mit dem Limits a True Parameter (siehe RequestSymbolFeed oder RequestSymbolsFeed)
anzufragen und dass die Information in dem OnNewTicks Ereignis angekommen sei.
GetLimits (SymbolCode As String, LimitsInfo() As VCRT_Limit) As Long. Gibt in LimitsInfo dieselbe
Information als GetLimit zurück, aber für alle Positionen anstatt nur für eine bestimmte Position. Gibt die
Anzahl der Positionen des Titels zurück.
FindSymbols (TextQuery As String, ArraySymbols() As String). Führt eine Titelanfrage aus und gibt
in ArraySymbols die Codes von allen zurück, die mit dem in TextQuery bestimmten Muster
übereinstimmen.
RequestFieldEx (SymbolCode As String, FieldEx As Long). Fordert den Empfang in Realtime der
Änderungen im erweiterten Feld FieldEx (siehe enumVCRTExtField) des Titels an, dessen Code in
SymbolCode angegeben ist. Die Information wird im OnNewTicks Ereignis erhalten und kann zu jeder Zeit
durch die GetFieldExText und GetFieldExValue Methoden abgefragt werden.
RequestFieldsEx (SymbolCode As String, ArrayFields() As Long). Fordert den Empfang in Realtime
der Änderungen in den erweiterten Feldern, die in ArrayFields (siehe enumVCRTExtField) spezifiziert sind,
des Titels an, dessen Code in SymbolCode angegeben ist. Die Information wird genauso wie in
RequestFieldEx erhalten.
GetFieldExText (SymbolCode As String, FieldEx As Long) As String. Gibt den Titelwert SymbolCode
für den erweiterten und im bestimmten FieldEx Feld zurück. Es ist nötig, die Information für diesen Titel
(siehe RequestFieldEx oder RequestFieldsEx) anzufragen und dass die Information in dem OnNewTicks
Ereignis angekommen sei.
GetFieldExValue (SymbolCode As String, FieldEx As Long) As Double. Gibt den numerischen Wert
des Titels SymbolCode für den im erweiterten und bestimmten FieldEx Feld zurück. Es ist nötig, die
Information für diesen Titel (siehe RequestFieldEx oder RequestFieldsEx) anzufragen und dass die
Information in dem Ereignis OnNewTicks angekommen sei.
PRAKTISCHES BEISPIEL FÜR DIE ANWENDUNG DES VCREALTIME SERVERS
Im folgenden Beispiel zeigen wir wie Sie das VCRT_Tick Objekt verwenden können. Hier werden wir das
OnNewTicks Ereignis benutzen, das ein Array mit den letzten erhaltenen VCRT_Tick Elementen liefert.
Ist ein Ereignis erhalten, wird sich jedes angekommene VCRT_Tick Objekt die eigenen Datenangaben eines
Ticks (Uhrzeit, RT-Kurs, Kauf1, Verkauf1, usw.) beziehen.
Das Beispiel besteht aus einer Excel-Seite, um die Datenangaben Uhrzeit, RT-Kurs, Kauf1, Verkauf1 und
Volumen eines bestimmten auswählbaren Titels zu empfangen und zusätzlich diese Datenangaben mit
jedem neuen erhaltenen Tick zu aktualisieren.
Nächste Schritte sind zu folgen:
1.
2.
3.
4.
5.
Umgebung vorbereiten
Ereignis für den Download der Information generieren
Programmierung der Prozesse
Ereignis generieren, um den Informationsdownload anzuhalten
Information visualisieren
1. Umgebung vorbereiten. Definieren Sie in einer Excel-Seite die Schnittstelle, über die der Titelcode
eingegeben und die angefragte Information visualisiert wird:
In der Titelcode Zelle wird jederzeit der gewünschte Titel spezifiziert. Diese ist eine Eingangszelle. Die
restlichen beschriebenen Zellen sind Ausgangszellen und werden die von Visual Chart V erhaltenen
Datenangaben zeigen.
2. Ereignis für den Download der Information generieren. Ein Ereignis für den Datendownload muss
generiert werden. Nachfolgend sind die Schritte für die Erstellung eines Befehlsbuttons erklärt, der
diesem Zweck dient. Gehen Sie bitte wie folgt vor:
TRADING TOOLS | VISUALCHART
14
1. Aktivieren Sie den Entwurfsmodus
innerhalb des Menüs Entwicklertools.
2. Klicken Sie auf das Menü Einfügen.
3. Klicken Sie auf den Befehlsschaltfläche
(Active X-Steuerelement).
4. Gehen Sie auf die Stelle des Fensters, auf der dieses Kontrolle-Objekt erscheinen soll, und klicken Sie
mit der Maustaste für seine Anzeige.
Um die Ansicht zu verbessern, klicken Sie darauf mit der rechten Maustaste und wählen Sie die Option
Eigenschaften aus.
Über das Eigenschaften Fenster werden die Parameter des Namens modifiziert:
Name
OKBtn
Caption
OK
5. Zuletzt klicken Sie auf den gerade erstellten Befehlsbutton.
Wie in der vorigen Abbildung zu sehen ist, wird das Click Ereignis unseres Buttons im Visual Basic Editor
automatisch generiert.
Hiermit werden bei jedem Klick auf den OK Button die Funktionen ausgeführt, die in diesem Ereignis
angegeben wurden. An dieser Stelle werden Sie deshalb den Code des Programms starten.
HINWEIS: Vor dem Start der Programmierung müssen Sie das Einfügen der Referenz der VCRealTimeLib
Klasse bestätigen. Andernfalls können Sie ihre Objekte und Eigenschaften nicht verwenden.
3. Programmierung der Prozesse
Da in diesem Fall die VCRealTimeLib Klasse verwendet wird, definieren wir eine Variable dieser Art mit dem
Namen RTKlasse.
Public WithEvents RTKlasse As VCRealTimeLib.VCRT_RealTime
Ein Objekt, das Ereignisse verursacht, wird als Ereignisquelle bekannt.
Um die Ereignisse aufgrund einer Ereignisquelle zu kontrollieren, können Sie eine Variable der Objektart mit
dem Stichwort WithEvents erstellen. Dieses Stichwort spezifiziert, dass die RTKlasse Variable für die
Kontrolle der Ereignisse eines Objektes vom VCRT_RealTime Typ verwendet wird.
TRADING TOOLS | VISUALCHART
16
Wenn diese Variable erstellt ist, muss im VisualBasic Editor das OnNewTicks Ereignis wie folgt generiert
werden:
Wählen Sie im Reiter der Objekte Auswahl das RTKlasse Objekt. Im Reiter der Prozesse werden
automatisch die entsprechenden Prozesse dieses Objekts angezeigt. Wählen Sie aus der Liste das
OnNewTicks Ereignis.
Hiermit wird in Ihrem Code das OnewTIcks Ereignis des RTKlasse Objekts generiert.
Private Sub RTKlasse_OnNewTicks(ArrayTicks() As VCRealTimeLib.VCRT_Tick)
End Sub
Dieses Ereignis bedeutet, dass jedes Mal ein neuer vom Benutzer abgefragten Tick generiert ist, werden die
in diesem Prozess angegebenen Funktionen ausgeführt. Hier wird der Inhalt der Zellen aktualisiert, die in
der Umgebung vorbereiten erstellt wurden.
Hiermit verfügen Sie bereits über zwei Prozesse:


Das Programm starten
Die Schritte für jede Phase definieren, die vom Empfang neuer Ticks abhängig ist.
4. Ereignis generieren, um den Informationsdownload anzuhalten
An dieser Stelle fehlt es nur noch, die Funktion für das Beenden des Programms zu erstellen. Der
einfachste Weg ist, einen ähnlichen Befehlsbutton zu dem OKBtn zu erstellen. In diesem Fall wird aber der
Button den Datendownload anhalten.
Folgen Sie hierzu dieselbe Schritte als im 2. Schritt, wobei hier in den Eigenschaften des Objektes Folgendes
einzugeben ist:
Name
StopBtn
Caption
STOP
Die Excel-Seite wird deshalb wie folgt aussehen:
Wie bei dem OK Button klicken Sie zwei Mal auf den neuen Button und das Click Ereignis wird automatisch
generiert:
Private Sub StopBtn_Click()
End Sub
Um den Datendownload anzuhalten, brauchen Sie nur die RTKlasse Variable freizustellen. An dieser Stelle
wird auch die Umgebung initialisiert.
All diese Schritte werden aus einem neuen Prozess heraus ausgeführt, der aus dem Ereignis StopBtn_Click
abgerufen wird.
Diesem neuen Prozess werden wir SystemStop benennen und sein Inhalt ist der Folgende:
Public Sub SystemStop()
Set RTKlasse = Nothing
Range("D7:D11").ClearContents
OKBtn.Enabled = True
StopBtn.Enabled = False
End Sub
Damit wir unterscheiden können, wann das System aktiviert und deaktiviert ist, müssen wir wie folgt
vorgehen:

STOP Button. Wir deaktivieren diesen Button, wenn wir keine Daten herunterladen, und aktivieren
ihn beim Download der Daten.

OK Button. Wir deaktivieren diesen Button beim Download der Daten und aktivieren ihn, wenn wir
keine Daten herunterladen.
Als Nächstes werden die Schritte definiert, um den Download-Prozess zu starten, der über dem Verfahren
OKBtn_Click geleitet wird. Der Code wird der Folgende:
Private Sub OKBtn_Click()
Dim Titel As String
SystemStop
Set RTKlasse = New VCRealTimeLib.VCRT_RealTime
Titel = Range("D4")
OKBtn.Enabled = False
StopBtn.Enabled = True
RTKlasse.TicksBufferSize = 20
RTKlasse.RequestSymbolFeed Titel, False
End Sub
Folgende Schritte wurden ausgeführt:
1. Zuerst die Umgebung beim Abruf des Prozesses SystemStop initialisieren.
TRADING TOOLS | VISUALCHART
18
2. Ein Objekt VCRT_RealTime erstellen und seine Ereignisse mit den Ereignisprozessen verbinden, die mit
RTKlasse über “Set-New” verknüpft sind.
3. Der in D4 Zelle definierte Titelcode der Variable Titel zuweisen.
4. Den Button STOP aktivieren und den Button OK deaktivieren.
5. Die Tickanzahl definieren, die maximal kumuliert werden, um der Abruf des OnNewTicks Ereignis
anzufordern. Ist diese Tickanzahl überschritten, auch wenn die unter TimerFrecuency bestimmte Zeit
nicht vergangen ist, werden die Ticks dem Kunden zugeschickt.
6. Den Empfang in Realtime der Änderungen in dem Titel anfordern, dessen Code in der Variable Titel
spezifiziert ist. Da der Parameter Limits falsch ist, empfangen wir keine Information über Änderungen in
den Positionen, denn diese für unser Beispiel nicht nötig sind.
Ab diesem Punkt wird bei jedem Klick auf den OK Button ein VCRT_RealTime Objekt erstellt, bei dem die
Information über den in der Zelle D4 definierten Titel abgerufen wird.
Die heruntergeladenen Daten können im OnNewTicks Ereignis wie folgt manipuliert werden:
Private Sub RTKlasse_OnNewTicks(ArrayTicks() As VCRealTimeLib.VCRT_Tick)
Dim i As Integer
For i = 0 To UBound(ArrayTicks)
Range("D7") = ArrayTicks(i).Date
If ArrayTicks(i).Field = VCRT_Field_Last Then
Range("D8") = ArrayTicks(i).Value
Else If ArrayTicks(i).Field = VCRT_Field_Buy1 Then
Range("D9") = ArrayTicks(i).Value
Else If ArrayTicks(i).Field = VCRT_Field_Sale1 Then
Range("D10") = ArrayTicks(i).Value
Else If ArrayTicks(i).Field = VCRT_Field_Last_Vol Then
Range("D11") = ArrayTicks(i).Value
End If
Next i
End Sub
Folgende Schritte wurden ausgeführt:
1.
Da wir ein Array-Ticks erhalten, gehen wir von der Position 0 bis zum Ende des Array
(UBOUND(ArrayTicks) durch.
2.
Da sich in jeder Position des Arrays ein VCRT_Tick Objekt befindet, fragen wir das Objekt den Feldtyp
(RT-Kurs, Volumen, Kauf1, usw.) an, und je nach dem Typ werden wir seinen Wert (arrayticks(i).value)
in der entsprechenden Zelle speichern.
Für das Feld Uhrzeit brauchen wir nicht nach dem Feldtyp zu fragen, da die Eigenschaft Datum generell zu
allen Feldtypen ist. Deshalb werden wir in diesem Fall direkt in der Zelle Uhrzeit den Wert der Eigenschaft
Datum des letzten erhaltenen Ticks (arrayticks(i).Date) schreiben.
Da wir nur die Uhrzeit des letzten Ticks
wissen möchten, und das Format der
Eigenschaft Date vom Typ “dd/mm/yyyy
hh:mm:ss” ist, werden wir das Zeitformat
für die Uhrzeit Zelle spezifizieren.
Hierzu klicken wir mit der rechten
Maustaste auf die D7 Zelle und wählen die
Option Zellenformat… aus.
Im folgenden Auswahldialog wählen wir die Uhrzeit Kategorie, übernehmen den standardmäßigen Typ und
klicken auf den OK Button.
Zuletzt muss man berücksichtigen, dass beim Klicken auf den STOP Button der SystemStop Prozess
abgerufen wird.
Private Sub BtnStop_Click()
SystemStop
End Sub
Hiermit ist das Projekt beendet und wir können den VisualBasic Editor schließen.
Zum Schluss deaktivieren wir den Entwurfmodus unter dem Menü Entwicklertools in Excel.
TRADING TOOLS | VISUALCHART
20
5.
Information visualisieren
Als Erstes muss die Verbindung in Visual Chart V mit dem Daten-Server bestehen und außerdem, müssen
die entsprechenden Märkte in Realtime in der Visual Chart Lizenz freigeschaltet sein.
Als Beispiel möchten wir Information in Realtime vom Titel BASF erhalten. Der komplette Code in Visual
Chart für diesen Titel lautet 01005BAS. Man muss in Betracht ziehen, dass der komplette Code von
jedem gewünschten Produkt eingegeben werden soll.
Standardmäßig folgt der Code jedes Produktes diese Nomenklatur:
010 + Code des Marktes + Titel
Ist der komplette Code nicht eingegeben, kann dann Visual Chart den Wert nicht finden und deshalb keine
Daten an Excel senden wird.
Nach der Eingabe des Codes in der D4 Zelle, klicken wir auf OK, und ab sofort werden Daten in Realtime
des Titels empfangen.
Um den Empfang der Information anzuhalten, klicken wir auf STOP. Damit wird die Verknüpfung zwischen
Visual Chart und Excel unterbrochen, sodass wir die Excel-Seite ohne Probleme schließen können.
VCDataSource
EINFÜHRUNG
Die VCDataSource Library erlaubt Zugang zu der Datenquelle:




Kurshistorien
Indikatoren
Systeme
Statistische Werte
Die Handelszeiten jedes Titels sowie die Information über einen bestimmten Wert, z.B. die
Mindestbewegung, Zeitunterschied, Wert per Punkt, oder den Wert eines Indikators zu einem bestimmten
Zeitpunkt der Historie, die Kauf- und Verkaufspositionen, die Zuverlässigkeit eines Systems, usw. können
abgefragt werden.
Wie hier zu sehen ist, funktioniert der Server als Vermittler zwischen VisualChart und die BenutzerAnwendung (zum Beispiel Microsoft Excel).
Das Hauptobjekt ist VCDS_DataSourceManager. Mit diesem Objekt können Datenserien, Indikatoren und
Systeme erstellt werden und Ereignisse erhalten, wenn diese sich ändern.
Um diesen Server verwenden zu können, muss die Benutzer-Anwendung in ihrer Referenzliste die Library
VisualChart Source Library.dll zur Verfügung haben.
Ähnlich der Library in Realtime, verfügt diese Library über diverse Objekte, Ereignisse und Methoden, die für
die Datenverarbeitung verwendet werden können.
OBJEKTE
Die Objekte der VCDataSource Library sind die Folgenden:













VCDS_BarValue
VCDS_TradeSession
VCDS_SymbolInfo
VCDS_Parameter
VCDS_CatalogItem
VCDS_SystemOrder
VCDS_Trade
VCDS_DataSource
VCDS_DataSerie
VCDS_System
VCDS_Indicator
VCDS_Context
VCDS_DataSourceManager
VCDS_BarValue. Enthält die Werte eines Balkens bei einem VCDS_DataSerie Objekt.
Eigenschaft
Beschreibung
High As Double
Balkenhoch.
Low As Double
Balkentief.
Close As Double
Schluss.
Open As Double
Eröffnung.
Date As Date
Datum.
Volume As Double
Volumen des Balkens.
OpenInterest As Double
OpenInterest.
VCDS_TradeSession. Definiert eine Sitzungsperiode (siehe VCDS_SymbolInfo).
Eigenschaft
Beschreibung
OpenTime As Date
Startdatum der Periode.
CloseTime As Date
Endedatum der Periode.
DayOfWeek As Long
Wochentag (Sonntag = 1… Samstag = 7).
VCDS_SymbolInfo. Enthält Information über einen Titel (siehe GetSymbolInfo von VCDS_DataSource).
Eigenschaft
Beschreibung
Type As enumVCDSInstrumentType
Instrumententyp.
TradingSessions As VCDS_TradeSessions
Sammlungen der Sitzungen, in denen der Titel
notiert.
Description As String
Titelbeschreibung.
Decimals As Long
Anzahl der Kommastellen.
TimeOffset As Long
GMT-Differenz.
TRADING TOOLS | VISUALCHART
22
PointValue As Double
Wert pro Punkt.
MinMovement As Double
Min. Movement.
VCDS_Parameter. Enthält Information über einen Parameter eines Indikators oder Systems.
Eigenschaft
Beschreibung
Name As String
Name des Parameters.
Description As String
Beschreibung.
CurrentValue As Object
Aktueller Wert des Parameters.
DefaultValue As Object
Standardmäßiger Wert für den Parameter.
HighestLimit As Double
Höchster Wert, den der Parameter übernehmen
kann.
LowestLimit As Double
Tiefster Wert, den der Parameter übernehmen
kann.
ReadOnly As Bool
Zeigt, ob der Parameter schreibgeschützt ist.
VCDS_CatalogItem. Enthält Information über einen gegebenen Indikator oder System.
Eigenschaft
Beschreibung
Code As String
Code des Indikators/Systems.
Name As String
Name des Indikators/Systems.
Description As String
Beschreibung.
ParamsCount As Long
Parameteranzahl des Indikators/Systems.
VCDS_SystemOrder. Enthält Information über eine Systemorder (siehe OnFilledOrders Ereignis).
Eigenschaft
Beschreibung
OrderType As enumVCDSOrderType
Ordertyp (siehe enumVCDSOrderType).
Bar As Long
Balken der Order.
Volume As Long
Volumen der Order.
CummVolume As Long
Kumuliertes Volumen.
IsLiquidate As Bool
Zeigt, ob es sich um eine Gleichstellung handelt.
Price As Double
Orderpreis.
Label As String
Etikett.
Commission As Double
Provision.
PointValue As Double
Wert pro Punkt.
SymbolCode As String
Titelcode.
Date As Date
Datum der Order.
Guarantee As Double
Garantie.
Balance As Double
Saldo.
VCDS_Trade. Enthält Information über einen Trade des Systems.
Eigenschaft
EntryPrice As Double
Beschreibung
Einstiegspreis des Trades.
ExitPrice As Double
Ausstiegspreis des Trades.
EntryDate As Date
Einstiegsdatum des Trades.
ExitDate As Date
Ausstiegsdatum des Trades.
Side As enumVCDSOrderSide
Zeigt, ob der Trade ein Kauf oder Verkauf ist.
OrderType As enumVCDSOrderType
Ordertyp des Trades.
PercentNetProfit As Double
Tradegewinn in Prozent.
NetProfit As Double
Tradegewinn.
EntryCommission As Double
Einstiegsprovision.
ExitCommission As Double
Ausstiegsprovision.
InitContracts As Object
Kontraktenanzahl des Trades.
RemainContracts As Object
Gesamte Anzahl der gekauften oder verkauften
Kontrakte im System, wenn der Trade ausgeführt ist.
Label As String
Etikett.
IsCurrentOpenPosition As Bool
Zeigt, ob es sich um einen im System ausgeführten
Trade (False) oder den entstehenden Trade handelt,
falls die aktuelle offene Position geschlossen ist (True).
VCDS_DataSource. VCDS_DataSource ist eine Schnittstelle, die sämtliche Datenserien implementiert und
grundlegende Information über diese Serien anbietet.
Eigenschaft
Beschreibung
Id As Long
Identifier der Serie. Jede Serie verfügt über einen
verknüpften numerischen Wert für ihre eindeutige
Identifizierung.
Code As String
Seriencode.
Name As String
Serienname.
Compression As Long
Komprimierung (Einheiten).
CompressionType As
enumVCDSCompressionType
Komprimierungstyp.
ActiveEvents As Bool
Zeigt, ob Ereignisse der Serie 1 empfangen werden möchten.
Size As Long
Elementeanzahl der Serie.
Type As enumVCDSDataSourceType
Serientyp (Indikator, System…).
InitDate As Date
Startdatum der Serie.
EndDate As Date
Endedatum der Serie.
Sollen die Ereignisse nicht empfangen werden, empfehlen wir dann ihre Deaktivierung, um die
Anwendungsleistung zu verbessern.
Der Startwert dieser Eigenschaft bei der Erstellung der Serie ist derselbe der ActiveEvents Eigenschaft des
VCDS_DataSourceManager Objektes.
VCDS_DataSerie. Definiert eine Datenserie und bietet Zugang zu den diversen Preisen des Titelbalkens
(Eröffnung, Tief, Volumen…). Die Schnittstelle IVCDS_DataSource wird auch hiermit implementiert.
Die Serien werden mit der NewDataSerie Methode von VCDS_DataSourceManager erstellt. Jedes Mal ein
neuer Balken in der Serie generiert ist, wird das OnNewDataSerieBar Ereignis von
VCDS_DataSourceManager ausgelöst.
VCDS_System. Stellt ein System dar und bietet Zugang zu seinen Trades und seinen statistischen Werten.
TRADING TOOLS | VISUALCHART
24
Während der Systemberechnung melden die OnSystemEvent und OnFilledOrders Ereignisse die
Positionsänderung, die Orderausführungen und die Trade-Generierung.
Die Systeme werden mit der NewSystem Methode von VCDS_DataSourceManager erstellt.
Eigenschaft
Beschreibung
ParentSource As VCDS_DataSource
Zeigt die Vaterserie des Systems.
StartBar As Long
Zeigt den Balken, wo die Systemberechnung startet.
MarketPosition([Index As Object]) As
numVCDSMarketPosition
Zeigt die Systemposition im n Index Trade. Ohne Parameter
wird die aktuelle Systemposition wieder gegeben.
VCDS_Indicator. Stellt einen Indikator dar und bietet Zugang zu den diversen Linienwerten. Das
OnNewIndicatorBar Ereignis wird ausgelöst, jedes Mal ein neuer Balken im Indikator erstellt ist.
Die Indikatoren werden mit der NewIndicator Methode von VCDS_DataSourceManager erstellt.
Eigenschaft
Beschreibung
ParentSource As VCDS_DataSource
Zeigt die Vaterserie des Indikators.
StartBar As Long
Zeigt den Balken, wo die Indikatorberechnung startet.
NumberOfLines As Long
Linienanzahl des Indikators. Dieser Wert kann null sein, wenn
der Indikator noch nicht berechnet wurde.
VCDS_Context. Die Kontexte agieren als einen Serienkontainer (Objekte, die die Schnittstelle
VCDS_DataSource implementieren), welche die Zeitskala miteinander teilen.
Die Serien müssen unbedingt in einem Kontext enthalten werden. Ist ein Kontext nicht definiert, wird der
Serien ein Kontext automatisch zugeteilt. Wenn ein Kontext ohne Serien bleibt, wird er automatisch
gelöscht.
Die Kontexte mit Ticks-Serien dürfen nur eine einzige DataSerie enthalten. Die Ticks-Serien können den
Kontext nicht miteinander teilen.
Beschränkungen mit den restlichen Serientypen, Indikatoren und Systemen, die immer den Kontext mit
ihrer Vaterserie miteinander teilen, existieren nicht.
Bei der Erstellung einer Serie (siehe NewDataSerie von VCDS_DataSourceManager) kann der Kontext für die
neue Serie ausgewählt werden. Dieser Kontext kann aus der Context Eigenschaft einer zuerst erstellten
VCDS_DataSource erhalten werden.
Die Eigenschaft ContextWorkMode von VCDS_DataSourceManager bestimmt das Verhalten, falls kein
Kontext bei der Serienerstellung angegeben wurde:
VCDS_CWM_Multiple: Die Serie wird in einem neuen Kontext erstellt.
VCDS_CWM_Shared: Die Serie wird innerhalb des Kontexts standardmäßig erstellt
(siehe enumVCDSContextWorkMode).
Eigenschaft
Beschreibung
Id
Kontextidentifier. Sämtliche Ereignisse verfügen über einen verknüpften numerischen
Wert für ihre eindeutige Identifizierung.
Name
Kontextname.
VCDS_DataSourceManager. Dieses Objekt stellt die Hauptschnittstelle des COM Servers dar und generiert
die Ereignisse der verschiedenen Serien, die erstellt werden können.
Eigenschaft
Beschreibung
ContextWorkMode
Kontextarbeitsweise. Sie definiert das Verhalten bei der
Serienerstellung, wenn der Kontext für die Serien nicht angegeben
wurde (siehe enumVCDSContextWorkMode).
StoreHistoricSystemOrder
Der Benutzer kann die Speicherung oder nicht Speicherung der Historie
der vom System gesendeten Orders entscheiden.
EREIGNISSE
Der VCDataSource Server bietet umfassende Information über die resultierenden Datenangaben in der
Historie der Datenquelle. Da diese Datenquellen auch dynamische Tabellen sind, können die Realtime Daten
ebenfalls erhalten werden.
Deshalb existiert eine Meldungsoption von neuen Daten durch den Empfang der Ereignisse. Jedes Mal ein
neuer Wert generiert wird, erhält der Benutzer ein Ereignis mit der Information. Es gibt Ereignisse für alle
verfügbaren Objektarten.
Nachfolgend werden die verschiedenen möglichen Ereignisse detailliert.
OnNewDataSerieBar (DataSerie As VCDS_DataSerie). Dieses Ereignis findet statt, wenn ein neuer
Balken in der Serie generiert ist.
OnNewIndicatorBar (Indicator As VCDS_Indicator). Dieses Ereignis findet statt, wenn ein neuer
Balken im Indikator generiert ist.
OnSystemEvent (System As VCDS_System, EventType As enumVCDSSystemEvent). Dieses
Ereignis findet statt, wenn eine neue Order bzw. Trade existiert und wenn die Position geändert wird.
EventType zeigt das generierte Ereignis.
OnFilledOrders (System As VCDS_System, Orders As VCDS_SystemOrders). Dieses Ereignis findet
statt, wenn eine neue Order im System System ausgeführt ist. Orders enthält eine Liste mit den
ausgeführten Orders. Diese Funktion wird sofort nach Ausführung einer Order ausgelöst.
OnServerShutDown (). Dieses Ereignis wird ausgeführt, genau bevor der Server aufhört, zur Verfügung
zu stehen. Es ist nützlich, um andere Anwendungen zu verständigen, dass sie den Server nicht mehr
verwenden können, oder um Aufgaben für die Schließung der Anwendung auszuführen.
METHODEN
Wenn Sie Daten aus jedem Objekttyp des VCDataSource Servers entnehmen möchten, müssen Sie die mit
jedem Objekt verknüpften Methoden anwenden.
Im Folgenden sind die Methoden aufgeführt, die mit den diversen Objekten der VCDataSource Library
verwendet werden können.
VCDS_CatalogItem
GetParam(Index As Object) As VCDS_Parameter. Liefert den vom Index angegebenen Parameter
zurück. Index kann sich auf die Position des Parameters (bei numerischem Wert) beziehen oder den
Namen des Parameters (bei einem String) enthalten.
GetParameters() As VCDS_Parameters. Liefert eine Sammlung mit allen Parametern des
Indikators/Systems zurück.
VCDS_DataSource
Context() As VCDS_Context. Liefert den Kontext der Serie (siehe VCDS_Context) zurück.
GetSymbolInfo () As VCDS_SymbolInfo. Liefert Information über den Titel der Serie zurück.
Indicators() As VCDS_Indicators. Liefert eine Sammlung mit den Indikatoren der Serie zurück.
TRADING TOOLS | VISUALCHART
26
VCDS_DataSerie
GetBarValues(Index As Object) As VCDS_BarValue. Liefert den n Index Balken der Serie zurück.
GetBarsValues(InitIndex As Object, EndIndex As Object) As VCDS_BarValue(). Liefert einen
Array mit den Balken zwischen InitIndex und EndIndex. Beide Parameter können ein Datum der Serie oder
eine Position zwischen 1 und Size darstellen.
Systems() As VCDS_Systems. Liefert eine Sammlung der Serie zurück.
VCDS_System
GetCalculateOptions(Unit As enumVCDSStatisticMeasurementUnit, CompType As
enumVCDSStatisticCompression, Compression As Long, BeginDate As Date, EndDate As Date).
Liefert die aktuelle Konfiguration der Statistik des Systems 1 zurück.
SetCalculateOptions(Unit As enumVCDSStatisticMeasurementUnit, CompType As
enumVCDSStatisticCompression, Compression As Long, BeginDate As Date, EndDate As Date).
Weist die Werte zu, mit denen die Berechnungen der Statistik 1 ausgeführt werden.
GetStatisticVariableSize(Variable As enumVCDSStatisticVariable) As Long. Zeigt die
Elementeanzahl der angegebenen statistischen Variable.
GetStatisticVariableDate(Variable As enumVCDSStatisticVariable, pVal As Long) As Date. Zeigt
das Datum, das mit dem n pVal der angegebenen statistischen Variable verbunden ist.
GetStatisticVariableValue(Variable As enumVCDSStatisticVariable, Index As Long) As Object.
Liefert den n Index Wert der angegebenen statistischen Variable zurück.
GetStatisticVariableValues(Variable As enumVCDSStatisticVariable) As Object(). Liefert einen
Array mit sämtlichen Werten der angegebenen statistischen Variable zurück.
GetTrade([Index As Object]) As VCDS_Trade. Liefert den n Index Trade des Systems zurück.
GetTradeRange( [InitIndex As Objetc], [EndIndex As Objetc]) As VCDS_Trades. Liefert eine
Sammlung mit allen Systemtrades zwischen InitIndex und EndIndex. Beide Parameter können sich auf
eine Position oder ein Tradedatum beziehen. Falls InitIndex ignoriert ist, wird es mit dem ersten Trade
angefangen. Ist EndIndex ignoriert, wird es mit dem letzten Trade beendet.
GetParameters() As VCDS_Parameters. Liefert eine Sammlung mit den Systemparametern zurück.
Die Statistik wird mit den angegebenen Parametern konfiguriert und sämtliche in den restlichen Methoden
zurückgelieferten Parameter haben diese Konfiguration.
VCDS_Indikator
Value(Index As Object, [Line As Object]) As Double. Liefert den n Index Wert des Indikators für die
Line Linie zurück. Falls der Line Parameter ignoriert ist, wird die erste Linie verwendet. Index kann eine
Position oder ein Datum sein.
Values(BeginIndex As Object, EndIndex As Object, [Line As Object]) As Object(). Liefert einen
Array mit den Werten des Indikators zwischen BeginIndex und EndIndex für die angegebene Linie (die
erste, wenn der Line Parameter ignoriert ist) zurück. Die Indices können eine Position oder ein Datum
sein.
GetPosition([Index As Object], [Line As Object]) As enumVCDSMarketPosition. Liefert die
bullische/bärische/neutrale Position des Indikators für die Position und die angegebenen Linien zurück. Die
erste Linie wird verwendet, wenn der Line Parameter ignoriert ist. Falls der Parameter Index ignoriert ist,
wird die aktuelle Position des Indikators zurückgeliefert.
GetLineName(Line As Long) As String. Liefert den Name der Line Linie des Indikators zurück.
GetParameters() As VCDS_Parameters. Liefert eine Sammlung mit den Parametern des Indikators
zurück.
VCDS_Context
DataSeries() As VCDS_DataSeries. Liefert eine Sammlung mit allen Serien des Kontexts zurück.
Systems() As VCDS_Systems. Liefert eine Sammlung mit allen Systemen des Kontexts zurück.
Indicators() as VCDS_Indicators. Liefert eine Sammlung mit allen Indikatoren des Kontexts zurück.
VCDS_DataSourceManager
Contexts() As VCDS_Contexts. Liefert eine Sammlung mit allen vorhandenen Kontexten zurück.
DataSeries() As VCDS_DataSeries. Liefert eine Sammlung mit allen vorhandenen Serien zurück.
Systems() As VCDS_Systems. Liefert eine Sammlung mit allen vorhandenen Systemen zurück.
Indicators() As VCDS_Indicators. Liefert eine Sammlung mit allen vorhandenen Indikatoren zurück.
NewDataSerie (SymbolCode As String, CompType As enumVCDSCompressionType,
CompressionUnits As Long, [InitDate As Object], [EndDate As Object], [Context As Object]) As
VCDS_DataSerie. Erstellt eine neue Datenserie für den Titel, dessen Code unter SymbolCode spezifiziert
ist. CompType und CompressionUnits spezifizieren den Typ und die Komprimierungseinheiten, mit denen
die Datenserie erstellt wird. Die Datenangaben ermöglichen, den gewünschten Serienrang zu spezifizieren
(falls sie ignoriert sind, werden die von Visual Chart standardmäßig verwendeten Werte übernommen).
Der Kontext ermöglicht, eine Serie zu erstellen, damit sie denselben Kontext einer bereits erstellten Serie
benutzen kann.
NewIndicator (Name As String, DataSource As VCDS_DataSource, Parameters As Object()) As
VCDS_Indicator. Erstellt den unter Name spezifizierten Indikator über die DataSource Serie mit den
angegebenen Parametern.
NewSystem (Name As String, DataSource As VCDS_DataSource, Parameters As Object()) As
VCDS_System. Erstellt das unter Name spezifizierte System über die DataSource Serie mit den
angegebenen Parametern.
DeleteDataSource(DataSource As VCDS_DataSource). Löscht die angegebene Serie.
DeleteAll(). Löscht alle Serien und Kontexte.
GetIndicatorInfo(Name As Object) As VCDS_CatalogItem. Liefert die mit dem Name Indikator
verknüpfte Information zurück (siehe VCDS_CatalogItem).
GetSystemInfo(Name As Object) As VCDS_CatalogItem. Liefert die mit dem Name System
verknüpfte Information zurück (siehe VCDS_CatalogItem).
GetIndicatorCatalog() As VCDS_CatalogItems. Liefert eine Sammlung mit der zu allen Indikatoren
verknüpften Information zurück (siehe VCDS_CatalogItem).
GetSystemCatalog() As VCDS_CatalogItems. Liefert eine Sammlung mit der zu allen Systemen
verknüpften Information zurück (siehe VCDS_CatalogItem).
GetDataSource(Id As Long) As VCDS_DataSource. Liefert ein Serie Objekt (VCDS_DataSerie,
VCDS_Indicator oder VCDS_System), Id gegeben, zurück.
SAMMLUNGEN
Alle Sammlungen verfügen über die gleiche Schnittstelle und Funktionsweise. Sie werden verwendet, um
eine Datengruppe desselben Typs zurückzuliefern.
Die folgende Kursliste zeigt die vorhandenen Sammlungen und den enthaltene Objekttyp:
Sammlung
TRADING TOOLS | VISUALCHART
Objekttyp
VCDS_TradeSessions
VCDS_TradeSession
VCDS_Parameters
VCDS_Parameter
VCDS_CatalogItems
VCDS_CatalogItem
VCDS_SystemOrders
VCDS_SystemOrder
28
VCDS_Trades
VCDS_Trade
VCDS_DataSources
VCDS_DataSource
VCDS_DataSeries
VCDS_DataSerie
VCDS_Systems
VCDS_System
VCDS_Indicators
VCDS_Indicator
VCDS_Contexts
VCDS_Context
Eigenschaft
Beschreibung
Count As Long
Liefert die Elementeanzahl der Sammlung zurück.
Item(index As Object) As XXX
Liefert ein Item der Sammlung zurück (XXX bezieht sich auf den
Sammlungstyp, der in der zweiten Spalte der vorigen Tabelle
angezeigt ist).
_NewEnum
Alle Sammlungen implementieren diese versteckte Methode, um den
Durchlauf über die verschiedenen Items der Sammlung bei der
Anwendung von foreach zu ermöglichen.
PRAKTISCHES BEISPIEL FÜR DIE ANWENDUNG DES VCDATASOURCE SERVERS
Im folgenden Beispiel werden wir die Differenz in Prozent zwischen der Eröffnung und dem Schluss der
Balken einer bestimmten Historie für einen konkreten Wert suchen. Zusätzlich zu dieser Datenangabe
möchten wir auch den Trend des RSI jederzeit gemäß folgender Regel wissen:


Wenn der RSI überverkauft ist (und von unten die 30 kreuzt), wird er einen bullischen Trend
anzeigen.
Wenn der RSI übergekauft ist (und von oben die 70 kreuzt), wird er einen bärischen Trend
anzeigen.
Noch einmal werden wir als Benutzer Anwendung Microsoft Excel verwenden. Wir übernehmen das Trading
Tools Buch, das im vorigen Beispiel erstellt wurde, und arbeiten in seiner Seite 2, da wir in der Seite 1 das
vorige Beispiel in Realtime haben.
Es muss berücksichtigt werden, dass bei der Anwendung des VCDS_DataSourceManager Objektes die
VisualChart Source Library 1.0 zu der Referenzliste hinzugefügt werden muss.
Gehen Sie bitte hierzu wie folgt vor:
1.
2.
3.
4.
Umgebung vorbereiten
Ereignis für den Download der Information generieren
Programmierung der Prozesse
Information visualisieren
1. Umgebung vorbereiten
Zuerst wird die visuelle Schnittstelle für die Eingabe und Anzeige der Information entworfen. Die Seite 2 des
Excel Buches soll wie folgt aussehen:
2. Ereignis für den Download der Information generieren
Der Button DOWNLOAD ist ein Befehlsbutton ähnlich den OK und STOP Buttons der Beispielseite in
Realtime.
Für die Stellung der Kontrollen in einer Excel Seite müssen Sie das Menü Entwicklertools auswählen, die
Option Design Modus aktivieren und nachfolgend die Option Einfügen  Befehlsbutton (active X)
auswählen.
Wie bei den anderen Buttons des vorigen Beispiels gehen Sie auf das Eigenschaften Fenster des Objekts und
hier können Sie die Parameter für den Name modifizieren:
Name
DownloadBtn
Caption
DOWNLOAD
Im Folgenden klicken Sie auf den Button, damit das Click Ereignis im Visual Basic Editor generiert wird.
Dieses Ereignis zeigt, dass jedes Mal Sie den Button DOWNLOAD klicken, die im Ereignis eingegebenen
Funktionen ausgeführt werden.
3. Programmierung der Prozesse. Wie vorher erwähnt, ist die Hauptklasse des VCDataSource Servers
die VCDS_DataSourceManager Klasse. Deshalb werden wir ein sogenanntes DSKlasse Objekt des
folgenden Typs erstellen:
Public WithEvents DSKlasse As VDS_DataSourceManager
Zusätzlich zu diesem Objekt werden wir zwei weitere Objekte erstellen. Eins vom Typ Datenquelle und das
andere vom Typ Indikator, da wir diese zwei Typen benötigen.
Dim Quelle As VCDS_DataSource
Dim RSIData As VCDS_Indicator
Das RSIData Objekt wurde so genannt, weil wir uns immer auf den RSI Indikator für diese bestimmte
Objektklasse beziehen werden.
Da wir den Trendwert immer speichern werden, werden wir die TrendRSI globale Variable erstellen, die bei
bullischem Trend den Wert 1 oder bei bärischem Trend -1 haben kann.
TRADING TOOLS | VISUALCHART
30
Dim RSITrend As Integer
Die Programmstruktur wird über drei Teile verfügen:



Startmethode und Objekterstellung  Das Ereignis DownloadBtn_Click wird verwendet.
Methode für den Datendownload  Ein neuer Prozess DownloadStart wird verwendet.
Methode für das Beenden des Programms  Ein neuer Prozess DownloadStop wird verwendet.
Der Prozess SystemStop dient der Umgebung neu zu starten, und den verschiedenen während des
Prozesses erstellten Objekten zu befreien. Der Code wird dann wie folgt aussehen:
Public Sub SystemStop()
Set Quelle = Nothing
Set RSIData = Nothing
If Not DSKlasse Is Nothing Then
DSKlasse.DeleteAll
Set DSKlasse = Nothing
End If
OKBtn.Enabled = True
StopBtn.Enabled = False
End Sub
Wir haben Folgendes ausgeführt:
1. Die verwendeten Objekte befreien.
2. Mit der DeleteAll Methode müssen wir alle Quelleverknüpfungen löschen, die die Benutzer Anwendung
mit Visual Chart haben könnte.
3. Den Button DOWNLOAD aktivieren.
Bezüglich dem Startcode und der Objekterstellung wird es wie folgt aussehen:
Private Sub DownloadBtn_Click()
Dim Titel As String
Dim MyComp As enumVCDSCompressionType
Dim MyCompUni As Integer
Dim RSIPeriode As Integer
On Error GoTo Fehler
Range("A8:F8000").ClearContents
Range("A8:F8000").ClearFormats
SystemStop
'..
Set DSKlasse = New VCDS_DataSourceManager
DownloadBtn.Enabled = False
Titel = Range("B4")
'Quelle erstellen
If Titel <> "" Then
MyCompUni = CInt(Range("E5"))
If Range("E4") = "Minuten" Then MyComp = VCDS_CT_Minutes
If Range("E4") = "Tage" Then MyComp = VCDS_CT_Days
Set Quelle = DSKlasse.NewDataSerie(Titel, MyComp, MyCompUni)
'Erstellungsbestätigung
If Quelle.Size > 0 Then
RSIPeriode = Range("B5")
RSITrend = 0
'RSI Indikator erstellen
Set RSIData = DSKlasse.NewIndicator("RSI", Quelle, RSIPeriode, 70, 30)
'RSI Erstellung bestätigen
If RSIData.Size > 0 Then
DownloadStart
Else
SystemStop
End If
Else
SystemStop
End If
End If
Fehler:
If Err.Number <> 0 Then SystemStop
End Sub
In diesem Prozess haben wir diverse lokalen Variablen angemeldet:
Titel: Hier wird der Titelcode des analysierenden Titels gespeichert.
MyComp: Diese Variable ist vom Typ enumVCDSCompressionType. Dieser Aufzählungstyp gehört der
VCDataSource Library und dient den diversen möglichen Komprimierungstypen (Minuten, Tage, Wochen,
usw.) zu definieren. Für unser Beispiel erlauben wir, dass sowohl Minuten als auch Tage je nach der
BALKENTYP Zelle möglich werden. Ist der Typ “Tage” in der Zelle eingegeben, dann wird MyComp vom Typ
VCDS_CT_Days sein und bei “Minuten” wird dann MyComp vom Typ VCDS_CT_Minutes sein.
Möchten wir mehr Qualität unserer Schnittstelle geben, können wir sogar festlegen, dass nur diese zwei
Werte in der Zelle spezifiziert werden. Hierzu gehen wir wie folgt vor:
1. Wir schrieben in den F4 und F5 Zellen die “Minuten” und “Tage” Texten jeweils.
2. Wir ändern die Quellefarbe dieser zwei Zellen, damit sie dieselbe Hintergrundfarbe haben (hiermit
werden sie nicht gesehen).
3. Wir wählen die E4 Zelle und die Option Datenüberprüfung des Menüs Daten aus:
4. Im Dialogfenster wählen wir unter den Optionen Erlauben, die Liste Option, und bei Quelle
schreiben wir “=$F$4:$F$5”.
5. Zuletzt klicken wir auf OK.
MyCompUni: Hier speichern wir die Einheitenanzahl der Balkenkomprimierung, das heißt, den Inhalt der
E5 Zelle.
PeriodeRSI: Hier wird die Periode des Indikators, d.h., der Inhalt der B5 Zelle gespeichert.
TRADING TOOLS | VISUALCHART
32
Hier sind wir wie folgt vorgegangen:
1. Die Umgebung beim Löschen der Zelleninhalt starten. Hierzu verwenden wir die Eigenschaften der
Zellenkategorie ClearFormats und ClearContents.
2. Die SystemStop Methode rufen, um alle zu verwendeten Objekte zuerst zu befreien.
3. Das KlassDS Objekt erstellen.
4. Den Button DOWNLOAD aktivieren, damit wir daran denken, dass solange die Daten
heruntergeladen werden, können wir nicht den Button nochmals betätigen.
5. Sobald wir den Titel mit Informationsinhalt bestätigen, erstellen wir das Quelle Objekt bei der
Anwendung der Methode der KlassDS NewDataSerie. Diese Methode fordert den Titelcode und
die Balkenkomprimierung.
6. Nach der Festlegung der NewDataSerie kann Folgendes passieren:
a. Ein Fehler kann entstehen, weil der Titel nicht existiert oder nicht gefunden wird. In
diesem Fall, um die Fehlermeldung zu vermeiden, müssen wir OnError GoTo festlegen,
sodass sie bei einem Fehler, direkt zu dem Abschnitt Fehler überspringt und die
SystemStop Methode gerufen und beendet wird.
b. Keine Fehler entstanden sind, aber die Quelle leer ist. In diesem Fall rufen wir auch
SystemStop und beenden.
c. Keine Fehler entstanden sind und die Quelle verfügt über Daten. In diesem Fall gehen wir
mit dem Prozess fort.
7. Wird der Prozess fortgesetzt, können wir dann das Indikator Objekt erstellen, da wir bereits über
eine Grundquelle verfügen. Die Indikatoren werden über die Methode der DSKlasse NewIndicator
Klasse generiert. Diese Methode fordert immer eine Grundquelle, sodass jedes Mal wir mit
Indikatoren arbeiten möchten, müssen wir zuerst die entsprechende Quelle erstellen. Die
NewIndicator Methode verlangt den Indikatorcode (den “RSI” in unserem Beispiel), das Quelle
Objekt und die Parameter des Indikators. Da wir weder das untere noch das obere Band des RSI
ändern werden, definieren wir sie sofort.
8. Verfügt der Indikator über Daten, dann werden wir die Daten herunterladen. Andernfalls rufen wir
SystemStop und beenden.
Jetzt brauchen wir nur noch den entsprechenden Teil für den Datendownload zu definieren. In diesem
Prozess werden wir auch lokale Variablen verwenden, die uns die Prozessauffassung vereinfachen.
Die verwendenden Variablen sind die Folgende:
Bar: Diese Variable wird als Balkenzähler verwendet. Da wir über die gesamte Historie der Quelle
durchgehen werden, speichern wir die Position des n Balkens unter Bar.
RSI: In dieser Variable speichern wir den vom Indikator zurückgegebenen Wert für die unter Bar
eingegebene Position.
RSIVor: Da wir den vom RSI gegebenen Trend berechnet werden, brauchen wir den vorigen Wert des RSI,
um die Trendrichtung zu beobachten. Unter RSIAnt werden wir den letzten Wert des RSI speichern, den wir
gerade berechnet haben.
PreisDiff: In dieser Variable speichern wir die Differenz zwischen Eröffnung und Schluss.
Zeile: In dieser Variable speichern wir die entsprechende Zeilennummer für das Schreiben in Excel. Mit der
Fortsetzung des Schreibens werden wir die Zeilennummer erhöhen, die zuerst den Wert 8 hat, denn diese
die erste leere Zeile ist.
x: Die Variable x werden wir als einen lediglich informativen Wert verwendet. Da der Download-Prozess
einige Sekunden dauern kann, geben wir jederzeit ein, wie viel uns noch für das Beenden fehlt, in dem die
Differenz in Prozent zwischen Bar und der gesamten Balkenanzahl berechnet wird. Das Ergebnis wird unter
x gespeichert und dieser Wert auf dem Bildschirm durch die Application.StatusBar Excel Methode angezeigt.
Der Prozesscode DownloadStart bleibt wie folgt:
Public Sub DownloadStart()
Dim Bar As Long
Dim RSI As Double
Dim RSIVor As Double
Dim PreisDiff As Double
Dim Zeile As Long
Dim x As Double
On Error GoTo Fehler
Zeile = 8
RSIVor = 2147483647 'Nullwert
For Bar = 1 To Quelle.Size
'DownloadInfo
x = Int((Bar / Quelle.Size) * 100)
Application.StatusBar = x & "% loading"
'Datum
Range("A" & Zeile) = Quelle.GetBarValues(Bar).Date
'Eröffnung
Range("B" & Zeile) = Round(Quelle.GetBarValues(Bar).Open, 4)
'Schluss
Range("C" & Zeile) = Round(Quelle.GetBarValues(Bar).Close, 4)
'Differenz %
PreisDiff = Round((Range("C" & Zeile) - Range("B" & Zeile)) / Range("B" & Zeile), 3)
Range("D" & Zeile) = PreisDiff
Range("D" & Zeile).NumberFormat = "0.00%"
If PreisDiff > 0 Then Range("D" & Zeile).Font.Color = RGB(0, 255, 0)
If PreisDiff < 0 Then Range("D" & Zeile).Font.Color = RGB(255, 0, 0)
'Balken, ab denen RSI exist
If Bar >= Range("B5").Value Then
'Wert RSI
RSI = Round(RSIData.Value(Bar, 1), 2)
If RSI <> 2147483647 Then
Range("E" & Zeile) = RSI
'Trendkontrolle
If RSIVor <> 2147483647 Then
If RSIVor <= 30 And RSI > 30 Then RSITrend = 1
If RSIVor >= 70 And RSI < 70 Then RSITrend = -1
If RSITrend = 1 Then
Range("F" & Zeile) = "Bullisch"
Range("F" & Zeile).Font.Color = RGB(0, 255, 0)
ElseIf RSITrend = -1 Then
Range("F" & Zeile) = "Bärisch"
Range("F" & Zeile).Font.Color = RGB(255, 0, 0)
End If
End If
RSIAnt = Range("E" & Zeile).Value
End If
End If
Zeile = Zeile + 1
Next Bar
'--SystemStop
Fehler:
If Err.Number <> 0 Then SystemStop
End Sub
Im Prozess wurde Folgendes unternommen:
1. RSIVor wird mit Nullwert gestartet, damit das erste Mal wir eine RSI Wert erhalten, der Trend nicht
berechnet wird, da wir noch keine zwei Werte zum Vergleichen haben.
TRADING TOOLS | VISUALCHART
34
2. Wir gehen durch die Historie der Quelle dank der For To… Next Erklärung. Die Bar Variable wird
jederzeit die n Position markieren. Der Startwert ist 1 und den letzte Wert, das heißt, den letzte
geladene Balken des Charts erhält man durch die Size Eigenschaft des Quelle Objektes.
3. Für jede Position schreiben wir in der entsprechenden Zelle das Datum, die Eröffnung und den Schluss
des Balkens. Hierzu wird die GetBarValues Methode des Quelle Objektes verwendet.
4. Wir berechnen ebenfalls die Differenz zwischen Eröffnung und Schluss. Um der Datenangabe einen
Mehrwert zuzugeben, werden wir das Prozentformat mit der Anwendung der NumberFormat
Eigenschaft benutzen und zusätzlich den Wert rot oder blau mit der Font.Color Eigenschaft zeichnen,
je nach einer positiven oder negativen Differenz.
5. Die ersten Balken des Charts werden keine RSI-Werte haben. Deshalb müssen wir warten, bis der Bar
Wert gleich oder höher als die Indikator Periode ist. Nachfolgend schreiben wir den RSI-Wert.
6. Zuletzt berechnen wir den Trend, in dem der RSI-Wert mit dem des RSIVor und die Position dieser
zwei Werte bezüglich des unteren und oberen Bands verglichen werden. Im Folgenden werden die
oben erklärten Trendregeln angewandt und je nach dem Fall speichern wir den entsprechenden Wert
in der RSITrend Variable.
7. Wenn das Ende der Historie erreicht ist, kommt das Programm aus dem For Schleife raus. Als Letztes
wird die SystemStop Methode gerufen, um die Objekte zu befreien und zu beenden.
Hiermit ist das Projekt beendet und der VisualBasic Editor kann geschlossen werden.
Zum Schluss deaktivieren wir den Entwurfsmodus unter dem Menü Entwicklertools von Excel.
4. Die Information visualisieren
Zuerst müssen wir sicher gehen, dass Visual Chart V mit dem Daten-Server verbunden ist und außerdem
der erprobende Titel oder der entsprechende Markt in unserer Lizenz in Realtime aktiviert ist.
Als Beispiel werden wir die Daten des BMW Titels downloaden.
Der komplette Code in Visual Chart für diesen Wert ist 010005BMW. Es muss berücksichtigt werden, dass
der komplette Code jedes gewünschten Produktes eingegeben werden muss.
Im Allgemeinen wird der Code jedes Produktes folgende Nomenklatur haben:
010 + Code des Marktes + Titel
Ist der komplette Code nicht eingegeben, kann Visual Chart den Wert nicht finden und deshalb werden
keine Daten an Excel gesendet.
Wenn der Code in der B4 Zelle eingegeben ist, füllen wir die anderen Einstiegsparameter aus oder behalten
die standardmäßigen Parameter.
Zuletzt drucken wir DOWNLOAD und der Daten-Download wird gestartet.
Ist der Download beendet, wird das Programm die Verknüpfung zwischen Visual Chart und Excel
automatisch löschen (da die Methode SystemStop gerufen wurde) und wir unsere Excel Seite problemlos
schließen können.
COMTraderInterfaces
EINFÜHRUNG
Der COMTraderInterfaces Server stellt das Brokerage für Visual Chart V zur Verfügung. Damit es
funktioniert, muss das Programm ausgeführt und mit den Daten- und Brokerage-Servern verbunden sein.
Wie in der Abbildung zu sehen ist, funktioniert dieser Server als Vermittler zwischen VisualChart und der
Anwendung des Benutzers (z.B. Microsoft Excel).
Der Benutzer sendet die Anfragen an COMTraderInterfaces und dieser meldet die Ergebnisse über die
Ereignisse. Ebenfalls können Sie jederzeit einige Daten anfordern, die vorher über die Methodeanwendung
erhalten wurden.
Für die Benutzung des COMTraderInterfaces Servers muss die Anwendung des Benutzers in ihrer
Referenzliste die VisualChart Trader Library 1.0 Klasse eingeschlossen haben.
Diese Library schließt eine Serie von Objekten, Ereignissen und Methoden ein, die in den folgenden Seiten
detailliert werden.
OBJEKTE
Die Objekte der COMTraderInterfaces Library sind die folgenden:








VCT_Order
VCT_QueryFilter
VCT_OpenPosition
VCT_CloseOperation
VCT_Balance
VCT_Account
VCT_MarketOrdersInfo
VCT_Trader
VCT_Order. Dieses Objekt verkapselt die wichtige Information einer Order für ihre Sendung an Markt und
für den Erhalt der aktualisierten Order in den verschiedenen Ereignissen des Servers.
Die wichtigsten Eigenschaften für die Aufgaben des Benutzers (z.B. für die Ordersendung) sind die
folgenden:








Account. Zeigt das Konto, mit dem gehandelt wird (ein Benutzer kann über mehrere Konten
verfügen).
SymbolCode. Titel auf den die Order gesendet wird (z.B. 010005ADS für ADIDAS).
OrderType. Ordertyp, der gesendet werden möchte.
OrderSide. Gibt an, ob ein Kauf oder Verkauf ist.
Volume. Volumen, das in der Order gehandelt wird.
Price und StopPrice. Sie müssen eine oder die zwei Optionen je nach dem Ordertyp ausfüllen.
VolumeRestriction. Hier wird die auf die Order gewünschte Volumenbeschränkung angewandt.
 Ist die VCT_VR_Hide Beschränkung (verstecktes Volumen) beinhaltet, muss die
HideVolume Angabe mit dem gewünschten versteckten Volumen angegeben
werden.
 Ist die VCT_VR_MinVolume Beschränkung (minimal Volumen) beinhaltet, muss die
MinVolume Angabe mit dem gewünschten Minimalvolumen angegeben werden.
TimeRestriction. Hier wird die auf die Order gewünschte Zeitbeschränkung angewandt.
 Ist die VCT_TR_Date Beschränkung (bis zu einem Datum) beinhaltet, muss die
ValidDate Angabe mit dem gewünschten Gültigkeitsdatum angegeben werden.
TRADING TOOLS | VISUALCHART
36

OrderID (Orderidentifier). Eine andere interessante Eigenschaft, die nach der Ordersendung
nachgeschlagen werden kann. Der Identifier soll zum Beispiel bei den Änderungen und Stornierungen
einer bereits gesendeten Order benutzt werden.
Einige Ordertypen, wie OCO, OSO und Bracket, generieren mehrere miteinander verknüpften Orders.
Die RelatedId und RelatedType Eigenschaften ermöglichen, das Verhältnis zwischen diesen
Eigenschaften festzustellen:

Bei OSO und Bracket Orders, in denen eine Hauptorder vorliegt, hat die Order als RelatedId ihren
eigenen Identifier.

Bei den restlichen Fällen ist RelatedId der Identifier der Order, mit der er das Verhältnis unter
RelatedType eingegeben ist.
Eigenschaft
Beschreibung
Account As String
Kontoname.
SymbolCode As String
Titelcode.
OrderType As enumVCTOrderType
Ordertyp.
OrderSide As enumVCTOrderSide
Zeigt, ob es ein Kauf oder Verkauf ist.
Volume As Double
Volumen der Order.
Price As Double
Preis der Order.
StopPrice As Double
Auslösepreis der Order.
ValidDate As Date
Gültigkeitsdatum.
UserOrderID As String
Identifier des Benutzers. Er wird intern nicht benutzt (aber der
Benutzer kann einen eigenen Identifier mit der Order
verknüpfen).
OrderID As String
Orderidentifier.
UserName As String
Benutzer.
Date As Date
Datum.
RemainVolume As Double
Noch nicht ausgeführtes Volumen.
Error As String
Letzter Fehler (wenn vorhanden).
Status As enumVCTOrderStatus
Orderzustand.
Location As enumVCTOrderLocation
Orderlokalisierung.
Source As enumVCTSource
Quelle, aus der die Order abgeschickt wurde.
Currency As String
Währung.
AvgPrice As Double
Durchschnittspreis der Orderausführung.
VolumeRestriction As
enumVCTVolumeRestriction
Volumenbeschränkung der Order.
TimeRestriction As
enumVCTTimeRestriction
Zeitbeschränkung der Order.
HideVolume As Long
Verstecktes Volumen.
MinVolume As Long
Minimal Volumen.
RelatedId As String
Identifier der verknüpften Order.
RelatedType As enumVCTRelatedType
Verhältnistyp der Order mit ihrer verknüpften Order (wenn
vorhanden).
VCT_QueryFilter. Beinhaltet die Filterinformation, die zu der Orderabfrage anzuwenden ist
(siehe GetOrders von VCT_Order).
Eigenschaft
Beschreibung
RowQueryLimit As Long
Begrenzt die Ergebnisanzahl der Abfrage.
Filter As enumVCTOrderFilter
Ordertypen, die nachgeschlagen werden möchten.
Account As String
Kontoname.
StartDate As Date
Startdatum der Abfrage.
EndDate As Date
Endedatum der Abfrage.
VCT_OpenPosition. Beinhaltet Information über die offene Position.
Eigenschaft
Beschreibung
Account As String
Kontoname.
SymbolCode As String
Titelcode.
Description As String
Beschreibung.
Side As enumVCTOrderSide
Ordertyp (Kauf oder Verkauf).
Volume As Double
Volumen der offenen Position.
Currency As String
Währung.
Price As Double
Preis.
Profit As Double
Gewinn.
Date As Date
Datum.
PositionStatus As enumVCTOpenPositionStatus
Orderzustand.
VCT_ClosedOperation. Beinhaltet Information über die geschlossenen Operationen.
Eigenschaft
Beschreibung
Account As String
Kontoname.
SymbolCode As String
Titelcode.
Volume As Double
Volumen.
Currency As String
Währung.
BoughtPrice As Double Kaufpreis.
SoldPrice As Double
Verkaufspreis.
Profit As Double
Gewinn.
BoughtDate As Date
Kaufdatum.
SoldDate As Date
Verkaufsdatum.
VCT_Balance. Beinhaltet Information über den Saldo und das verfügbare Kapital für das Trading.
Eigenschaft
Beschreibung
PortfolioValue As Double
Portfolio.
NetWorth As Double
Vermögen.
Margins As Double
Garantien.
OutstandingBalance As Double
Kaufkraft.
Cash As Double
Bargeld.
MarginCash As Double
Zurückbehaltenes Bargeld.
CashByLeverage As Double
Verfügbar wegen Hebel.
TRADING TOOLS | VISUALCHART
38
VCT_Account. Beinhaltet Information über das Konto, mit dem gehandelt wird.
Eigenschaft
Beschreibung
Account As String
Kontoname.
Description As String
Kontobeschreibung.
Balance As VCT_Balance
Bilanz (siehe VCT_Balance).
VCT_MarketOrdersInfo. Beinhaltet Information über einen Markt.
Eigenschaft
MarketCode As String
Beschreibung
Marktcode.
VCT_Trader. Dieses Objekt stellt die Hauptschnittstelle des COM Servers dar und fungiert als den
Ausgangspunkt für die Ordersendung und den Erhalt der Ereignisse, die mit den Orders verbunden sind.
Eigenschaft
Beschreibung
Accounts As VCT_Accounts
Liefert eine Sammlung mit sämtlichen Benutzerkonten
zurück.
MarketOrdersInfos As VCT_MarketOrdersInfos
Liefert eine Sammlung von VCT_MarketOrdersInfo mit
Information über die Ordertypen und die von den
verschiedenen Märkten unterstützten Beschränkungen
zurück.
ClosedOperations As VCT_ClosedOperations
Liefert eine Sammlung mit den geschlossenen
Operationen zurück.
OpenPositions As VCT_OpenPositions
Liefert eine Sammlung mit den offenen Positionen
zurück.
Orders As VCT_Orders
Liefert eine Sammlung mit den zurzeit in Visual Chart
vorhandenen Orders (Alle, Offene …) zurück.
EREIGNISSE
OnOrderInMarket(Order As VCT_Order). Zeigt, dass die Order am Markt ist.
OnModifiedOrder(Order As VCT_Order). Die Order wurde modifiziert.
OnCancelledOrder(Order As VCT_Order). Die Order wurde storniert.
OnTotalExecutedOrder(Order As VCT_Order). Die Order wurde vollständig ausgeführt.
OnError(Order As VCT_Order). Ein Fehler mit der angegebenen Order wurde aufgetreten.
(Die Eigenschaft Error von VCT_Order nachschlagen).
OnPartialExecutedOrder(Order As VCT_Order). Die Order wurde teilweise ausgeführt.
OnNewOrderLocation(Order As VCT_Order). Die Orderlokalisierung wurde geändert.
(Siehe enumVCTOrderLocation).
OnChangedOpenPositions(Account As String). Die offenen Positionen des angegebenen Kontos
wurden geändert.
OnNewClosedOperations(Account As String). Neue geschlossene Operationen des angegebenen
Kontos sind vorhanden.
OnChangedBalance(Account As String). Die Bilanz des angegebenen Kontos wurde geändert.
OnServerShutDown(). Dieses Ereignis wird ausgeführt, genau bevor der Server aufhört, zur Verfügung
zu stehen. Es ist nützlich, um andere Anwendungen zu verständigen, dass sie den Server nicht mehr
verwenden können, oder um Aufgaben für die Schließung der Anwendung auszuführen.
METHODEN
Die Methoden, die mit den Objekten der ComTraderInterfaces Library verwendet werden können, sind
nachfolgend detailliert.
VCT_MarketOrdersInfo
GetSupportedOrders(OrderType() As enumVCTOrderType). Liefert einen Array mit allen vom
Markt unterstützten Ordertypen zurück.
GetVolumeRestriction(VolumeRestriction() As enumVCTVolumeRestriction). Liefert einen Array
mit allen vom Markt unterstützten Volumenbeschränkungen zurück.
GetTimeRestriction(TimeRestriction() As enumVCTTimeRestriction). Liefert einen Array mit allen
vom Markt unterstützten Zeitbeschränkungen zurück.
VCT_Trader
SendOrder(Account As String, SymbolCode As String, OrderType As enumVCTOrderType,
OrderSide As enumVCTOrderSide, Volume As Double, Price As Double, StopPrice As Double,
VolumeRestriction As enumVCTVolumeRestriction, TimeRestriction As
enumVCTTimeRestriction,[HideVolume As Object], [MinVolume As Object], [ValidDate As
Object]) As String. Führt eine neue Order mit den in den Parametern angegebenen Werten aus. Liefert
den Identifier der generierten Order zurück.
SendOrderEx(Order As VCT_Order). Führt eine neue Order mit den im Parameter angegebenen
Werten aus.
ModifyOrder(OrderId As String, Volume As Double, Price As Double, StopPrice As Double,
[HideVolume As Object], [ValidDate As Object]). Modifiziert die Order, deren Identifier OrderId ist,
in dem die in den Parametern angegebenen Werte zugewiesen werden.
CancelOrder(OrderId As String). Storniert die angegebene Order.
SendOCOOrder(Order1 As VCT_Order, Order2 As VCT_Order) As String(). Sendet zwei
verknüpfte Order mittels eines OCO Verhältnisses. Liefert die Identifier der zwei Orders zurück.
SendOSOOrder(MainOrder As VCT_Order, OrderToSend As VCT_Order) As String(). Sendet zwei
verknüpfte Orders mittels eines OSO Verhältnisses und liefert den Identifier der zwei generierten Orders
zurück. Main Order ist die Order, die sofort gesendet wird, während OrderToSend die Order ist, die nach
der Ausführung von MainOrder gesendet wird.
SendBracketOrder(MainOrder As VCT_Order, LimitOrder As VCT_Order, StopOrder As
VCT_Order) As String(). Sendet eine Bracket Order (eine Market Einstiegsorder zusammen mit einer
Gewinnlimitierte Order und einem Verluststop) und liefert den Identifier der drei generierten Orders
zurück.
GetOrders(QueryFilter As VCT_QueryFilter) As VCT_Orders. Liefert eine Sammlung mit den Orders
zurück, die den QueryFilter verifiziert. Diese Ergebnisse werden vom Server zurückgeliefert, sodass
jegliche Information nachgeschlagen werden kann, auch wenn diese nicht verfügbar in Visual Chart ist.
SAMMLUNGEN
Alle Sammlungen (außer VCT_Orders), die über einige zusätzlichen Methoden verfügen, haben dieselbe
Schnittstelle und Funktionsweise. Sie werden verwendet, um eine Datengruppe desselben Typs
zurückzuliefern.
Folgende Tabelle zeigt die vorhandenen Sammlungen und den enthaltenen Ordertyp:
Sammlungen
TRADING TOOLS | VISUALCHART
Objekttyp
VCT_Orders
VCT_Order
VCT_OpenPositions
VCT_OpenPosition
VCT_ClosedOperations
VCT_ClosedOperation
VCT_Balances
VCT_Balance
VCT_Accounts
VCT_Account
40
VCT_MarketOrdersInfos
Eigenschaft
VCT_MarketOrdersInfo
Beschreibung
Count As Long
Liefert die Elementeanzahl der Sammlung zurück.
Item(index As Object) As XXX
Liefert ein Item der Sammlung zurück (XXX bezieht sich auf den
Sammlungstyp, der in der zweiten Spalte der vorigen Tabelle
angezeigt ist).
_NewEnum
Alle Sammlungen implementieren diese versteckte Methode, um
den Durchlauf über die verschiedenen Items der Sammlung bei der
Anwendung von foreach zu ermöglichen.
VCT_Orders. Diese Sammlung enthält, zusätzlich zu den bereits erwähnten Methoden, andere Methoden, die
ermöglichen, Ordersammlungen von bestimmten Typen (Ausgeführt, Offene oder Stornierte) zu erhalten.
Active() As VCT_Orders. Liefert eine Sammlung mit den aktiven Orders der Sammlung zurück.
Executed() As VCT_Orders. Liefert eine Sammlung mit den ausgeführten Orders der Sammlung
zurück.
Cancelled() As VCT_Orders. Liefert eine Sammlung mit den stornierten Orders der Sammlung zurück.
PRAKTISCHES BEISPIEL FÜR DIE VERWENDUNG DES COMTraderInterfaces SERVERS
In diesem Beispiel erstellen wir ein Befehlsfenster, das uns den Kauf oder Verkauf für einen bestimmten
Titel ermöglicht.
In diesem Fenster können wir zwischen 3 verschiedenen Ordertypen, zusätzlich zu den Kauf und
Verkaufsbefehlen, auswählen:



Einstieg mit Best Ordertyp
Stop Order (Best Stop) an den Markt senden
Eine Limit Order an den Markt senden
Wir können auch die Kontraktenanzahl und den Einstiegspreis (außer bei Best Ordertyp) auswählen.
Microsoft Excel wird nochmals als Benutzer Anwendung verwendet. Wir übernehmen das Trading Tools
Buch, mit dem wir in diesem Handbuch arbeiten, und verwenden hierfür die Seite 3 dieses Buches, da die
vorigen Beispiele in Seite 1 und 2 vorhanden sind.
Es muss berücksichtigt werden, dass bei der Anwendung des COMTraderInterface Objektes die
VisualChart Trader Library 1.0 zu der Referenzliste hinzugefügt sein sollte.
Nächste Schritte sind hier zu folgen:
1. Umgebung vorbereiten
2. Programmierung der Prozesse
3. Ausführung
1. Umgebung vorbereiten
Zuerst werden wir die Schnittstelle herstellen, um die Information einzufügen und anzuzeigen. Die Seite 3
unseres Excel Buches muss wie folgt aussehen:
In der entworfenen Umgebung sind die drei ActiveX Objekte hervorzuheben:
 Eine Pull-Down-Box
 Zwei Befehlsbuttons (KAUFEN/VERKAUFEN)
Die Pull-Down-Box wird verwendet, um den Ordertyp auszuwählen. Solange der Broker es Ihnen erlaubt,
können viele unterschiedliche Ordertypen in Visual Chart V benutzt werden. Für dieses Beispiel verwenden
wir drei Typen:



Best Orders
Limit Orders
Best Stop Orders
Für die Erstellung der Pull-Down-Box klicken wir auf das Menü Entwicklertools der Option Einfügen 
Pull-Down-Box (Active X).
Dieses Objekt wird in der B5 Zelle eingefügt, damit es mit den anderen Zellen ausgerichtet ist.
Nachfolgend gehen wir auf das Eigenschaften Fenster des Objektes (beim Klicken mit der rechten Maustaste
auf das Objekt) und ändern folgende Felder:
Name
OrderTypenBox
BorderStyle 1-fmBorderStyleSingle
Height
15,75
Width
105
Die Titelliste der Pull-Down-Box wird aus dem Programmierungscode heraus ausgefüllt.
Hierzu erstellen wir einen Prozess im Code unter dem Name Ordertypenload, der wie folgt aussieht:
TRADING TOOLS | VISUALCHART
42
Private Sub OrderTypenLoad()
OrderTypenBox.AddItem "Best"
OrderTypenBox.AddItem "Limit"
OrderTypenBox.AddItem "Best Stop"
OrderTypenBox.Value = "Best"
End Sub
Eine andere Option, anstatt ein Objekt vom Pull-Down-Box Typ hinzufügen, ist dieselbe Methode als im
Beispiel des VCDataSource Servers zu benutzen. In diesem Beispiel wurde angezeigt, wie die Option
Datengültigmachung aktiviert werden konnte. In diesem Fall muss dasselbe für die B5 Zelle ausgeführt
werden, in dem eine Liste in den Nebenzellen mit den drei im Ordertypload Prozess angegebenen Texten
generiert wird.
Die KAUF und VERKAUF Buttons sind ähnlich den OK und STOP Buttons der Beispielseite in Realtime.
Für die Erstellung der Kontrolle in einer Excel Seite muss das Menü Entwicklertools ausgewählt, die Option
Entwurfsmodus aktiviert und nachfolgend die Option Einfügen  Befehlsbutton (Active X) ausgewählt
werden.
Wie bei den anderen Buttons des vorigen Beispiels gehen wir zu dem Eigenschaften Fenster des Objektes
und modifizieren die Namenparameter:
Für den KAUF Button
Name
KaufBtn
Caption
KAUFEN
BackColor
&H00FF0000&
Für den VERKAUF Button
Name
VerkaufBtn
Caption
VERKAUFEN
BackColor
&H000000FF&
Zunächst doppelklicken wir auf jeden Button, um die Click Ereignisse im Visual Basic Editor zu generieren.
Dieses Ereignis zeigt uns, dass bei jedem Klick auf den Button, die im Ereignis eingegebenen Ausgaben
ausgeführt werden.
2. Programmierung der Prozesse
Zuerst erstellen wir das TraderKlasse Objekt vom VCT_Trader Typ.
Public WithEvents TraderKlasse As COMTraderInterfacesLib.VCT_Trader
Bei dem Arbeitsprozess in den anderen zwei Beispielen konnte der Benutzer einen Button aktivieren und die
Information herunterladen, aber hier kann der Benutzer die Kauf- und Verkaufsbuttons aleatorisch nach
seinen Bedürfnissen verwenden.
Deshalb müssen wir in diesem Fall einen Startpunkt außerhalb den Kauf- und Verkaufsbuttons finden.
Die Funktionsweise ist die Folgende:
1. Die Umgebung starten, jedes Mal das Excel Buch geöffnet ist (über die Methode Workbook_Open).
2. Kauf- oder Verkaufstrades je nach dem vom Benutzer geklickten Button und die Zelleninformation
zu generieren.
3. Einen Backup der in den nebenliegenden Zellen ausgeführten Trades speichern.
4. Das VCT_Trader Objekt befreien, wenn das Excel Buch (über das Workbook_BeforeClose
Ereignis) geschlossen ist.
Im 1. Schritt erstellen wir den sogenannten Prozess Umgebungstarten, der wie folgt aussieht:
Public Sub UmgebungStarten()
Range("A8:H1000").ClearContents
Range("D2") = False
TraderObjektBefreien
OrderTypenLoad
End Sub
Wir haben folgendes unternommen:
1. Den Zelleninhalt ab Zeile 8 entfernen.
2. Die D2 Zelle wurde mit FALSE gestartet. Diese Zelle informiert uns, ob das VCT_Trader Objekt
erstellt wurde oder nicht.
 Zeigt sich FALSE in der Zelle an, wurde das Objekt nicht erstellt und muss geschlossen
werden.
 Zeigt sich TRUE in der Zelle an, wurde das Objekt erstellt und wir brauchen nichts mehr dies
bezüglich zu machen.
3. Das TraderKlasse Objekt wird als Sicherheitsmaßnahme befreit.
4. Wir füllen die Ordertypen Pull-Down-Box aus, falls wir sie gerade benutzen.
Der UmgebungStarten Prozess wird abgerufen, wenn das Worbook_Open Ereignis stattgefunden hat.
Dieses Ereignis müssen wir im ThisWorbook Objekt melden.
Um den Code dieses Objektes zu öffnen, wählen wir das Objekt ThisWorkbook unter dem Fenster des
Projektexplorers und klicken zwei Mal darauf:
Unter dem Code von ThisWorkBook definieren wir den Workbook_Open Prozess und geben an, dass wir
einen Abruf auf den Prozess UmgebungStarten der Seite3 des Buches machen möchten.
Wir können beobachten, dass der Prozess UmgebungStarten als öffentlich gemeldet wurde. Dies
ermöglicht, Zugang zu diesem Prozess aus einem externen Element heraus zu haben.
Im 2. Schritt unserer Entwicklung füllen wir die KaufBtn_Click und VerkaufBtn_Click Codes aus, die
vorher generiert werden sollten.
Beide Buttons werden einen Abruf auf denselben Prozess, den sogenannten OrderGenerieren, ausführen.
Da die Routine für das Abschicken der Orders gleich beim Kaufen und Verkaufen ist, beziehen wir uns auf
diesen externen Prozess, der einfach die Orderaktion anfordert, um zwischen Kauf und Verkauf zu
unterscheiden.
Der Code für OrderGenerieren bleibt dann wie folgt:
TRADING TOOLS | VISUALCHART
44
Private Sub OrderGenerieren(OrderAktion As enumVCTOrderSide)
Dim Konto As String
Dim Titel As String
Dim OrderTyp As enumVCTOrderType
Dim Limit As Double
Dim STOPPreis As Double
Dim Volumen As Integer
Dim NewID As String
Konto = Range("B2").Text
Titel = Range("B4").Text
OrderTyp = SelectOrderT(OrderTypenBox.Text)
Volumen = Range("D4").Value
STOPPreis = Range("D5").Value
Limit = Range("D6").Value
'Vorige Information speichern
Range("A" & LetZeile) = Time
Range("B" & LetZeile) = Titel
Range("C" & LetZeile) = STOPPreis
If OrderTyp = VCT_OT_BestStop Then Range("C" & LetZeile) = STOPPreis
Range("D" & LetZeile) = Volumen
'-- Order abschicken
NewID = TraderKlasse.SendOrder(Konto, Titel, OrderTyp, OrderAktion, Volumen, Limit, STOPPreis)
Range("G" & LetZeile) = 0
Range("H" & LetZeile) = NewID
LetZeile = LetZeile + 1
End Sub
Als Einstiegsparameter wird der OrderAktion Wert angefordert, der zum Typ enumVCTOrderSide gehört.
Diese Aufzählungsform ist Teil der Aufzählungen der COMTraderInterfaces Klasse und unterscheidet
zwischen Kauforders (VCT_OS_Buy) und Verkaufsorders (VCT_OS_Sell).
Bezüglich des Codeinhalts, wurde Folgendes ausgeführt:
1. Die unterschiedlichen Pflichtfelder für das Abschicken einer Order, wie zum Beispiel das Konto, den
Titel, das Volumen, et cétera definieren. Wir ziehen den Wert dieser Felder von den verschiedenen
Zellen aus, die in unserer Schnittstelle gemeldet wurden.
2. Besonders zu erwähnen ist das OrderTyp Feld, das als Variable zum enumVCTOrderType und
auch der COMTraderInterfaces Familienklasse gehört.
3. Wir zeigen auf den Bildschirm die Information des Orderabschickens wie die Uhrzeit der Sendung,
den Titel und den Preis. Zusätzlich zu dieser Information zeigen wir ebenfalls die Datenangaben
nach der Ausführung der Order. Hierzu verwenden wir die eigenen Ereignisse des VCT_Trader
Objektes.
4. Wir schicken die Order mit der Methode des VCT_Trader SendOrder Objektes ab. Zusätzlich zu
den in diesem Objekt definierten Feldern, die Pflichtfelder sind, kann der Benutzer auch weitere
Informationen zu der Order wie das Gültigmachungsdatum, das versteckte und minimal Volumen,
usw. hinzufügen.
5. Abschließend speichern wir den ID Identifier der Order in der Zelle, da er für uns später behilflich
sein wird, und erhöhen den Zähler der Zeilen LetZeile. Diese Variable ist eine globale Variable, die
am Anfang des Codes gemeldet werden muss und die beim Einfügen neuer Orders erhöht wird.
Wie oben erwähnt, ist die OrderTyp Variable eine spezielle Variable, die mit besonderen Werten ausgefüllt
werden soll.
Wir werden jeden einzelnen Wert mit den möglichen Werten verknüpfen, die der Benutzer in unserer PullDown OrderTypenBox auswählen kann. Hierzu fügen wir im Code eine Funktion ein, die anders als die
Prozessen, einen Ausstiegswert zurückliefert. Diese Funktion wird SelectOrderT genannt und sieht wie folgt
aus:
Private Function SelectOrderT(NameT As String) As enumVCTOrderType
Dim AUXValue As enumVCTOrderType
Select Case NameT
Case "Best"
AUXValue = VCT_OT_Best
Case "Limit"
AUXValue = VCT_OT_Limit
Case Else
AUXValue = VCT_OT_BestStop
End Select
SelectOrderT = AUXValue
End Function
Die Funktion erhält die NameT Variable (die dem ausgewählten Wert der Pull-Down-Box entspricht), welche
gemäß ihrem Wert den entsprechenden Ordertyp je nach der enumVCTOrderType Aufzählung
zurückliefern wird.
Wir haben bereits den Prozess definieren, den wir über die Ereignisse KaufBtn_Click und
VerkaufBtn_Click abrufen werden. Beide Ereignisse können wir deshalb wie folgt definieren:
Private Sub VerkaufBtn_Click()
If Range("D2") = False Then
Set TraderKlasse = New COMTraderInterfacesLib.VCT_Trader
Range("D2") = True
LetZeile = 8
End If
OrderGenerieren (VCT_OS_Buy)
End Sub
Private Sub VerkaufBtn_Click()
If Range("D2") = False Then
Set TraderKlasse = New COMTraderInterfacesLib.VCT_Trader
Range("D2") = True
LetZeile = 8
End If
OrderGenerieren (VCT_OS_Sell)
End Sub
Je nach dem gedruckten Button wird der OrderGenerieren Prozess als Einstiegswert VCT_OS_Buy oder
VCT_OS_Sell erhalten.
Zusätzlich zu dem Abruf OrderGenerieren wird es in beiden Fällen eine Kontrolle ausgeführt, um die
Existenz des VCT_Trader Objektes zu überprüfen. In der D2 Zelle wird diese Information ermittelt. Zeigt
sich FALSE in der Zelle, wurde das Objekt nicht erstellt und muss über den Abruf Set = New erstellt
werden.
Ist diese Aktion ausgeführt, muss sie nicht mehr wiederholt werden, da das Objekt so oft wie nötig benutzt
werden kann. Die Kontrolle wird auch genutzt, um die LetZeile Variable zu starten.
TRADING TOOLS | VISUALCHART
46
Im 3. Schritt müssen wir die fehlende Information für jede Order ausfüllen. Wie oben gesehen, bevor eine
Order über die Methode SendOrder abgeschickt wird, schreiben wir Folgendes auf dem Bildschirm:



Datum
Preis
Ordertyp, der gesendet wird
Nachfolgend erhöhen wir um 1 die LetZeile Variable, da diese die letzte geschriebene Zeile kontrolliert.
Diese Option hilft uns, die abgeschickten Orders zu verfolgen.
Neben der gespeicherten Information bei der Ordersendung werden wir auch ein Register über die
ausgeführten Orders speichern. Hierfür benutzen wir das OnTotalExecuteOrder Ereignis des VCT_Order
Objektes und als Unterstützung das OnPartialExecuteOrder Ereignis.
Das OnTotalExecuteOrder Ereignis wird bei jeder am Markt kompletten ausgeführten Order aktiviert. Ist
das am Markt ausgeführte Kontraktenanzahl niedriger als das gesamte Volumen, wird nun das
OnPartialExecuteOrder Ereignis aktiviert. Das OnTotal Ereignis wird nur dann nach der Ausführung der
ausstehenden Kontrakte aktiviert.
Beispiel. Beim Abschicken einer Stop Kauforder von 4 Kontrakten kann Folgendes vorkommen:
1. Die 4 Kontrakten können gleichzeitig ausgeführt werden  Das OnTotal Ereignis mit Volumen = 4
wird aktiviert.
2. Nicht alle 4 Kontrakte werden ausgeführt (angenommen 3)  Das OnPartial Ereignis wird zuerst mit
Volumen = 3 aktiviert, danach wird das OnTotal Ereignis mit Volumen = 1 (den restlichen Kontrakt)
aktiviert.
Logischerweise kann es vorkommen, dass das OnTotal Ereignis nicht aktiviert wird, wenn ein Kontrakt noch
auszuführen ist.
Da die umzusetzende Struktur in beiden Ereignissen dieselbe ist, werden wir nochmals einen externen
Prozess benutzen, den wir von jedem Ereignis abrufen können.
Diesen Prozess benennen wir AusgeführteOrder und erhält die Information über die teilweise oder
komplett ausgeführte Order als einen Einstiegsparameter.
Anstatt mehrere Felder mit der Information über die ausgeführte Order als Einstiegsparameter zu
bekommen, werden wir eine eigene Variable erstellen, die als Argumente über jede gewünschte
Datenangabe verfügt, die wir dem Prozess senden möchten. Hiermit brauchen wir nur eine einzige Variable
als Einstiegsparameter zu erstellen.
Die neue Variable-Klasse wird OrderInfoTyp genannt. Sie wird am Anfang des Codes erstellt und sieht wie
folgt aus:
Nachfolgend kann der Code des OrderAusführung Prozesses wie folgt geschrieben werden:
Private Sub AusgeführteOrder(Order As OrderInfoTyp)
Dim Ausstieg As Boolean: Dim i As Integer
Dim Gefunden As Boolean
i = 8: Ausstieg = False: Gefunden = False
While Not Ausstieg
If Range("H" & i) = "" Then
Ausstieg = True
Else
If Order.OrderID = Range("H" & i) Then
Ausstieg = True
Gefunden = True
Else
i=i+1
End If
End If
Wend
If Gefunden Then
Range("E" & i) = DatePart("h", Order.Date) & ":" & DatePart("n", Order.Date) & ":" & DatePart("s",
Order.Date)
Range("F" & i) = Order.Price
If Order.Ordertype = VCT_OT_BestStop Then Range("F" & i) = Order.StopPrice
Range("G" & i) = Range("G" & i) + Order.Volume
End If
End Sub
Wie oben erwähnt, erhält der Prozess die Order Variable vom Typ OrderInfoTyp, die vom OnTotal
Ereignis oder vom OnPartial Ereignis erhalten haben muss.
Bei der AusgeführteOrder gehen wir wie folgt vor:
1. Wir sehen alle Zeilen durch, in denen Information über die Zeile geben kann, deren Spalte H mit
dem ID Wert der Order Variable übereinstimmt.
2. Ist die entsprechende Zeile gefunden (Gefunden = True), schreiben wir in den entsprechenden
Spalten die in der Order Variable enthaltenen Felder.
TRADING TOOLS | VISUALCHART
48
Zwei Punkte sind zu berücksichtigen:
1. Die abgeschickten und ausgeführten Orders können zwei unterschiedlichen Preistypen je nach dem
Ordertyp haben.


Handelt es sich um eine Limit Order, bezieht sich der Orderpreis auf das Price Feld.
Handelt es sich um eine Stop Order, bezieht sich der Orderpreis auf das StopPrice Feld. Die
Market Orders haben keinen verknüpften Preis.
2. In der G Spalte speichern wir das Volumen der ausgeführten Kontrakte. Da wir bei der teilweisen
Ausführung der Kontrakte, mehrmals Zugang zu dem AusgeführteOrder Prozess mit derselben
Order haben, erhöhen wir den Inhalt der Zelle mit jedem neuen Prozessabruf.
Ist der AusgeführteOrder Prozess definiert, müssen wir im Folge diese Ereignisse melden:


OnTotalExecuteOrder
OnPartialExecuteOrder
Hierfür unter dem Reiter für die Objektauswahl werden wir das TraderKlasse Objekt auswählen und
automatisch werden die entsprechenden Objekte unter dem Prozessreiter angezeigt.
Unter der Prozessliste wählen wir das OnTotalExecuteOrder Ereignis und danach
OnPartialExecuteOrder aus.
Nach ihrer Auswahl werden die Ereignisse im Code generiert. Jetzt müssen wir nur noch jedes Ereignis
ausfüllen, die wie oben erwähnt gleich sind:
'-- EREIGNISSE
Private Sub TraderKlasse_OnTotalExecutedOrder(ByVal Order As COMTraderInterfacesLib.IVCT_Order)
Dim NewOrder As OrderInfoTyp
NewOrder.OrderID = Order.OrderID
NewOrder.Date = Order.Date
NewOrder.Price = Order.Price
NewOrder.StopPrice = Order.StopPrice
NewOrder.Ordertype = Order.Ordertype
NewOrder.Volume = Order.Volume
AusgeführteOrder NewOrder
End Sub
Private Sub TraderKlasse_OnPartialExecutedOrder(ByVal Order As COMTraderInterfacesLib.IVCT_Order)
Dim NewOrder As OrderInfoTyp
NewOrder.OrderID = Order.OrderID
NewOrder.Date = Order.Date
NewOrder.Price = Order.Price
NewOrder.StopPrice = Order.StopPrice
NewOrder.Ordertype = Order.Ordertype
NewOrder.Volume = Order.Volume
AusgeführteOrder NewOrder
End Sub
Wir erstellen eine Variable vom Typ OrderInfoTyp mit dem Namen NewOrder, füllen sie mit den
entsprechenden Daten der erhaltenen ausgeführten Order aus und zuletzt rufen den AusgeführteOrder
Prozess mit der NewOrder Variable als Parameter ab.
Darauf brauchen wir nur noch das VCT_Trader Objekt (Schritt 4) befreien. Hierfür erstellen wir einen
neuen Prozess mit dem Namen TraderObjektBefreien, der wie folgt aussieht:
TRADING TOOLS | VISUALCHART
50
Public Sub TraderObjektBefreien()
Set TraderKlasse = Nothing
End Sub
Da die Funktionsweise unserer Entwicklung nicht zyklisch ist, können wir es nicht befreien, bis der Benutzer
das Excel Buch schließt. Hierfür verwenden wir das Workbook_BeforeClose Ereignis, das genau vor der
Buchschließung aktiviert wird.
Genauso wie beim 1. Schritt, müssen wir es unter DieseArbeitsmappe Objekt melden. Um den Code
dieses Objektes zu öffnen, wählen wir unter dem Projektexplorer das Objekt Diese Arbeitsmappe aus und
doppelklicken darauf.
Unter ThisWorkBook definieren wir das Workbook_BeforeClose Prozess und geben an, dass wir den
TraderObjektBefreien Prozess vom Seite3 des Buches abrufen möchten.
Noch einmal stellen wir fest, dass der TraderObjektBefreien Prozess öffentlich gemacht wurde, sodass wir
hiermit den Abruf auf diesen Prozess aus ThisWorbook heraus ausführen können.
Damit ist der Code fertig gestellt und das Buch kann dann gespeichert und geschlossen werden.
3. Ausführung
Beim Öffnen der Excel Seite wird das Worbook_Open Ereignis aktiviert, das uns den Start der Entwicklung
angibt.
Demnächst müssen wir überprüfen, dass Visual Chart V geöffnet und der Brokerage Server (realer Modus
oder Simulator) verbunden ist.
Wir notieren das Benutzerkonto, das wir in der Zelle von KONTO (B2) verwenden werden.
Die restlichen Zellen füllen wir nach Wunsch aus. Wir möchten zum Beispiel eine Stop Order auf den DAX
Future Continuous von 2 Kontrakten abschicken.
Hierfür werden die Zellen wie folgt ausgefüllt:
Wir klicken auf den Button KAUFEN und die erste Zeile wird darauf mit Daten ausgefüllt:
Die Order bleibt aktiv am Markt und wird deshalb nicht ausgeführt. Aus diesem Grund sind die Zellen der
ausgeführten Order leer.
Nachfolgend senden wir das Gegenorder, einen Stop Verkauf, falls sich der Markt dreht. Hierfür modifizieren
wir die Zelle STOP PREIS und klicken auf VERKAUFEN. Damit wird die erste Datenzeile ausgefüllt:
Schließlich wird die KAUF Order ausgeführt und damit ist die entsprechende Zeile bezüglich dieser Order
ausgefüllt:
Zuletzt wird das Excel Buch geschlossen und das VCT_Trader Objekt hiermit befreit, sodass die Verknüpfung
mit VisualChart abgebrochen wird.
Wichtig: Am Markt sind eine offene Kaufposition und eine andere offene Verkaufsposition, unabhängig
davon ob die Benutzung des Excel Buches beendet ist.
TRADING TOOLS | VISUALCHART
52
Dies muss berücksichtigt werden. Sie haben aber auch die Möglichkeit, die Orders mit dem eigenen
COMTraderInterfaces Server zu stornieren. In diesem Fall können Sie die entsprechende Methode in
Ihrem Code für diese Aktion hinzufügen.
VCContributor
EINFÜHRUNG
Eine der Visual Chart V Funktionen ist die Contributors Benutzung. Die Contributions sind ein Tool, mit dem
die Benutzer folgende Information zu anderen Benutzern senden oder von anderen Benutzern empfangen
können:




Nachrichten
Signale
Ordervorschläge
Komplette Seite eines Projekts (Charts, Kurslisten, Webseiten…)
Das neue Tool kann ebenfalls über die COM Server mit dem VCContributor verwendet werden.
Wie in der Abbildung zu sehen ist, fungiert der Server als Vermittler zwischen Visual Chart und die Benutzer
Anwendung (z.B. Microsoft Excel).
Um diesen Server zu benutzen, muss die Benutzer Anwendung die VisualChart Contributor library 1.0.
in ihrer Referenzliste eingeschlossen haben.
Wie bei den anderen Libraries verfügt diese über eine Sammlung von Objekten, Ereignissen und Methoden,
die für die Datenbehandlung verwendet werden können.
Für die Contributions Sendung benutzt der Server Methoden. Für den Nachrichten Empfang, die von
anderen Benutzern oder über Beitragskanäle gesendet wurden, benutzt der Server Ereignisse.
OBJEKTE
Die Objekte der VCContributor Library sind die Folgenden:








VCC_Filters
VCC_Device
VCC_Devices
VCC_IAlert
VCC_ITrader
VCC_IGraphic
VCC_ILiveMsg
VCC_Ilive
VCC_Filters. Stellt eine Filtersammlung dar. Die Filter sind Klassifizierungen der verschiedenen Beiträge, die
über einen Kanal gesendet werden können. Die Filterkonfiguration eines Kanals ermöglicht Visual Chart, die
gewünschten Beiträge zu senden und zu filtrieren.
Eigenschaft
Beschreibung
Count As Long
Filteranzahl des Kanals.
Item(Index As Long) As String
Filterwert.
VCC_Device. Visual Chart verfügt über mehrere Einrichtungen, in denen verschiedene Funktionalitäten der
Beiträge verkapselt oder angezeigt werden. Eine grafische Einrichtung zum Beispiel stellt eine Seite des
Projektes dar, und eine Signaleinrichtung wird für die Anzeige des Signals in Visual Chart benutzt.


Bei der Sendung der Beiträge werden jene inaktiven Einrichtungen mit dem Beitrag nicht gesendet.
Bei dem Empfang eines Beitrags zeigen die inaktiven Einrichtungen keine relevanten Werte, da
diese in der Sendung nicht eingeschlossen wurden.
Eigenschaft
Active As Bool
Beschreibung
Aktiviert oder deaktiviert die
Einrichtung.
VCC_Devices. Stellt eine Einrichtungssammlung dar. Sie wird von VCC_ILiveMsg verwendet, um
zusätzliche Einrichtungen vor der Sendung eines Beitrags zu konfigurieren. Dieses Objekt beinhaltet auch
solche Einrichtungen, wenn Beiträge empfangen sind.
Eigenschaft
Beschreibung
Count As Long
Anzahl der Einrichtungen der Sammlung.
Item(Index As Long) As VCC_Device
Sammlungseinrichtung.
VCC_IAlert. Implementiert die VCC_Device Schnittstelle und stellt ein Visual Chart Signal dar. Die Signale
mit höchster Priorität werden vor den Signalen mit niedriger Priorität angezeigt.
Eigenschaft
Beschreibung
Text As String
Text/Mitteilung des Signals.
Priority As enumVCCAlertPriority
Priorität des Signals.
LifeTime As Long
Lebensdauer des Signals.
Sound As String
Sound verknüpft mit dem Signal.
VCC_ITrader. Dieses Objekt implementiert die VCC_Device Schnittstelle und stellt eine Order (siehe
VCT_Order) dar. Die Order Eigenschaft beinhaltet einen Ordervorschlag, der direkt oder nach der Änderung
seiner Eigenschaften ausgeführt werden kann.
Eigenschaft
Order As VCT_Order
Beschreibung
Order verknüpft mit der VCC_ITrader Einrichtung. Diese ist die
Order, die den VisualChart Benutzer vorgeschlagen wird.
VCC_IGraphic. Dieses Objekt implementiert die VCC_Device Schnittstelle und stellt eine Seite des
Projektes in Visual Chart dar.
Eigenschaft
Beschreibung
WksXML As String
XML mit der Serialisierung der Projektseite. Wenn anstatt eines
XML der Name einer Projektseite angezeigt ist, benutzt
VisualChart die XML-Datei, die mit dieser Seite verknüpft ist.
VCC_ILiveMsg. VCC_ILiveMsg beinhaltet eine komplette Beitragsbeschreibung. Es wird verwendet, um den
Beitrag zu konfigurieren und die Information eines erhaltenen Beitrags nachzuschlagen.
TRADING TOOLS | VISUALCHART
54
Eigenschaft
Beschreibung
Channel As String
Beitragskanal.
Users As String
Benutzer, die den Beitrag empfangen werden. Der Beitrag kann leer
sein, wenn er nur zum Kanal gesendet wird, oder kann mehrere
Benutzernamen beinhalten, die mit “ , ” oder “ ; ” getrennt werden.
SaveHistoric As Bool
Der Wert ist True, wenn der Beitrag im Verlauf gespeichert ist. Die im
Verlauf gespeicherten Beiträge können im VisualChart nach ihrer
Sendung nachgeschlagen werden. Sind sie nicht im Verlauf
gespeichert, werden sie nur empfangen, wenn sie gesendet wurden.
Header As String
Titel.
Topic As String
Thema.
Body As String
Mitteilung.
iGraphic As VCC_IGraphic
Projektseite, die mit dem Beitrag verknüpft ist (wenn Active True ist).
iTrader As VCC_ITrader
Vorgeschlagene Order, die mit dem Beitrag verknüpft ist (wenn Active
True ist).
iAlert As VCC_IAlert
Mit dem Beitrag verknüpftes Signal (wenn Active True ist).
ExtraDevices As VCC_Devices
Mit dem Beitrag verknüpfte zusätzliche Einrichtungen (mehr
vorgeschlagene Orders zum Beispiel).
Filters As VCC_Filters
Beitragsfilter.
RelatedCode As String
Mit dem Beitrag verknüpfter Titelcode.
CtbType As Long
Beitragstyp (siehe enumVCCCtbType).
VCC_ILive. Dieses Objekt stellt die Schnittstelle der VCContributor Library dar. Hiermit können Beiträge
gesendet und die empfangenen Beiträge nachgeschlagen werden, die bei den registrierten Kanälen
empfangen wurden.
EREIGNISSE
Nachfolgend sind die verschiedenen Ereignisse detailliert, die stattfinden können.
VCC_ILive
OnNewILiveMsg(iLiveMsg As VCC_ILiveMsg). Dieses Ereignis wird bei jedem Beitrag ausgeführt. In
iLiveMsg befindet sich die gesamte Information des Beitrags.
OnServerShutDown (). Dieses Ereignis wird ausgeführt, genau bevor der Server aufhört, zur
Verfügung zu stehen. Es ist nützlich, um andere Anwendungen zu verständigen, dass sie den Server
nicht mehr verwenden können, oder um Aufgaben für die Schließung der Anwendung auszuführen.
METHODEN
In dieser Seite sind die verschiedenen Methoden detailliert, die mit der VCContributor Library verwendet
werden.
VCC_Devices
Add(Device As VCC_Device). Fügt eine Einrichtung zu der Sammlung
hinzu.
Remove(Index As Long). Löscht eine Einrichtung der Sammlung.
Clear(). Löscht sämtliche Einrichtungen der Sammlung.
VCC_ILiveMsg
SendMsg(ILive As VCC_ILive). Sendet mit dem ILive Objekt den unter VCC_ILiveMsg
konfigurierten Beitrag. Dieses Objekt muss zuerst erstellt werden und ist für die Beitragssendung
zuständig.
VCC_ILive
SendMsg(iLiveMsg As VCC_ILiveMsg). Sendet einen Beitrag mit den unter dem iLiveMsg
Parameter spezifizierten Werten.
RequestChannel(Channel As String). Registriert den spezifizierten Kanal (Channel ist der
Kanalname). Die Registrierung ermöglicht, Beiträge von diesem Kanal zu empfangen. Für jede
ausgeführte Registrierung muss nachfolgend CancelChannel abgerufen werden, um Ressourcen zu
befreien.
CancelChannel(Channel As String). Befreit die mit der Registrierung eines Kanals verknüpften
Ressourcen und wenn keine weiteren Registrierungen von diesem Kanal vorhanden sind, werden
keine zusätzlichen Beiträge von diesem Kanal empfangen.
PRAKTISCHES BEISPIEL FÜR DIE ANWENDUNG DES VCContributor SERVERS
Wie oben erwähnt, ist der Empfang der Beiträge eins der neuen in Visual Chart V verfügbaren Tools.
Wir bieten Ihnen verschiedene Nachrichtenkanäle an. Unter diesen Kanälen steht zur Verfügung einen
kostenlosen Kanal für alle Realtime und Delay Benutzer, der VisualChart (VC) benannt ist.
In unserem Beispiel werden wir die Nachrichten von diesem Kanal filtrieren, in dem nur jene Nachrichten
mit Information über Unterstützungen und Widerstände empfangen werden sollten. Das Trading Tools
Excel Buch wird wieder benutzt (in diesem Fall Seite 4).
Es muss berücksichtigt werden, dass die VisualChart Contributor 1.0. Library zu der Referenzliste
hinzugefügt sein sollte.
Die nächsten Schritte sind zu folgen:
1. Umgebung vorbereiten
2. Programmierung der Prozesse
3. Visualisierung der Information
1. Umgebung vorbereiten
TRADING TOOLS | VISUALCHART
56
Zuerst wird die visuelle Schnittstelle entworfen, um die Information einzugeben und zu zeigen. Die Excel
Seite muss wie folgt aussehen:
In der Abbildung sind 2 Objekte vom Typ Befehlsbutton (AKTIVIEREN und ANHALTEN), ähnlich den Buttons
der vorigen Beispiele zu sehen.
Für die Kontrolle-Erstellung in einer Excel Seite müssen wir den Button Entwicklertools auswählen, die
Option Entwurfsmodus aktivieren und zuletzt die Option Einfügen  Befehlsbutton (active X)
auswählen.
Nach dem Einfügen der Buttons gehen wir auf das Eigenschaften Fenster jedes Objektes und ändern die
folgenden Felder:
Für den Button AKTIVIEREN
Name
AktivierenBtn
Caption
AKTIVIEREN
BackColor
&H00FF0000&
Name
AnhaltenBtn
Für den Button ANHALTEN
Caption
ANHALTEN
BackColor
&H000000FF&
Nachfolgend doppelklicken wir auf den Button, um die Click Ereignisse im Visual Basic Editor zu generieren.
Wir müssen in Betracht ziehen, dass bei diesem Ereignistyp jedes Mal wir auf den Button klicken, die in
diesem Ereignis angegebenen Aufgaben ausgeführt werden.
2. Programmierung der Prozesse
Ist die Umgebung definiert, werden wir das VCILiveKlasse Objekt von Typ VCC_ILive erstellen.
Public WithEvents VCILiveKlasse As VCC_ILive
Für das Funktionieren unserer Entwicklung sind diese Schritte zu folgen:
1. Das Programm nach der Betätigung des Buttons AKTIVIEREN starten. Die Umgebung starten und
das Objekt VCC_ILive erstellen.
2. Die Beiträge empfangen und wie oben erklärt filtrieren.
3. Die filtrierten Nachrichten auf dem Bildschirm anzeigen lassen.
4. Das VCC_ILive Objekt befreien, nach dem der Benutzer den Button ANHALTEN betätigt.
Das AktivierenBtn_Click Ereignis wird für den ersten Schritt ausgefüllt und sieht wie folgt aus:
Private Sub AktivierenBtn_Click()
Range("A7:G6000").ClearContents
SystemStop
AktivierenBtn.Enabled = False
AnhaltenBtn.Enabled = True
Set VCILiveKlasse = New VCC_ILive
NeueZeile = 7
End Sub
Wir sind wie folgt vorgegangen:
1. Den Inhalt der Zellen ab Zeile 7 löschen.
2. Den SystemStop Prozess abrufen. Dieser Prozess befreit das VCC_ILive Objekt. Dieser Abruf wird
als Sicherheitsmaßnahme ausgeführt.
3. Den Button ANHALTEN aktivieren und den Button AKTIVIEREN deaktivieren. Damit können wir
sehen, wann das Programm aktiviert ist.
4. Das VCILiveKlasse Objekt erstellen und die NeueZeile Variable auf 7 neu starten.
Die NeueZeile Variable markiert die folgende Zeile, die wir auf dem Bildschirm schreiben und die beim
Empfang von neuen Meldungen erhöht wird. Diese Variable wird am Anfang des Codes erstellt.
Public WithEvents VCILiveKlasse As VCC_ILive
Dim NeueZeile As Long
Der SystemStop Prozess sieht wie folgt aus:
Public Sub SystemStop()
Set VCILiveKlasse = Nothing
End Sub
Für den 2 Schritt unserer Entwicklung müssen wir das OnNewILiveMsg Ereignis des VCILiveKlasse
Objektes erstellen. Bei jedem neuen erhaltenen Beitrag von irgendeinem aktivierten Kanal wird dieses
Ereignis aktiviert.
Um das Ereignis zu erstellen, wählen wir das VCILiveKlasse Objekt unter dem Reiter für die Objektauswahl
und sofort werden die Objekte angezeigt. Unter der Prozessliste wählen wir das OnNewILiveMsg Ereignis.
TRADING TOOLS | VISUALCHART
58
Nach der Auswahl wird das Ereignis unter dem Code generiert. Jetzt brauchen wir es nur noch auszufüllen.
Vor dieser Aktion erklären wir wie die Meldungen von Visual Chart filtriert werden können. In diesem Fall
möchten wir nur die Meldungen vom Typ Unterstützungen und Widerstände registrieren.
Eine der Eigenschaften der Beiträge ist die Möglichkeit zu definieren, ob der gesendete Beitrag mit Patterns,
Ereignissen, Indikatoren, usw. verknüpft ist.
Die mit Unterstützungen und Widerständen verknüpften Nachrichten sind vom Charting Typ, sodass die
Meldungen nach diesem Typ filtriert werden.
Das mit dem OnNewILiveMsg, iLiveMsg, Ereignis erhaltene Objekt verfügt über die CtbType Eigenschaft,
die sich auf den Nachrichtentyp bezieht. Diese Eigenschaft kann jeden Wert vom Typ enumVCCCtbType
erhalten.
Nachfolgend fügen wir eine Funktion zu, die jeden möglichen Wert von enumVCCtbType übersetzt, um die
Information besser zu verstehen.
Die Funktion heißt NamentypGeben und sieht wie folgt aus:
Private Function NamenTypGeben(ByVal value As VCContributorLib.enumVCCCtbType) As String
If value = VCC_CT_None Then
NamenTypGeben = "Ohne Typ"
ElseIf value = VCC_CT_Indicators Then
NamenTypGeben = "Indikatoren"
ElseIf value = VCC_CT_Charting Then
NamenTypGeben = "Charting"
ElseIf value = VCC_CT_Patterns Then
NamenTypGeben = "Candle Patterns"
ElseIf value = VCC_CT_Outstanding Then
NamenTypGeben = "Ereignisse"
ElseIf value = VCC_CT_BreakingNews Then
NamenTypGeben = "Wichtigste"
ElseIf value = VCC_CT_Fundamentals Then
NamenTypGeben = "Wesentliche"
ElseIf value = VCC_CT_Ratings Then
NamenTypGeben = "Ratios"
End If
End Function
Ist das Ereignis aktiviert und ein neues iLiveMsg Objekt erhalten, rufen wir diese Funktion ab, um zu wissen,
ob die Meldung zum Charting Typ gehört.
Der Inhalt des OnNewILiveMsg Ereignisses sieht dann wie folgt aus:
Private Sub VCILiveKlasse_OnNewILiveMsg(ByVal iLiveMsg As VCContributorLib.IVCC_ILiveMsg)
Dim Kanal As String
Dim Titel As String
Dim Typ As enumVCCCtbType
Dim Titel As String
Dim Thema As String
Dim Meldung As String
'Info speichern
Kanal = iLiveMsg.Channel
Titel = iLiveMsg.RelatedCode
Typ = iLiveMsg.CtbType
Titel = iLiveMsg.Header
Thema = iLiveMsg.Header
Meldung = iLiveMsg.Body
'Meldungen filtrieren
If Kanal = "Visual Chart" Then
If NamenTypGeben(iLiveMsg.CtbType) = "Charting" Then
If iLiveMsg.Topic = "Widerstandskreuzung" Or iLiveMsg.Topic = "Unterstützungskreuzung" Then
Cells(NeueZeile, 1) = Now
Cells(NeueZeile, 2) = Kanal
Cells(NeueZeile, 3) = Titel
Cells(NeueZeile, 4) = "Charting"
Cells(NeueZeile, 5) = Titel
Cells(NeueZeile, 6) = Thema
Cells(NeueZeile, 7) = Meldung
NeueZeile = NeueZeile + 1
End If
End If
Else
Range("A1") = "Neue Meldung um: " & Time & ": " & Titel
End If
End Sub
Wir sind wie folgt vorgegangen:
1. Für ein besseres Verständnis der Information haben wir jedes Element des iLiveMsg Objektes unter
Variablen vom Typ Kanal, Titel, usw. gespeichert.
2. Jede Meldung wurde filtriert und nur jene gespeichert, die die folgende Kriterien erfüllen:
 Es muss der Visual Chart Kanal sein
 Die Meldung muss zum Charting Typ gehören
 Der Untertitel der Nachricht muss über eine Widerstands- oder eine Unterstützungskreuzung
sein
3. Sind die Kriterien erfüllt, dann schreiben wir jedes Element der Meldung in der entsprechenden
Zeile.
4. Nachfolgend erhöhen wir den Zeilenzähler, dass im Schritt 3 unserer Entwicklung stattfindet.
TRADING TOOLS | VISUALCHART
60
5. Schließlich als zusätzliche Information schreiben wir, jedes Mal ein Kriterium nicht erfüllt ist, die
Uhrzeit und die Überschrift der ausgeschlagenen Meldung in der A1 Zelle. Dies hilft uns für die
Bestätigung der Beiträge, obwohl diese Datenangabe rein informativ ist.
Sind die Schritte 2 und 3 beendet, müssen wir nur Schritt 4 ausführen, d.h., das VCC_ILive Objekt zu
befreien.
Hierzu füllen wir den Inhalt des AnhaltenBtn_Click Ereignisses wie folgt aus:
Private Sub AnhaltenBtn_Click()
AnhaltenBtn.Enabled = False
AktivierenBtn.Enabled = True
Range("A1").ClearContents
Systemanhalten
End Sub
Wir gehen hier wie folgt vor:
1. Den AKTIVIEREN Button neu aktivieren und den ANHALTEN Button neu deaktivieren (damit wir eine
visuelle Wahrnehmung für das Anhalten des Programms haben)
2. Die zusätzliche Information in der A1 Zelle löschen
3. Den Prozess SystemStop abrufen, damit das VCC_ILive Objekt befreit wird.
Damit ist der Code beendet und wir brauchen nur das Design Modus von Excel zu deaktivieren.
3. Visualisierung der Information
Bevor die Seite für den Empfang der Information ausgeführt wird, müssen wir die Verbindung in Realtime
(Delay) in Visual Chart überprüfen.
Nachfolgend klicken wir auf den Button AKTIVIEREN und sobald wir Meldungen empfangen, werden sie in
der A1 Zelle angezeigt:
Wenn eine Meldung erscheint, die unseren Filter überstanden hat, wird diese in der entsprechenden Zeile
gespeichert:
TRADING TOOLS | VISUALCHART
62
ANHANG
AUFZÄHLUNGEN DER VERSCHIEDENEN LIBRARIES
Die Aufzählungen sind die möglichen Werte, die ein bestimmter Variablentyp übernehmen kann.
Nachstehend finden Sie die Beschreibung der Aufzählungen für die verschiedenen Libraries.
VCRealTime AUFZÄHLUNGEN
Zu der VCRealTime Library gehören folgende Variablen:
EnumVCRTField. Beinhaltet die Definitionen sämtlicher Felder, die nachgeschlagen oder empfangen
werden können.
Wert
Beschreibung
VCRT_Field_Code
Titelcode (Beispiel: 010015DX).
VCRT_Field_Last
RT-Wert.
VCRT_Field_Evol
Entwicklung.
VCRT_Field_Buy1
Kaufpreis in der ersten Position.
VCRT_Field_Sale1
Verkaufspreis in der ersten Position.
VCRT_Field_Time
Uhrzeit.
VCRT_Field_Diff
Differenz.
VCRT_Field_Porcentual
Differenz im Prozent.
VCRT_Field_Los_Trades
Trades.
VCRT_Field_Last_Vol
Wert des RT-Volumens.
VCRT_Field_Volume
Volumen.
VCRT_Field_Vol_Mon
Geld-Volumen.
VCRT_Field_Low
Minimum.
VCRT_Field_High
Maximum.
VCRT_Field_Open
Eröffnung.
VCRT_Field_Bid_Size
Anzahl der angebotenen Kaufkontrakte.
VCRT_Field_Ask_Size
Anzahl der angebotenen Verkaufskontrakte.
VCRT_Field_Previous
Voriger Preis.
VCRT_Field_Open_Int
Open Interest.
VCRT_Field_Average_P
Durchschnittspreis.
VCRT_Field_Description
Beschreibung.
VCRT_Field_B_Ag
Kaufagentur.
VCRT_Field_S_Ag
Verkaufsagentur.
VCRT_Field_Date
Datum.
VCRT_Field_Value_Per_Point
Wert pro Punkt.
VCRT_Field_Expiry_D
Fälligkeitsdatum.
VCRT_Field_ISIN
ISIN Code.
VCRT_Field_Sub_Market
Submarkt, zu dem sie gehört.
VCRT_Field_Minimum_Mov
Minimum Movement.
VCRT_Field_Decimals
Dezimalzahlen.
EnumVCRTExtField. Beinhaltet die Definitionen der erweiterten Felder, die nachgeschlagen oder
empfangen werden können. Nachstehend sind die verschiedenen Werte detailliert, die die Variablen von
diesen 2 Typen übernehmen können:
Wert
Beschreibung
VCRT_EF_FUND_Description_ES
Unternehmensbeschreibung (Spanisch).
VCRT_EF_FUND_Description_EN
Unternehmensbeschreibung (Englisch).
VCRT_EF_FUND_Description_FR
Unternehmensbeschreibung (Französisch).
VCRT_EF_FUND_Description_DE
Unternehmensbeschreibung (Deutsch).
VCRT_EF_FUND_IndustryWeight
Titelgewichtung innerhalb der Industrie.
VCRT_EF_FUND_SectorWeight
Titelgewichtung innerhalb des Sektors.
VCRT_EF_FUND_SubsectorWeight
Titelgewichtung innerhalb des Subsektors.
VCRT_EF_FUND_MarketWeight
Titelgewichtung innerhalb des Marktes.
VCRT_EF_FUND_URL
URL des Unternehmensweb.
VCRT_EF_FUND_MarketCap
Marktkapitalisierung.
VCRT_EF_FUND_MarketCapDayInc
Erhöhung der Marktkapitalisierung am Tag.
VCRT_EF_FUND_Nempoyees
Anzahl der Beschäftigte.
VCRT_EF_FUND_Noffices
Büro-/Einrichtungsanzahl.
VCRT_EF_FUND_Officers
Führungskräfte.
VCRT_EF_FUND_RefIndex
Referenzindices als Vergleich (Beta Berechnung).
VCRT_EF_FUND_SharesOut
Aktienanzahl.
VCRT_EF_FUND_MktSharesOut
Aktien am Markt. Es kann sich vom SharesOut Feld
unterscheiden, wenn der Titel an mehreren Märkten
notiert.
VCRT_EF_FUND_FaceValue
Nennwert einer Aktie.
VCRT_EF_FUND_NetIncome
Nettogewinn.
VCRT_EF_FUND_NetIncome_B
Halbjährlicher Nettogewinn.
VCRT_EF_FUND_NetIncome_Q
Vierteljährlicher Nettogewinn.
VCRT_EF_FUND_PreTaxIncome
Nettogewinn vor Steuern / EBT (jährlich).
VCRT_EF_FUND_PreTaxIncome_B
Nettogewinn vor Steuern / EBT (halbjährlich).
VCRT_EF_FUND_PreTaxIncome_Q
Nettogewinn vor Steuern / EBT (vierteljährlich).
VCRT_EF_FUND_NetIncCont
Nettogewinn von fortlaufenden Aktivitäten (jährlich).
VCRT_EF_FUND_NetIncCont_B
Nettogewinn von fortlaufenden Aktivitäten (halbjährlich).
VCRT_EF_FUND_NetIncCont_Q
Nettogewinn von fortlaufenden Aktivitäten
(vierteljährlich).
VCRT_EF_FUND_Sales
Nettoumsatz (jährlich).
VCRT_EF_FUND_Sales_B
Nettoumsatz (halbjährlich).
VCRT_EF_FUND_Sales_Q
Nettoumsatz (vierteljährlich).
VCRT_EF_FUND_OpIncome
Betriebsergebnis / Gewinn vor Steuern und Finanzlasten
(jährlich).
VCRT_EF_FUND_OpIncome_B
Betriebsergebnis / Gewinn vor Steuern und Finanzlasten
(halbjährlich).
VCRT_EF_FUND_OpIncome_Q
Betriebsergebnis / Gewinn vor Steuern und Finanzlasten
(vierteljährlich).
VCRT_EF_FUND_OIBDA
Operativer Gewinn vor Abschreibungen (jährlich).
VCRT_EF_FUND_OIBDA_B
Operativer Gewinn vor Abschreibungen (halbjährlich).
VCRT_EF_FUND_OIBDA_Q
Operativer Gewinn vor Abschreibungen (vierteljährlich).
VCRT_EF_FUND_GrossIncome
Bruttogewinn (jährlich).
VCRT_EF_FUND_GrossIncome_B
Bruttogewinn (halbjährlich).
VCRT_EF_FUND_GrossIncome_Q
Bruttogewinn (vierteljährlich).
TRADING TOOLS | VISUALCHART
64
VCRT_EF_FUND_ExtraIncome
Außerordentliches Ergebnis/Ergebnisse von nicht
fortlaufenden Aktivitäten (jährlich).
VCRT_EF_FUND_ExtraIncome_B
Außerordentliches Ergebnis/Ergebnisse von nicht
fortlaufenden Aktivitäten (halbjährlich).
VCRT_EF_FUND_ExtraIncome_Q
Außerordentliches Ergebnis/Ergebnisse von nicht
fortlaufenden Aktivitäten (vierteljährlich).
VCRT_EF_FUND_COGS
Produktionskosten der Verkäufe (jährlich).
VCRT_EF_FUND_COGS_B
Produktionskosten der Verkäufe (halbjährlich).
VCRT_EF_FUND_COGS_Q
Produktionskosten der Verkäufe (vierteljährlich).
VCRT_EF_FUND_OpExpenses
Betriebskosten (jährlich).
VCRT_EF_FUND_OpExpenses_B
Betriebskosten (halbjährlich).
VCRT_EF_FUND_OpExpenses_Q
Betriebskosten (vierteljährlich).
VCRT_EF_FUND_TotalExpenses
Gesamtkosten (jährlich).
VCRT_EF_FUND_TotalExpenses_B
Gesamtkosten (halbjährlich).
VCRT_EF_FUND_TotalExpenses_Q
Gesamtkosten (vierteljährlich).
VCRT_EF_FUND_IncTaxes
Körperschaftssteuer (jährlich).
VCRT_EF_FUND_IncTaxes_B
Körperschaftssteuer (halbjährlich).
VCRT_EF_FUND_IncTaxes_Q
Körperschaftssteuer (vierteljährlich).
VCRT_EF_FUND_MinorityInterests
Minoritätsinteressen/Den Minoritätsaktionären
zugeschriebene Gewinne (jährlich).
VCRT_EF_FUND_MinortyInterests_B
Minoritätsinteressen/Den Minoritätsaktionären
zugeschriebene Gewinne (halbjährlich).
VCRT_EF_FUND_MinorityInterests_Q
Minoritätsinteressen/Den Minoritätsaktionären
zugeschriebene Gewinne (vierteljährlich).
VCRT_EF_FUND_NetNonOpLoss
Dem Betrieb nicht zugeschriebene Verluste (jährlich).
VCRT_EF_FUND_NetNonOpLoss_B
Dem Betrieb nicht zugeschriebene Verluste (halbjährlich).
VCRT_EF_FUND_NetNonOpLoss_Q
Dem Betrieb nicht zugeschriebene Verluste
(vierteljährlich).
VCRT_EF_FUND_ComEquity
Buchwert / Den Aktionären zugeschriebenes
Nettovermögen.
VCRT_EF_FUND_EV
Unternehmenswert (jährlich).
VCRT_EF_FUND_EV_B
Unternehmenswert (halbjährlich).
VCRT_EF_FUND_EV_Q
Unternehmenswert (vierteljährlich).
VCRT_EF_FUND_EV_RT
Unternehmenswert in Realtime.
VCRT_EF_FUND_ShareholdersEquity
Nettovermögen (jährlich).
VCRT_EF_FUND_ShareCap
Kapital.
VCRT_EF_FUND_OtherReserves
Andere Rücklagen.
VCRT_EF_FUND_Dividends
Jährliche Dividenden pro Aktie. Sie zeigt den
Gewinnanteil jeder Aktie. Diese Datenangabe ist vom
Anleger häufig benutzt, da die Dividendenpolitik
manchmal einen wichtigen Bestandteil seiner Gewinne
bedeutet. Diese Börsenratio ist der Quotient der
gezahlten Dividende zwischen der Aktienanzahl.
VCRT_EF_FUND_Dividends_B
Halbjährliche Dividenden pro Aktie.
VCRT_EF_FUND_Dividends_Q
Vierteljährliche Dividenden pro Aktie.
VCRT_EF_FUND_Liabilities
Summe der Passiva.
VCRT_EF_FUND_NonCurrLiab
Noch nicht fällige Verbindlichkeiten.
VCRT_EF_FUND_CurrLiab
Kurzfristige Verbindlichkeiten.
VCRT_EF_FUND_NonCurrBonds
Noch nicht fällige Anleihen.
VCRT_EF_FUND_NonCurrBankDebs
Noch nicht fällige Schulden. Es sind langfristige Schulden
(über einem Jahr), sowohl wegen Bankkrediten als auch
Anleihen oder anderen Wertpapieren.
VCRT_EF_FUND_OtherNonCurrFinancialLiab
Andere noch nicht fällige finanzielle Verbindlichkeiten.
VCRT_EF_FUND_CurrBonds
Kurzfristige Anleihen.
VCRT_EF_FUND_CurrBankDebs
Kurzfristige Bankschulden.
VCRT_EF_FUND_Creditors
Gläubiger.
VCRT_EF_FUND_OtherCurrFinancialLiab
Andere kurzfristige finanzielle Verbindlichkeiten.
VCRT_EF_FUND_OtherCurrLiab
Andere kurzfristige Verbindlichkeiten.
VCRT_EF_FUND_Assets
Aktiva.
VCRT_EF_FUND_NonCurrAssets
Noch nicht fälliges Vermögen.
VCRT_EF_FUND_CurrAssets
Kurzfristiges Vermögen.
VCRT_EF_FUND_Inventory
Bestände.
VCRT_EF_FUND_Receivables
Debitoren. Noch einzuziehende Beträge,
Handelsdebitoren, usw.
VCRT_EF_FUND_Cash
Bargeld.
VCRT_EF_FUND_EPS
Gewinn je Aktie.
VCRT_EF_FUND_EPS_B
Gewinn je Aktie (halbjährlich).
VCRT_EF_FUND_EPS_Q
Gewinn je Aktie (vierteljährlich).
VCRT_EF_FUND_PER
Price Earning Ratio. Dieser Wert misst das Verhältnis
zwischen dem Marktwert eines Unternehmens und
seinem gesamten Gewinn (jährlich).
VCRT_EF_FUND_PER_B
PER halbjährlich.
VCRT_EF_FUND_PER_Q
PER vierteljährlich.
VCRT_EF_FUND_PER_RT
PER in Realtime. Er wird jede 5 Minuten berechnet.
VCRT_EF_FUND_PtoS
Preis nach Umsatz (jährlich).
VCRT_EF_FUND_PtoS_B
Preis nach Umsatz (halbjährlich).
VCRT_EF_FUND_PtoS_Q
Preis nach Umsatz (vierteljährlich).
VCRT_EF_FUND_PtoS_RT
Preis nach Umsatz (Realtime). Er wird jede 5 Minuten
berechnet.
VCRT_EF_FUND_PtoB
Preis nach Buchwert (jährlich).
VCRT_EF_FUND_PtoB_RT
Preis nach Buchwert (Realtime). Er wird jede 5 Minuten
berechnet.
VCRT_EF_FUND_PtoCF
Preis nach Kassenfluss (jährlich).
VCRT_EF_FUND_PtoCF_B
Preis nach Kassenfluss (halbjährlich).
VCRT_EF_FUND_PtoCF_Q
Preis nach Kassenfluss (vierteljährlich).
VCRT_EF_FUND_PtoCF_RT
Preis nach Kassenfluss (Realtime). Er wird jede 5 Minuten
berechnet.
VCRT_EF_FUND_DivYield
Rendite/Dividendenrentabilität (jährlich).
VCRT_EF_FUND_DivYield_B
Rendite/Dividendenrentabilität (halbjährlich).
VCRT_EF_FUND_DivYield_Q
Rendite/Dividendenrentabilität (vierteljährlich).
VCRT_EF_FUND_DivYield_RT
Rendite/Dividendenrentabilität (Realtime). Er wird jede 5
Minuten berechnet.
VCRT_EF_FUND_PayOutR
Payout ratio (jährlich).
VCRT_EF_FUND_PayOutR_B
Payout ratio (halbjährlich).
VCRT_EF_FUND_PayOutR_Q
Payout ratio (vierteljährlich).
VCRT_EF_FUND_GrossMargin
Bruttogewinn der Umsätze (jährlich).
VCRT_EF_FUND_GrossMargin_B
Bruttogewinn der Umsätze (halbjährlich).
VCRT_EF_FUND_GrossMargin_Q
Bruttogewinn der Umsätze (vierteljährlich).
VCRT_EF_FUND_OpMargin
Bruttogewinn der Umsätze (jährlich).
VCRT_EF_FUND_OpMargin_B
Bruttogewinn der Umsätze (halbjährlich).
TRADING TOOLS | VISUALCHART
66
VCRT_EF_FUND_OpMargin_Q
Bruttogewinn der Umsätze (vierteljährlich).
VCRT_EF_FUND_PreTaxMargin
EBIT der Umsätze (jährlich).
VCRT_EF_FUND_PreTaxMargin_B
EBIT der Umsätze (halbjährlich).
VCRT_EF_FUND_PreTaxMargin_Q
EBIT der Umsätze (vierteljährlich).
VCRT_EF_FUND_EfTaxRate
Effektiver Steuersatz (jährlich).
VCRT_EF_FUND_EfTaxRate_B
Effektiver Steuersatz (halbjährlich).
VCRT_EF_FUND_EfTaxRate_Q
Effektiver Steuersatz (vierteljährlich).
VCRT_EF_FUND_ROA
Gesamtkapitalrentabilität (jährlich).
VCRT_EF_FUND_ROA_B
Gesamtkapitalrentabilität (halbjährlich).
VCRT_EF_FUND_ROA_Q
Gesamtkapitalrentabilität (vierteljährlich).
VCRT_EF_FUND_ROE
Eigenkapitalrendite (jährlich).
VCRT_EF_FUND_ROE_B
Eigenkapitalrendite (halbjährlich).
VCRT_EF_FUND_ROE_Q
Eigenkapitalrendite (vierteljährlich).
VCRT_EF_FUND_ROI
Investitionsrendite (jährlich).
VCRT_EF_FUND_ROI_B
Investitionsrendite (halbjährlich).
VCRT_EF_CALF_DayCash
Gehandeltes Bargeld. Tagessumme des gehandelten
Volumens durch den Preis jeder Transaktion.
VCRT_EF_CALF_MonthRotation
Monatliche Rotation. Monatsanzahl, die nötig für das
Handel des Volumen gleich der gesamten Aktienzahl war.
VCRT_EF_CALF_DayHi
Tageshoch.
VCRT_EF_CALF_PToDayHI
Prozentabstand zum Tageshoch.
VCRT_EF_CALF_WeekHi
Wochenhoch.
VCRT_EF_CALF_PToWeekHi
Prozentabstand zum Wochenhoch.
VCRT_EF_CALF_MonthHi
Monatshoch.
VCRT_EF_CALF_PToMonthHi
Prozentabstand zum Monatshoch.
VCRT_EF_CALF_52WeekHi
Hoch der letzten 52 Wochen.
VCRT_EF_CALF_PTo52WeekHi
Prozentabstand zum Hoch der letzten 52 Wochen.
VCRT_EF_CALF_HistoricHi
Historiehoch.
VCRT_EF_CALF_PToHistoricHi
Prozentabstand zum Historiehoch.
VCRT_EF_CALF_5YearsHi
Hoch der letzten 5 Jahre.
VCRT_EF_CALF_PTo5YearsHi
Prozentabstand zum Hoch der letzten 5 Jahre.
VCRT_EF_CALF_CurrentYearHi
Hoch des laufenden Jahres.
VCRT_EF_CALF_PToCYearHi
Prozentabstand zum Hoch des laufenden Jahres.
VCRT_EF_CALF_DayLo
Tagestief.
VCRT_EF_CALF_PToDayLo
Prozentabstand zum Tagestief.
VCRT_EF_CALF_WeekLo
Wochentief.
VCRT_EF_CALF_PToWeekLo
Prozentabstand zum Wochentief.
VCRT_EF_CALF_MonthLo
Monatstief.
VCRT_EF_CALF_PToMonthLo
Prozentabstand zum Monatstief.
VCRT_EF_CALF_52WeekLo
Tief der letzten 52 Wochen.
VCRT_EF_CALF_PTo52WeekLo
Prozentabstand zum Tief der letzten 52 Wochen.
VCRT_EF_CALF_HistoricalLow
Historietief.
VCRT_EF_CALF_PtoHistoricLow
Prozentabstand zum Historietief.
VCRT_EF_CALF_5YearsLo
Tief der letzten 5 Jahre.
VCRT_EF_CALF_PTo5YearsLo
Prozentabstand zum Tief der der letzten 5 Jahre.
VCRT_EF_CALF_CurrentYearLo
Tief des laufenden Jahres.
VCRT_EF_CALF_PToCYearLo
Prozentabstand zum Tief des Jahres.
VCRT_EF_CALF_DayYield
Tagesrentabilität.
VCRT_EF_CALF_WeekYield
Wochenrentabilität.
VCRT_EF_CALF_MonthYield
Monatsrentabilität.
VCRT_EF_CALF_52WeekYield
Rentabilität der letzten 52 Wochen.
VCRT_EF_CALF_CurrentYYield
Rentabilität des laufenden Jahres.
VCRT_EF_CALF_5YearsYield
Rentabilität der letzten 5 Jahre.
VCRT_EF_CALF_TradeDiferencial
Tradedifferenz. Differenz zwischen dem ausgeführten
Kauf- und Verkaufsvolumen am Tag.
VCRT_EF_CALF_Beta
Beta Koeffizient. Für die Berechnung dieses Wertes
werden die wöchentlichen Rendite der letzten 5 Jahre des
Titels und des Referenzindexes (RefIndex Rv und Ri
jeweils) übernommen. Die Regressionslinie dieser Werte
wird berechnet, in dem Ri als Y-Variable und Rv als XVariable betrachtet werden. Die Neigung der geraden
Linie ist Beta.
Falls 5 Jahre Historie nicht vorhanden ist, wird die
verfügbare Periode benutzt, vorausgesetzt diese Periode
größer als 1 Jahr ist. Die Berechnung und die
Aktualisierung finden wöchentlich statt.
VCRT_EF_CALF_Delta
Delta einer Option.
VCRT_EF_CALF_Gamma
Gamma einer Option. Die Änderungsgeschwindigkeit des
Delta wird hiermit gemessen.
VCRT_EF_CALF_Theta
Die Änderung einer Option im Laufe der Zeit wird hiermit
gemessen.
VCRT_EF_CALF_Vega
Die Volatilitätsempfindlichkeit des zugrunde liegenden
Basiswertes des Optionspreises wird hiermit gemessen.
VCRT_EF_CALF_Rho
Optionsempfindlichkeit auf Wechselkurse.
VCRT_EF_CALF_Alfa
Alfa Koeffizient. Für die Berechnung dieses Wertes
werden die wöchentlichen Rendite der letzten 5 Jahre des
Titels und des Referenzindexes (RefIndex Rv und Ri
jeweils) übernommen. Die Regressionslinie dieser Werte
wird berechnet, in dem Ri als y-Variable und Rv als XVariable betrachtet werden. Die Kreuzung der geraden
Linie mit der x-Achse ist der Alfa Parameter.
Falls 5 Jahre Historie nicht vorhanden ist, wird die
verfügbare Periode benutzt, vorausgesetzt diese Periode
größer als 1 Jahr ist. Die Berechnung und die
Aktualisierung finden wöchentlich statt.
VCRT_EF_CALF_VaR
Value at risk. Hier wird das höchste Prozent spezifiziert,
das in einer Sitzung mit 95% Gewissheit verloren gehen
kann.
VCRT_EF_CALF_VaR99
Spezifiziert das höchste Prozent, das in einer Sitzung mit
99% Gewissheit verloren gehen kann.
VCRT_EF_CALF_Liquidity
Liquidität. Ein interessanter Parameter für die
Portfoliobewertung ist die Liquidität seiner Titel. Als
Liquidität verstehen wir, die verfügbare Leichtigkeit eine
Position zu schließen, oder die entgegengesetzten Kosten
beim Schließen einer Position weil nicht genügend
Gegenpartie vorhanden ist.
VCRT_EF_CALF_AvPriceDay
Durchschnittspreis des Tages.
VCRT_EF_CALF_AvPriceWeek
Durchschnittspreis der Woche.
VCRT_EF_CALF_AvPriceMonth
Durchschnittspreis des Monats.
VCRT_EF_CALF_AvPriceQuarter
Durchschnittspreis des Vierteljahres.
VCRT_EF_CALF_AvPriceYear
Durchschnittspreis des Jahres.
VCRT_EF_CALF_AvMarketCapDay
Durchschnittspreiskapitalisierung des Tages.
TRADING TOOLS | VISUALCHART
68
VCRT_EF_CALF_AvMarketCapWeek
Durchschnittspreiskapitalisierung der Woche.
VCRT_EF_CALF_AvMarketCapMonth
Durchschnittsmarktkapitalisierung des Monats.
VCRT_EF_CALF_AvMarketCapQuarter
Durchschnittsmarktkapitalisierung des Vierteljahres.
VCRT_EF_CALF_AvMarketCapYear
Durchschnittsmarktkapitalisierung des Jahres.
VCRT_EF_RT_CapType
Klassifizierung nach Kapitalisierung.
VCRT_EF_RT_YieldWeekly
Wöchentliche Rentabilität.
VCRT_EF_RT_YieldMonthly
Monatliche Rentabilität.
VCRT_EF_RT_YieldQuarterly
Vierteljährliche Rentabilität.
VCRT_EF_RT_YieldBiannually
Halbjährliche Rentabilität.
VCRT_EF_RT_YieldYearly
Jährliche Rentabilität.
VCRT_EF_TECA_Support1
Erste Unterstützung.
VCRT_EF_TECA_SupportViolated
Durchgebrochene Unterstützung.
VCRT_EF_TECA_PToSupport1
Prozentabstand zur ersten Unterstützung.
VCRT_EF_TECA_Support2
Zweite Unterstützung.
VCRT_EF_TECA_PToSupport2
Prozentabstand zur zweiten Unterstützung.
VCRT_EF_TECA_Support3
Dritte Unterstützung.
VCRT_EF_TECA_PToSupport3
Prozentabstand zur dritten Unterstützung.
VCRT_EF_TECA_Resistance1
Erster Widerstand.
VCRT_EF_TECA_ResistanceViolated
Durchgebrochener Widerstand.
VCRT_EF_TECA_PToResistance1
Prozentabstand zum ersten Widerstand.
VCRT_EF_TECA_Resistance2
Zweiter Widerstand.
VCRT_EF_TECA_PToResistance2
Prozentabstand zum zweiten Widerstand.
VCRT_EF_TECA_Resistance3
Dritter Widerstand.
VCRT_EF_TECA_PToResistance3
Prozentabstand zum dritten Widerstand.
VCRT_EF_TECA_BullTLine
Bullische Trendlinie.
VCRT_EF_TECA_CrossBullTLine
Gekreuzte bullische Trendlinie.
VCRT_EF_TECA_BullTLine2
Zweite bullische Trendlinie.
VCRT_EF_TECA_BullTLineSlope
Neigung der bullischen Trendlinie.
VCRT_EF_TECA_PToBullTLine
Prozentabstand zur bullischen Trendlinie.
VCRT_EF_TECA_BearTLine
Bärische Trendlinie.
VCRT_EF_TECA_CrossBearTLine
Gekreuzte bärische Trendlinie.
VCRT_EF_TECA_BearTLine2
Zweite bärische Trendlinie.
VCRT_EF_TECA_BearTLineSlope
Neigung der bärischen Trendlinie.
VCRT_EF_TECA_PToBearTLine
Prozentabstand zur bärischen Trendlinie.
VCRT_EF_TECA_RegLine
Regressionslinie.
VCRT_EF_TECA_RegSlope
Neigung der Regressionslinie.
VCRT_EF_TECA_TopRegChannel
Obere Grenze des Regressionskanals.
VCRT_EF_TECA_BotRegChannel
Untere Grenze des Regressionskanals.
VCRT_EF_TECA_CrossTopRegChannel
Obere Grenze des Regressionskanals durchgekreuzt.
VCRT_EF_TECA_CrossBotRegChannel
Untere Grenze des Regressionskanals durchgekreuzt.
VCRT_EF_TECA_RegLineParams
Parameter für die Zeichnung der Linie und des
Regressionskanals.
VCRT_EF_TECA_PToRegLine
Prozentabstand zur Regressionslinie.
VCRT_EF_TECA_PToTopRegCh
Prozentabstand zur oberen Linie des Regressionskanals.
VCRT_EF_TECA_PToBotRegCh
Prozentabstand zur unteren Linie des Regressionskanals.
VCRT_EF_TECA_PercentGap
Gap im Prozent. Wenn eine Lücke zwischen der Eröffnung
und dem Schluss des vorigen Tages vorhanden ist, zeigt
dieses Feld den Prozentabstand.
VCRT_EF_TECA_DoubleTop
Doppeltop Chartfigur.
VCRT_EF_TECA_DoubleBottom
Doppelboden Chartfigur.
VCRT_EF_TECA_HeadShoulders
Kopf-Schulter-Kopf Chartfigur.
VCRT_EF_TECA_BreakingFloor
Unterstützungsdurchbruch.
VCRT_EF_TECA_FibonacciR1
Erstes Fibonacci-Retracement.
VCRT_EF_TECA_CrossFibR1
Erstes durchgekreuztes Retracement.
VCRT_EF_TECA_PToFibonacciR1
Prozentabstand zum ersten Fibonacci-Retracement.
VCRT_EF_TECA_FibonacciR2
Zweites Fibonacci-Retracement.
VCRT_EF_TECA_CrossFibR2
Zweites durchgekreuztes Retracement.
VCRT_EF_TECA_PToFibonacciR2
Prozentabstand zum zweiten Fibonacci-Retracement.
VCRT_EF_TECA_FibonacciR3
Drittes Fibonacci-Retracement.
VCRT_EF_TECA_CrossFibR3
Drittes durchgekreuztes Retracement.
VCRT_EF_TECA_PToFibonacciR3
Prozentabstand zum dritten Fibonacci-Retracement.
VCRT_EF_TECA_FibonacciR4
Viertes Fibonacci-Retracement.
VCRT_EF_TECA_CrossFibR4
Viertes durchgekreuztes Retracement.
VCRT_EF_TECA_PToFibonacciR4
Prozentabstand zum vierten Fibonacci-Retracement.
VCRT_EF_TECA_GannR1
Erstes Gann-Retracement.
VCRT_EF_TECA_PToGannR1
Prozentabstand zum ersten Gann-Retracement.
VCRT_EF_TECA_GannR2
Zweites Gann-Retracement.
VCRT_EF_TECA_PToGannR2
Prozentabstand zum zweiten Gann-Retracement.
VCRT_EF_TECA_GannR3
Drittes Gann-Retracement.
VCRT_EF_TECA_PToGannR3
Prozentabstand zum dritten Gann-Retracement.
VCRT_EF_TECA_GannR4
Viertes Gann-Retracement.
VCRT_EF_TECA_PToGannR4
Prozentabstand zum vierten Gann-Retracement.
VCRT_EF_TECA_ElliotWN
Anzahl der Elliot-Welle.
VCRT_EF_TECA_WMagnitude
Wellenbreite.
VCRT_EF_TECA_AvWMagnitude
Durchschnittsbreite der Welle.
VCRT_EF_TECA_CTrendMagnitude
Breite des aktuellen Trends.
VCRT_EF_TECA_AvTrendMagnitude
Durchschnittsbreite des Trends.
VCRT_EF_TECA_Hammer
Kerze vom Typ Regenschirm, in der das Ende eines
bärischen Trends erwartet wird.
VCRT_EF_TECA_HangingMan
Kerze vom Typ Sonnenschirm, in der das Ende eines
bullischen Trends erwartet wird.
VCRT_EF_TECA_InvertedHammer
Kerze mit kleinem realen Körper und großen oberen
Schatten, in der das Ende eines bärischen Trends
erwartet wird.
VCRT_EF_TECA_BullishHarami
Bullisches Pattern bestehend aus 2 Kerzen. Die erste ist
eine große Kerze. Die danach folgende Kerze besteht aus
einem kleinen Körper, der komplett innerhalb des ersten
Kerzenkörpers liegt.
VCRT_EF_TECA_BearishHarami
Bärisches Pattern bestehend aus 2 Kerzen. Die erste ist
eine große Kerze. Die danach folgende Kerze besteht aus
einem kleinen Körper, der komplett innerhalb des ersten
Kerzenkörpers liegt.
VCRT_EF_TECA_ShootingStar
Kerze vom Typ Star, in der das Ende eines bullischen
Trends erwartet wird.
VCRT_EF_TECA_EveningStar
Pattern vom Typ Star bestehend aus 3 Kerzen. Die erste
ist eine große weiße Kerze. Die zweite ist ein Star. Die
letzte bestätigt den Trendwechsel. Mit diesem Pattern
wird das Ende eines bullischen Trends erwartet.
VCRT_EF_TECA_MorningStar
Pattern vom Typ Star bestehend aus 3 Kerzen. Die erste
TRADING TOOLS | VISUALCHART
70
ist eine große weiße Kerze. Die zweite ist ein Star. Die
letzte bestätigt den Trendwechsel. Mit diesem Pattern
wird das Ende eines bärischen Trends erwartet.
VCRT_EF_TECA_DarkCloudCover
Dieses Pattern gilt als bärisches Trendwendesignal.
Der Markt setzt zunächst seine bullische Marktbewegung
mit einer langen weißen Kerze fort. Die zweite Kerze
eröffnet über dem vorherigen Höchstkurs (bzw.
Schlusskurs), schließt jedoch in der Nähe des
Eröffnungskurses der vorherigen Kerze.
VCRT_EF_TECA_PiercingLine
Dieses Pattern zeigt eine bullische Umkehrformation
bestehend aus zwei Kerzen. Nach einer langen schwarzen
Kerze im Abwärtstrend liegen die Eröffnung der nächsten
Kerze unter dem Tief der vorigen Kerze und der Schluss
oberhalb der Mitte des vorigen schwarzen Kerzenkörpers.
VCRT_EF_TECA_BullishEngulfing
Dieses Pattern zeigt eine bullische Umkehrformation
bestehend aus zwei Kerzen. Die erste Kerze ist eine
schwarze Kerze. Die zweite Kerze ist eine große weise
Kerze, deren Body die vorherige schwarze Kerze komplett
umschließt.
VCRT_EF_TECA_BearishEngulfing
Dieses Pattern zeigt eine bärische Umkehrformation
bestehend aus zwei Kerzen. Die erste ist eine weise
Kerze. Die zweite ist eine schwarze Kerze, die die vorige
Kerze umschließen muss.
VCRT_EF_TECA_ThreeWhiteSoldiers
1. Dieses Pattern zeigt eine bullische Umkehrformation
bestehend aus drei Kerzen mit jeweils höheren Preisen,
die optimalerweise in der Nähe ihres Höchstkurses
schließen.
VCRT_EF_TECA_ThreeBlackCrows
Dieses Pattern zeigt eine bärische Umkehrformation
bestehend aus drei Kerzen.
VCRT_EF_IND_RSI
14-Tage-RSI.
VCRT_EF_IND_TendRSI
RSI Trend.
VCRT_EF_IND_MACD
12-Tage-MACD. Der MACD ist die Differenz zwischen 2
exponentiellen Durchschnitte:
Average1 mit Periode 12
Average2 mit Periode 26
MACD=AVExp(12) - AVExp(26)
VCRT_EF_IND_MACDSig
Signallinie für die MACD Wirkung.
VCRT_EF_IND_TendMACD
MACD Trend.
VCRT_EF_IND_StochasticSK
Stochastic (Linie SK).
VCRT_EF_IND_StochasticSD
Stochastic (Linie SD).
VCRT_EF_IND_TendStochastic
Stochastic Trend.
VCRT_EF_IND_BollingerCL10
10-Tage zentralles Bollinger Band.
VCRT_EF_IND_BollingerUpL10
10-Tage oberes Bollinger Band.
VCRT_EF_IND_BollingerDownL10
10-Tage unteres Bollinger Band.
VCRT_EF_IND_BollingerCL20
20-Tage zentralles Bollinger Band.
VCRT_EF_IND_BollingerUpL20
20-Tage oberes Bollinger Band.
VCRT_EF_IND_BollingerDownL20
20-Tage unteres Bollinger Band.
VCRT_EF_IND_AV15
15-Tage-Moving Average.
VCRT_EF_IND_TendAV15
15-Tage-Moving Average Trend.
VCRT_EF_IND_PToAV15
Prozentabstand zum 15-Tage-Average.
VCRT_EF_IND_AV50
50-Tage-Moving Average.
VCRT_EF_IND_TendAV50
50-Tage-Moving Average Trend.
VCRT_EF_IND_PToAV50
Prozentabstand zum 50-Tage-Average.
VCRT_EF_IND_AV100
100-Tage-Moving Average.
VCRT_EF_IND_TendAV100
100-Tage-Moving Average Trend.
VCRT_EF_IND_PToAV100
Prozentabstand zum 100-Tage-Average.
VCRT_EF_IND_AV200
200-Tage-Moving Average.
VCRT_EF_IND_TendAV200
200-Tage-Moving Average Trend.
VCRT_EF_IND_PToAV200
Prozentabstand zum 200-Tage-Average.
VCRT_EF_IND_DifAv15Av50
Prozentabstand zwischen den 15- und 50-Tage Average.
VCRT_EF_IND_DifAv50Av200
Prozentabstand zwischen den 50- und 200-Tage Average.
VCRT_EF_IND_DayVol
Tagesvolumen.
VCRT_EF_IND_WeekVol
Wochenvolumen.
VCRT_EF_IND_MonthVol
Monatsvolumen.
VCRT_EF_IND_52WeekVol
Volumen der letzten 52 Wochen.
VCRT_EF_IND_Av52WVol
Durchschnittsvolumen der letzten 52 Wochen.
VCRT_EF_IND_TendAv52WVol
Trend des Durchschnittsvolumens der letzten 52 Wochen.
VCRT_EF_IND_CurrentYVol
Volumen des laufenden Jahres.
VCRT_EF_IND_AvVol15
15-Tage-Durchschnittsvolumen.
VCRT_EF_IND_TendAvVol15
15-Tage-Volumen Moving Average Trend.
VCRT_EF_IND_RelativeVol
Differenz zwischen dem Volumen der aktuellen Sitzung
mit 15-Tage-Volumen Moving Average.
VCRT_EF_IND_ComparativeVol
Volumendifferenz (berechnet die Differenz zwischen
einem Volumenvergleich eines Monats in Bezug auf den
letzten 52 Wochen mit identischem Vergleich für
denselben Monat des vorigen Jahres).
VCRT_EF_IND_DayVolatility
Tagesvolatilität (die Volatilität zeigt das Risiko in Bezug
auf die Titelschwankungen).
Dieses Feld wird ähnlich wie der Volatilitätsindex
Indikator berechnet, aber sie wird nach dem Titelpreis
gewichtet:
Wir definieren:
Ci-1 = Schluß des vorigen Balkens
MAXi = Balkenhoch
MINi = Balkentief
Wir berechnen:
a = | MAXi - MINi|
b = | Ci-1 - MAXi|
c = | Ci-1 - MINi|
TRi = 100 * max (a, b, c)/ Ci-1
Es wird nach dem Schlusspreis des vorigen Balkens
gewichtet. Der erste Volatilitätswert ist der Durchschnitt
der TRi für die angegebene 'p' Periode. Die Folgenden
werden so berechnet:
Vi = (TRi + Vi-1 * (p - 1)) /p
Für die verschiedenen Volatilitätswerten sind folgende
anzuwendenden Perioden und Balken zu betrachten:
Tag => 100 Balken von 15 Minuten
Woche => 500 Balken von 15 Minuten
Monat => 23 Balken von 1 Tag
TRADING TOOLS | VISUALCHART
72
52 Wochen => 250 Balken von 1 Tag
5 Jahre => 1250 Balken von 1 Tag
VCRT_EF_IND_DayVolatilityAlert
Tagesvolatilitätssignal.
Wenn TRi > 3 * Vi-1 in der Tagesvolatilität.
VCRT_EF_IND_WeekVolatility
Wochenvolatilität.
VCRT_EF_IND_MonthVolatility
Monatsvolatilität.
VCRT_EF_IND_52WeekVolatility
Volatilität der letzten 52 Wochen.
VCRT_EF_IND_5YearsVolatility
Volatilität der letzten 5 Jahren.
VCRT_EF_IND_ADX
14-Tage-Directional Movement.
VCRT_EF_IND_TendADX
14-Tage-ADX Trend.
VCRT_EF_IND_PositiveDi
14-Tage-DI +.
VCRT_EF_IND_TendPositiveDi
14-Tage-DI + Trend.
VCRT_EF_IND_NegativeDi
14-Tage-DI-.
VCRT_EF_IND_TendNegativeDi
14-Tage-DI- Trend.
VCRT_EF_IND_AccumDis
AccumDis
VCRT_EF_IND_StdDesviation
Standard Abweichung. Es wird die standard Abweichung
der wöchentlichen Rentabilitäten der letzten 5 Jahren
berechnet.
Ist die 5 Jahren Historie nicht vorhanden, wird die
verfügbare Zeit benutzt, aber mindestens 1 Jahr.
Die Berechnung und die Aktualisierung sind wöchentlich.
VCRT_EF_PORT_PHYield
VCRT_EF_PORT_PDYield
Prozentrentabilität des laufenden Tages.
VCRT_EF_PORT_PWYield
Prozentrentabilität der laufenden Woche.
VCRT_EF_PORT_PMYield
Monatsrentabilität.
VCRT_EF_PORT_P52WYield
Rentabilität der letzten 52 Wochen.
VCRT_EF_PORT_PCYYield
Prozentrentabilität des laufenden Jahres.
VCRT_EF_PORT_P3YYield
Prozentrentabilität der letzten 3 Jahre.
VCRT_EF_PORT_P5YYield
Prozentrentabilität der letzten 5 Jahre.
VCRT_EF_PORT_PPIndex
Historischer Wert der aktuellen Position eines Portfolios.
VCRT_EF_PORT_PVaR
VaR (Value at Risk) des Portfolios.
VCRT_EF_PORT_PVolume
Volumen (Kontraktenanzahl).
VCRT_EF_PORT_PPrice
Preis (per Kontrakt).
VCRT_EF_PORT_PValue
Marktwert der offenen Positionen eines Portfolios.
VCRT_EF_PORT_PCash
Verfügbares Bargeld eines Portfolios.
VCRT_EF_PORT_PCredit
Einnahme einer Transaktion.
VCRT_EF_PORT_PBalance
Bilanz (Einnahme minus Ausgaben). Sie zeigt die
Gewinne und Verluste der Trades.
VCRT_EF_PORT_PNumTransacts
Anzahl der ausgeführten Transaktionen.
VCRT_EF_PORT_PNumPositions
Anzahl der Positionen im Portfolio.
VCRT_EF_PORT_AvgBuyPrice
Durchschnittskaufpreis einer Position. Ist derselbe
Wertpapier in zwei Trades auf verschiedene Preise
gekauft, zeigt dieses Feld den Durchschnittspreis in
Bezug auf die in jeder Operation gekaufte
Kontraktenanzahl.
VCRT_EF_PORT_PShort
Zeigt, ob die Position verkauft ist oder nicht. Bis jetzt sind
Baissepositionen im Portfolio nicht möglich, wobei diese
Funktion in neuen Versionen eingefügt wird.
VCRT_EF_PORT_PDividends
Erhaltene Dividende (bis zu diesem Datum kumuliert).
VCRT_EF_PORT_PNumDividends
Erhaltene Dividende (bis zu diesem Datum kumuliert).
VCRT_EF_PORT_PNumEarnings
Anzahl der geschlossenen Operationen.
VCRT_EF_PORT_PAccount
Konto der Transaktion.
VCRT_EF_PORT_PTransactType
Transaktionstyp. Es kann einen Kauf, Verkauf, Einnahme,
Rückerstattung, Provision oder Dividende sein.
VCRT_EF_PORT_PDebit
Ausgaben einer Transaktion.
VCRT_EF_PORT_PFees
Provisionen.
VCRT_EF_PORT_PGain
Ausgeführte Garantien.
VCRT_EF_PORT_PGLatentes
Latente Garantien.
VCRT_EF_PORT_Patrimonio
Portfoliovermögen (PValue + PCash)
VCRT_EF_PORT_PReturn
Historischer Prozentgewinn.
VCRT_EF_INDA_DayGainers
Anzahl der steigenden Unternehmen am Tag (steigende
Unternehmen von allen Indices und Märkten).
VCRT_EF_INDA_DayLosers
Anzahl der fallenden Unternehmen am Tag (fallende
Unternehmen von allen Indices und Märkten).
VCRT_EF_INDA_DayRepeat
Anzahl der wiederholenden Unternehmen am Tag
(wiederholende Unternehmen von allen Indices und
Märkten).
VCDataSource AUFZÄHLUNGEN
Nachfolgend sind die möglichen Werte erklärt, die ein Variablentyp der VCDataSource Library übernehmen
kann.
EnumVCDSOrderType. Zeigt den im System ausgeführten Ordertyp (siehe VCDS_SystemOrder und
VCDS_Trade).
Wert
Beschreibung
VCDS_OT_Market
Order am Markt.
VCDS_OT_Limit
Limit Order.
VCDS_OT_Stop
Stop Order.
EnumVCDSOrderSide. Zeigt, ob die Order des Trades eine Kauf- oder Verkaufsorder ist (siehe
VCDS_Trade).
Wert
Beschreibung
VCDS_OS_Unknown
Unbekannt (nicht spezifiziert).
VCDS_OS_Buy
Kauf.
VCDS_OS_Sell
Verkauf.
EnumVCDSDataSourceType. Zeigt den Quellentyp (siehe VCDS_DataSource).
Wert
Beschreibung
VCDS_DT_Any
Nicht spezifiziert.
VCDS_DT_DataSerie
Die Quelle ist eine Serie (VCDS_DataSerie).
VCDS_DT_Indicator
Die Quelle ist ein Indikator (VCDS_Indicator).
VCDS_DT_System
Die Quelle ist ein System (VCDS_System).
EnumVCDSCompressionType. Zeigt den Komprimierungstyp einer Serie. Für die Tickquellen zeigen die
Komprimierungseinheiten die Tickanzahl in jedem Balken. Für die restlichen Komprimierungstypen zeigen
die Einheiten die Anzahl der Minuten, Tagen, Wochen und Monaten.
Wert
VCDS_CT_Ticks
TRADING TOOLS | VISUALCHART
Beschreibung
Tickkomprimierung.
74
VCDS_CT_Minutes
Minutenkomprimierung.
VCDS_CT_Days
Tageskomprimierung.
VCDS_CT_Weeks
Wochenkomprimierung.
VCDS_CT_Months
Monatskomprimierung.
EnumVCDSContextWorkMode. Zeigt den aktiven Kontexttyp. Wenn Datenserien erstellt sind, können
diese die temporäre Skala miteinander teilen. Diese Funktion ist sehr nützlich, falls zwei Datenserien
verglichen werden möchten, ein Indikator mit zwei Datenserien eingefügt wird, usw.
Die Serien, die den Kontext miteinander teilen, machen es standardmäßig, und in diesem Fall wird der
zuerst erstellte Kontext miteinander geteilt, der nicht zu einer Serie mit Tickkomprimierung gehört, oder der
Kontext der ersten Tickserie, wenn nur Tickserien existieren.
Wert
Beschreibung
VCDS_CWM_Multiple
Die Serien werden in unabhängigen Kontexten erstellt.
VCDS_CWM_Shared
Die Serien teilen denselben Kontext, d.h. den standardmäßigen
Kontext, miteinander.
EnumVCDSInstrumentType. Instrumententyp (siehe VCDS_SymbolInfo).
Wert
Beschreibung
VCDS_IT_Currencies
Devisen.
VCDS_IT_Future
Futures.
VCDS_IT_Index
Indices.
VCDS_IT_Mixed
Mischung.
VCDS_IT_Option
Optionen.
VCDS_IT_Fund
Fonds.
VCDS_IT_Warrant
Warrants.
VCDS_IT_Stock
Aktien.
EnumVCDSSystemEvent. Informiert über das Ereignis unter OnSystemEvent.
Wert
Beschreibung
VCDS_SE_NewTrade
Neuer Trade wurde generiert.
VCDS_SE_NewOrder
Neue Order wurde generiert.
VCDS_SE_ChangedPosition Eine Positionsänderung wurde ausgeführt.
EnumVCDSStatisticVariable. Zeigt die statistische Variable.
Wert
Statistische Variable in VBA
(AppSystem)
Beschreibung
VC_SV_Gross
svGross
Bruttogewinn.
VC_SV_GrossProfit
svGrossProfit
Bruttogewinn (kumuliert).
VC_SV_Stdev_Gross
svStdev_Gross
Bruttogewinn
(Standardabweichung).
VC_SV_Avg_Gross
svAvg_Gross
Bruttogewinn
(Durchschnitt).
VC_SV_CV_Gross
svCV_Gross
Bruttogewinn
(Abweichungskoeffizient).
VC_SV_StdevPAvg_Gross
svStdevPAvg_Gross
Bruttogewinn (+1 Abw).
VC_SV_StdevMAvg_Gross
svStdevMAvg_Gross
Bruttogewinn (-1 Abw).
VC_SV_Max_Gross
svMax_Gross
Bruttogewinn (Maximum).
VC_SV_Min_Gross
svMin_Gross
Bruttogewinn (Minimum).
VC_SV_Select_Gross
svSelect_Gross
Bruttogewinn (Select).
VC_SV_Outlier_Gross
svOutlier_Gross
Bruttogewinn (Outliers).
VC_SV_Net
svNet
Nettogewinn.
VC_SV_NetProfit
svNetProfit
Nettogewinn (kumuliert).
VC_SV_Stdev_Net
svStdev_Net
Nettogewinn
(Standardabweichung).
VC_SV_Avg_Net
svAvg_Net
Nettogewinn
(Durchschnitt).
VC_SV_CV_Net
svCV_Net
Nettogewinn
(Abweichungskoeffizient).
VC_SV_StdevPAvg_Net
svStdevPAvg_Net
Nettogewinn (+1 Abw).
VC_SV_StdevMAvg_Net
svStdevMAvg_Net
Nettogewinn (-1 Abw).
VC_SV_Max_Net
svMax_Net
Nettogewinn (Maximum).
VC_SV_Min_Net
svMin_Net
Nettogewinn (Minimum).
VC_SV_Select_Net
svSelect_Net
Nettogewinn (Select).
VC_SV_Outlier_Net
svOutlier_Net
Nettogewinn (Outliers).
VC_SV_Stdev_NetProfit
svStdev_NetProfit
Kumulierter Nettogewinn
(Standardabweichung).
VC_SV_Avg_NetProfit
svAvg_NetProfit
Kumulierter Nettogewinn
(Durchschnitt).
VC_SV_CV_NetProfit
svCV_NetProfit
Kumulierter Nettogewinn
(Abweichungskoeffizient).
VC_SV_StdevPAvg_NetProfit
svStdevPAvg_NetProfit
Kumulierter Nettogewinn
(+1 Abw).
VC_SV_StdevMAvg_NetProfit
svStdevMAvg_NetProfit
Kumulierter Nettogewinn
(-1 Abw).
VC_SV_Max_NetProfit
svMax_NetProfit
Kumulierter Nettogewinn
(Maximum).
VC_SV_Min_NetProfit
svMin_NetProfit
Kumulierter Nettogewinn
(Minimum).
VC_SV_Select_NetProfit
svSelect_NetProfit
Select Netto (kumuliert).
VC_SV_LongShortRatio
svLongShortRatio
Ratio: Long/Short.
VC_SV_WinnersLosersRatio
svWinnersLosersRatio
Ratio: Positiv/Negativ.
VC_SV_ProfitFactor
svProfitFactor
Profit-Factor.
VC_SV_Adjusted_ProfitFactor
svAdjusted_ProfitFactor
Profit-Factor Adjusted
(PRR).
VC_SV_Select_ProfitFactor
svSelect_ProfitFactor
Profit-Factor (Select).
VC_SV_Fiability
svFiability
Zuverlässigkeit.
VC_SV_TradesCount
svTradesCount
Anzahl der Trades.
VC_SV_Open_TradesCount
svOpen_TradesCount
Anzahl der Trades. (Off.
Pos.).
VC_SV_LinearRegression
svLinearRegression
Regressionslinie.
VC_SV_Adjusted_GrossProfit
svAdjusted_GrossProfit
Bruttogewinn Adjusted.
VC_SV_Adjusted_NetOverall
svAdjusted_NetOverall
Nettogewinn Adjusted.
TRADING TOOLS | VISUALCHART
76
VC_SV_Drawdown
svDrawdown
DrawDown.
VC_SV_NetDrawdown
svNetDrawdown
DrawDown (kumuliert).
VC_SV_Avg_Drawdown
svAvg_Drawdown
DrawDown
(Durchschnitt).
VC_SV_Stdev_Drawdown
svStdev_Drawdown
DrawDown
(Standardabweichung).
VC_SV_StdevPAvg_Drawdown
svStdevPAvg_Drawdown
DrawDown (-1 Abw).
VC_SV_StdevMAvg_Drawdown
svStdevMAvg_Drawdown
DrawDown (-1 Abw).
VC_SV_CV_Drawdown
svCV_Drawdown
DrawDown
(Abweichungskoeffizient).
VC_SV_Max_Drawdown
svMax_Drawdown
DrawDown (Maximum).
VC_SV_Min_Drawdown
svMin_Drawdown
DrawDown (Minium).
VC_SV_Runup
svRunup
Runup.
VC_SV_NetRunup
svNetRunup
Runup (kumuliert).
VC_SV_Avg_Runup
svAvg_Runup
Runup (Durchschnitt).
VC_SV_Stdev_Runup
svStdev_Runup
Runup
(Standardabweichung).
VC_SV_StdevPAvg_Runup
svStdevPAvg_Runup
Runup (+1 Abw).
VC_SV_StdevMAvg_Runup
svStdevMAvg_Runup
Runup (-1 Abw).
VC_SV_CV_Runup
svCV_Runup
Runup
(Abweichungskoeffizient).
VC_SV_Max_Runup
svMax_Runup
Runup (Maximum).
VC_SV_Min_Runup
svMin_Runup
Runup (Minimum).
VC_SV_Adjusted_NetOverall_DIV_Min_
Profit
svAdjusted_NetOverall_DIV_Min_Pro
fit
Ratio: Nettogewinn
Adjusted/Mindestgewinn.
VC_SV_NetProfit_DIV_Min_Profit
svNetProfit_DIV_Min_Profit
Ratio: Nettogewinn
kumuliert/Mindestnettoge
winn.
VC_SV_Adjusted_NetOverall_DIV_Min_
Drawdown
svAdjusted_NetOverall_DIV_Min_Dra
wdown
Nettogewinn
Adjusted/Mindester
Drawdown.
VC_SV_NetProfit_DIV_Min_Drawdown
svNetProfit_DIV_Min_Drawdown
Kumulierter Nettogewinn
/Mindester Drawdown.
VC_SV_Open_BarCount
svOpen_BarCount
Balkenanzahl (Offene
Pos.).
VC_SV_BarCount
svBarCount
Balkenanzahl.
VC_SV_Acc_BarCount
svAcc_BarCount
Balkenanzahl (kumuliert).
VC_SV_Avg_BarCount
svAvg_BarCount
Balkenanzahl
(Durchschnitt).
VC_SV_Max_BarCount
svMax_BarCount
Balkenanzahl (Maximum).
VC_SV_Min_BarCount
svMin_BarCount
Balkenanzahl (Minimum).
VC_SV_Stdev_BarCount
svStdev_BarCount
Balkenanzahl
(Standardabweichung).
VC_SV_StdevPAvg_BarCount
svStdevPAvg_BarCount
Balkenanzahl (+1 Abw).
VC_SV_StdevMAvg_BarCount
svStdevMAvg_BarCount
Balkenanzahl (- 1 Abw).
VC_SV_BarsBetweenTrades
svBarsBetweenTrades
Balken zwischen Trades.
VC_SV_Acc_BarsBetweenTrades
svAcc_BarsBetweenTrades
Balken zwischen Trades.
(Kumuliert).
VC_SV_Avg_BarsBetweenTrades
svAvg_BarsBetweenTrades
Balken zwischen Trades.
(Durchschnitt).
VC_SV_Max_BarsBetweenTrades
svMax_BarsBetweenTrades
Balken zwischen Trades.
(Maximum).
VC_SV_Min_BarsBetweenTrades
svMin_BarsBetweenTrades
Balken zwischen Trades.
(Minimum).
VC_SV_Stdev_BarsBetweenTrades
svStdev_BarsBetweenTrades
Balken zwischen Trades.
(Standardabweichung).
svStdevPAvg_BarsBetweenTrades
Balken zwischen Trades.
(+1 Abw).
VC_SV_StdevMAvg_BarsBetweenTrade
s
svStdevMAvg_BarsBetweenTrades
Balken zwischen Trades.
(-1 Abw).
VC_SV_EntryPrice
svEntryPrice
Einstiegspunkt.
VC_SV_ExitPrice
svExitPrice
Ausstiegspunkt.
VC_SV_EntryDate
svEntryDate
Einstiegsdatum.
VC_SV_ExitDate
svExitDate
Ausstiegsdatum.
VC_SV_EntryBar
svEntryBar
Einstiegsbalken.
VC_SV_ExitBar
svExitBar
Ausstiegsbalken.
VC_SV_LongShort
svLongShort
Kauf/Verkauf (Offene
Pos.).
VC_SV_DaysSinceMaxProfit
svDaysSinceMaxProfit
Tage seit Höchstgewinn.
VC_SV_DaysSinceMinProfit
svDaysSinceMinProfit
Tage seit Mindestgewinn.
VC_SV_Acc_DaysSinceMaxProfit
svAcc_DaysSinceMaxProfit
Tage seit kumuliertem
Höchstgewinn.
VC_SV_Acc_DaysSinceMinProfit
svAcc_DaysSinceMinProfit
Tage seit kumuliertem
Mindestgewinn.
VC_SV_Avg_DaysSinceMaxProfit
svAvg_DaysSinceMaxProfit
Tage seit
durchschnittlichem
Höchstgewinn.
VC_SV_Avg_DaysSinceMinProfit
svAvg_DaysSinceMinProfit
Tage seit
durchschnittlichem
Mindestgewinn.
VC_SV_RetracementSinceMaxProfit
svRetracementSinceMaxProfit
Retracement seit
Höchstgewinn.
VC_SV_ImprovementSinceMinProfit
svImprovementSinceMinProfit
Verbesserung seit
Mindestgewinn.
VC_SV_Efficiency
svEfficiency
Wirksamkeit.
VC_SV_EntryEfficiency
svEntryEfficiency
Wirksamkeit des
Einstiegs.
VC_SV_ExitEfficiency
svExitEfficiency
Wirksamkeit des
Ausstiegs.
VC_SV_NetEfficiency
svNetEfficiency
Kumulierte Wirksamkeit.
VC_SV_NetEntryEfficiency
svNetEntryEfficiency
Kumulierte Wirksamkeit
des Einstiegs.
VC_SV_NetExitEfficiency
svNetExitEfficiency
Kumulierte Wirksamkeit
des Ausstiegs.
VC_SV_Avg_Efficiency
svAvg_Efficiency
Durchschnittliche
Wirksamkeit.
VC_SV_Avg_EntryEfficiency
svAvg_EntryEfficiency
Wirksamkeit des Einstiegs
(Durchschnitt)
VC_SV_StdevPAvg_BarsBetweenTrades
TRADING TOOLS | VISUALCHART
78
VC_SV_Avg_ExitEfficiency
svAvg_ExitEfficiency
Wirksamkeit des
Ausstiegs (Durchschnitt).
VC_SV_Stdev_Efficiency
svStdev_Efficiency
Wirksamkeit
(Standardabweichung).
VC_SV_Stdev_EntryEfficiency
svStdev_EntryEfficiency
Wirksamkeit des Einstiegs
(Standardabweichung).
VC_SV_Stdev_ExitEfficiency
svStdev_ExitEfficiency
Wirksamkeit des
Ausstiegs (Standardabw.)
VC_SV_Max_Efficiency
svMax_Efficiency
Wirksamkeit (Maximum).
VC_SV_Max_EntryEfficiency
svMax_EntryEfficiency
Wirksamkeit des Einstiegs
(Maximum).
VC_SV_Max_ExitEfficiency
svMax_ExitEfficiency
Wirksamkeit des
Ausstiegs (Maximum).
VC_SV_Min_Efficiency
svMin_Efficiency
Wirksamkeit (Minimum).
VC_SV_Min_EntryEfficiency
svMin_EntryEfficiency
Wirksamkeit des Einstiegs
(Minimum).
VC_SV_Min_ExitEfficiency
svMin_ExitEfficiency
Wirksamkeit des
Ausstiegs (Minimum).
VC_SV_CV_Efficiency
svCV_Efficiency
Wirksamkeit
(Abweichungskoeffizient).
VC_SV_CV_EntryEfficiency
svCV_EntryEfficiency
Wirksamkeit des Einstiegs
(Variationskoeff.)
VC_SV_CV_ExitEfficiency
svCV_ExitEfficiency
Wirksamkeit des
Ausstiegs
(Abweichungskoeffizient).
VC_SV_StdevPAvg_Efficiency
svStdevPAvg_Efficiency
Wirksamkeit (+1 Abw).
VC_SV_StdevPAvg_EntryEfficiency
svStdevPAvg_EntryEfficiency
Wirksamkeit des Einstiegs
(+1 Abw).
VC_SV_StdevPAvg_ExitEfficiency
svStdevPAvg_ExitEfficiency
Wirksamkeit des
Ausstiegs (+1 Abw).
VC_SV_StdevMAvg_Efficiency
svStdevMAvg_Efficiency
Wirksamkeit (- Abw).
VC_SV_StdevMAvg_EntryEfficiency
svStdevMAvg_EntryEfficiency
Wirksamkeit des Einstiegs
(+1 Abw).
VC_SV_StdevMAvg_ExitEfficiency
svStdevMAvg_ExitEfficiency
Wirksamkeit des
Ausstiegs (-1 Abw).
VC_SV_Commisions
svCommisions
Provisionen.
VC_SV_NetCommisions
svNetCommisions
Provisionen (kumuliert).
VC_SV_NetCommisions_DIV_NetProfit
svNetCommisions_DIV_NetProfit
Ratio: Kumulierte
Provisionen/Kumulierter
Gewinn.
VC_SV_MarketProfit
svMarketProfit
Marktgewinn.
VC_SV_NetMarketProfit
svNetMarketProfit
Marktgewinn (kumuliert).
VC_SV_SystemMarketRatio
svSystemMarketRatio
Ratio: System/Markt.
VC_SV_SharesCount
svSharesCount
Anzahl der
Kontrakte/Aktien.
VC_SV_Max_SharesCount
svMax_SharesCount
Anzahl der
Kontrakte/Aktien
(Maximum).
VC_SV_PercentageInMarketTime
svPercentageInMarketTime
Prozentsatz Zeit am
Markt.
VC_SV_InMarketTime
svInMarketTime
Zeit am Markt.
VC_SV_OverallTime
svOverallTime
Gesamte Zeit.
VC_SV_TradeTime
svTradeTime
Trades Zeit.
VC_SV_Max_TradeTime
svMax_TradeTime
Trades Zeit (Maximum).
VC_SV_Acc_TradeTime
svAcc_TradeTime
Trades Zeit (Minimum).
VC_SV_Avg_TradeTime
svAvg_TradeTime
Trades Zeit
(Durchschnitt).
VC_SV_TimeBetweenTrades
svTimeBetweenTrades
Zeit zwischen Trades.
VC_SV_Max_TimeBetweenTrades
svMax_TimeBetweenTrades
Zeit zwischen Trades
(Maximum).
VC_SV_Acc_TimeBetweenTrades
svAcc_TimeBetweenTrades
Zeit zwischen Trades.
(Kumuliert).
VC_SV_Avg_TimeBetweenTrades
svAvg_TimeBetweenTrades
Zeit zwischen Trades.
(Durchschnitt).
VC_SV_TradesByYear_InMarketTime
svTradesByYear_InMarketTime
Trades pro Jahr (Zeit am
Markt).
svTradesByMonth_InMarketTime
Trades pro Monat (Zeit
am Markt).
VC_SV_TradesByWeek_InMarketTime
svTradesByWeek_InMarketTime
Trades pro Woche (Zeit
am Markt).
VC_SV_TradesByDay_InMarketTime
svTradesByDay_InMarketTime
Trades pro Tag (Zeit am
Markt).
VC_SV_TradesByYear_OverallTime
svTradesByYear_OverallTime
Trades pro Jahr
(Gesamtzeit).
VC_SV_TradesByMonth_OverallTime
svTradesByMonth_OverallTime
Trades pro Monat
(Gesamtzeit).
VC_SV_TradesByWeek_OverallTime
svTradesByWeek_OverallTime
Trades pro Woche
(Gesamtzeit).
VC_SV_TradesByDay_OverallTime
svTradesByDay_OverallTime
Trades pro Tag
(Gesamtzeit).
VC_SV_RinaIndex
svRinaIndex
RINA Index.
VC_SV_Open_Profit
svOpen_Profit
Nettogewinn (Offene
Pos.).
VC_SV_Open_NetProfit
svOpen_NetProfit
Kumulierter Nettogewinn
(Offene Pos.).
VC_SV_Open_NetProfit_DIV_NetProfit
svOpen_NetProfit_DIV_NetProfit
Kumulierter Nettogewinn
(Offene Pos.)/Kumulierter
Nettogewinn
VC_SV_Avg_Open_Profit
svAvg_Open_Profit
Durchschnittlicher
Nettogewinn (Offene
Pos.).
VC_SV_Avg_Open_Profit_DIV_Avg_Pro
fit
svAvg_Open_Profit_DIV_Avg_Profit
Ratio: Durchschnittlicher
Nettogewinn (Offene
Pos.)/Durchschnittlicher
Nettogewinn.
VC_SV_ProfitByYear_InMarketTime
svProfitByYear_InMarketTime
Gewinn pro Jahr (Zeit am
Markt).
VC_SV_ProfitByMonth_InMarketTime
svProfitByMonth_InMarketTime
Gewinn pro Monat (Zeit
am Markt).
VC_SV_ProfitByWeek_InMarketTime
svProfitByWeek_InMarketTime
Gewinn pro Woche (Zeit
am Markt).
VC_SV_TradesByMonth_InMarketTime
TRADING TOOLS | VISUALCHART
80
VC_SV_ProfitByDay_InMarketTime
svProfitByDay_InMarketTime
Gewinn pro Tag (Zeit am
Markt).
VC_SV_ProfitByYear_OverallTime
svProfitByYear_OverallTime
Gewinn pro Jahr
(Gesamtzeit).
VC_SV_ProfitByMonth_OverallTime
svProfitByMonth_OverallTime
Gewinn pro Monat
(Gesamtzeit).
VC_SV_ProfitByWeek_OverallTime
svProfitByWeek_OverallTime
Gewinn pro Woche
(Gesamtzeit).
VC_SV_ProfitByDay_OverallTime
svProfitByDay_OverallTime
Gewinn pro Tag
(Gesamtzeit).
VC_SV_SharpeRatio
svSharpeRatio
Sharpe Ratio.
VC_SV_Volatility
svVolatility
Volatilität.
VC_SV_EstimatedAccountSize
svEstimatedAccountSize
Kontoumfang.
VC_SV_SerieOfLosses
svSerieOfLosses
Verlustserie.
VC_SV_WorstSerieOfLosses
svWorstSerieOfLosses
Tiefste Verlustserie.
VC_SV_SerieOfProfits
svSerieOfProfits
Gewinnserie.
VC_SV_BestOfProfits
svBestSerieOfProfits
Höchste Gewinnserie.
VC_SV_Open_EntryPrice
svOpen_EntryPrice
Einstiegspunkt (Offene
Pos.).
VC_SV_Open_ExitPrice
svOpen_ExitPrice
Ausstiegspunkt (Offene
Pos.).
VC_SV_Open_EntryDate
svOpen_EntryDate
Einstiegsdatum (Offene
Pos.).
VC_SV_Open_ExitDate
svOpen_ExitDate
Ausstiegsdatum (Offene
Pos.).
VC_SV_Open_EntryBar
svOpen_EntryBar
Einstiegsbalken (Offene
Pos.).
VC_SV_Open_ExitBar
svOpen_ExitBar
Ausstiegsbalken (Offene
Pos.).
VC_SV_Ratio
svRatio
Ratio: Jährlicher
Gewinn/Tiefste
Verlustserie.
EnumVCDSStatisticMeasurementUnit. Definiert die Einheiten, in denen die Ergebnisse der Sytemstatistik
zurückgeliefert werden.
Wert
Beschreibung
VCDS_SMU_Undef
Nicht definiert.
VCDS_SMU_Money
In Währung (Euro, Dollar…).
VCDS_SMU_Points
In Punkten.
VCDS_SMU_Perc
In Prozent.
EnumVCDSStatisticCompression. Definiert die Komprimierung, die bei den statistischen Variablen
angewandt wird.
Wert
Beschreibung
VCDS_SC_Undef
Nicht definiert.
VCDS_SC_Trades
Komprimierung nach Trades.
VCDS_SC_Secs
Komprimierung nach Sekunden.
VCDS_SC_Mins
Komprimierung nach Minuten.
VCDS_SC_Days
Komprimierung nach Tagen.
VCDS_SC_Weeks
Komprimierung nach Wochen.
VCDS_SC_Months
Komprimierung nach Monaten.
VCDS_SC_Years
Komprimierung nach Jahren.
EnumVCDSMarketPosition. Zeigt die Position am Markt.
Valor
Beschreibung
VCDS_P_Bull
Gekauft.
VCDS_P_Bear
Verkauft.
VCDS_P_Neutral
Neutral.
COMTraderInterfaces AUFZÄHLUNGEN
Nachfolgend sind die Aufzählungen eines Variablentyps der COMTraderInterfaces Library detailliert.
EnumVCTOrderType. Beinhaltet die Definitionen von allen in Visual Chart verfügbaren Ordertypen, welche
in verschiedenen Objekten, Methoden und Ereignissen verwendet werden können:
Eigenschaft
Beschreibung
VCT_OT_Limit
Limit Ordertyp.
VCT_OT_StopLimit
Stop-Limit Ordertyp.
VCT_OT_Market
Market Ordertyp.
VCT_OT_StopMarket
Stop Market Ordertyp.
VCT_OT_StopMarketSimulated
Stop für den simulierten Markt Ordertyp.
VCT_OT_StopLimitSimulated
Simulierter Stop-Limit Ordertyp.
VCT_OT_Best
Best Ordertyp.
VCT_OT_BestStop
Best Stop Ordertyp.
VCT_OT_BestStopSimulated
Stop bei der besten Simulation Ordertyp.
VCT_OT_Unknown
Unbekannt (darf nie benutzt werden).
EnumVCTVolumeRestriction. Beinhaltet die Definitionen der verschiedenen Werte, die eine
Volumenbeschränkung für eine Order übernehmen kann:
Eigenschaft
Beschreibung
VCT_VR_NoRestriction
Ohne Beschränkung.
VCT_VR_AllNothing
Alles oder Nichts Beschränkung.
VCT_VR_Hide
Verstecktes Volumen Beschränkung. Das versteckte Volumen muss in der
HideVolume Eigenschaft von VCT_Order angegeben werden.
VCT_VR_MinVolume
Minimal Volumen Beschränkung. Das Minimalvolumen muss in der MinVolume
Eigenschaft von VCT_Order angegeben werden.
VCT_VR_Unknown
Unbekannt (darf nie benutzt werden).
EnumVCTTimeRestriction. Beinhaltet die Definitionen der verschiedenen Werte, die eine
Zeitbeschränkung für eine Order übernehmen kann:
Eigenschaft
Beschreibung
VCT_TR_NoRestriction
Ohne Beschränkung.
VCT_TR_Immediate
Unmittelbar Beschränkung.
VCT_TR_OpenAuction
Eröffnungsauktion Beschränkung.
TRADING TOOLS | VISUALCHART
82
VCT_TR_CloseAuction
Schlussauktion Beschränkung.
VCT_TR_Auction
Irgendeine Auktion Beschränkung.
VCT_TR_Session
Aktuelle Handelszeit Beschränkung.
VCT_TR_Date
Bis zu einem Datum Beschränkung (Gültigkeitsdatum). Das Datum muss in der
ValidDate Eigenschaft von VCT_Order angegeben werden.
VCT_TR_Unknown
Unbekannt (darf nie benutzt werden).
EnumVCTOrderSide. Beinhaltet die Definitionen der Aktionen (Kauf oder Verkauf), die eine Order, offene
Position oder geschlossene Operation bezeichnen:
Eigenschaft
Beschreibung
VCT_OS_Buy
Kauf.
VCT_OS_Sell
Verkauf.
VCT_OS_Unknown
Unbekannt (darf nie benutzt werden).
EnumVCTOrderStatus. Beinhaltet die Definitionen der verschiedenen Status, die eine Order übernehmen
kann:
Eigenschaft
Beschreibung
VCT_OST_WaitingMarket
Es wird abgeschickt.
VCT_OST_PendingEvent
Ereignis abhängig (wegen einer eigenen Bedingung
oder wegen einer Verknüpfung mit anderer Order).
VCT_OST_OnSimulation
In Simulation (für sämtliche simulierte Ordertypen).
VCT_OST_Market
Am Market.
VCT_OST_Canceled
Storniert.
VCT_OST_PendingCancelation
Stornierung abhängig.
VCT_OST_Filled
Ausgeführt.
VCT_OST_PendingModification
Änderungsabhängig.
VCT_OST_PartialFilled
Teilweise ausgeführt.
VCT_OST_Rejected
Abgewiesen.
VCT_OST_Pending24x7
Eröffnungsmarkt abhängig (ausstehend 24x7).
VCT_OST_StopPending
Stopauslösung abhängig.
VCT_OST_Unknown
Unbekannt (darf nie benutzt werden).
EnumVCTOrderFilter. Beinhaltet die Definitionen der verschiedenen Werte, die ein Filter bei einer
Orderabfrage übernehmen kann. Bei einer Abfrage kann der Filter mit mehreren der folgenden Werte über
eine OR Operation (eine Summe) festgelegt werden. Für eine Abfrage zum Beispiel der offenen und
ausgeführten Orders muss der Filter als VCT_OF_Active + VCT_OF_Filled festgelegt werden.
Eigenschaft
Beschreibung
VCT_OF_All
Abfrage sämtlicher Orders.
VCT_OF_Active
Abfrage der offenen Orders.
VCT_OF_Filled
Abfrage der ausgeführten Orders.
VCT_OF_Canceled
Abfrage der stornierten Orders.
VCT_OF_PartialExe
Abfrage der teilweise ausgeführten Orders.
VCT_OF_PartialExeCancelled
Abfrage der teilweise ausgeführten und stornierten
Orders.
VCT_OF_Market
Abfrage der Orders am Markt.
EnumVCTOrderLocation. Beinhaltet die möglichen Lokalisierungen einer Order.
Eigenschaft
Beschreibung
VCT_OL_Local
Lokal
VCT_OL_Server
Server
VCT_OL_Bridge
Brücke/Link
VCT_OL_Market
Markt
EnumVCTSource. Beinhaltet die Definitionen der verschiedenen Quellen, die von der Order generiert
werden können. Eine Order kann in einem System, einer Kursliste, über den COM Server, usw. generiert
werden.
Eigenschaft
Beschreibung
VCT_SRC_Unknown
Unbekannt.
VCT_SRC_Systems
Systeme.
VCT_SRC_Tables
Kurslisten.
VCT_SRC_Positions
Positionen.
VCT_SRC_GraphicObject
Grafisches Objekt.
VCT_SRC_Charts
Chart.
VCT_SRC_Alerts
Signal.
VCT_SRC_Phone
Telefone.
VCT_SRC_Tv
Fernseher.
VCT_SRC_Web
Web.
VCT_SRC_PDA
PDA.
VCT_SRC_CellPhone
Mobiltelefone.
VCT_SRC_email
E-Mail.
VCT_SRC_External
Extern.
VCT_SRC_COM
Über den COM Server.
EnumVCTOpenPositionStatus. Zeigt den Status einer offenen Position.
Eigenschaft
Beschreibung
VCT_OPS_NonTrade
Unhandelbare Position.
VCT_OPS_TradeGrouped
Handelbare Position und gruppierbar mit anderen Positionen.
VCT_OPS_TradeNoGrouped
Handelbare Position, nicht gruppierbar mit anderen
Positionen.
VCT_OPS_NonTradePledge
Beliehte Position, unhandelbar.
EnumVCTRelatedType. Zeigt das Verhältnis zwischen den verschiedenen Orders. Die Orders OCO, OSO
und Bracket generieren mehrere miteinander verknüpften Orders. (Siehe RelatedId und RelatedType von
VCT_Order).
Eigenschaft
Beschreibung
VCT_RT_NoRelation
Ohne Verhältnis mit einer anderen Order.
VCT_RT_OSOMainOrder
Zeigt, dass diese die Hauptorder einer OSO ist. RelatedId
TRADING TOOLS | VISUALCHART
84
beinhaltet den Identifier der eigenen Order.
VCT_RT_OSOWaitingOrder
Die Order wird bei der Ausführung der Hauptorder
abgeschickt. RelatedId beinhaltet den Identifier der
Hauptorder.
VCT_RT_OCOOrder
Die Order wird storniert, wenn die Order ausgeführt ist, deren
Identifier mit dem RelatedId Wert übereinstimmt.
VCT_RT_BracketMainOrder
Zeigt, dass diese Order die Hauptorder einer Bracket ist.
RelatedId beinhaltet den Identifier der eigenen Order.
VCT_RT_BracketStopOrder
Diese Order ist der Stop der Bracket. RelatedId beinhaltet
den Identifier der Hauptorder.
VCT_RT_BracketLimitOrder
Diese ist die Limitorder der Bracket. RelatedId beinhaltet den
Identifier der Hauptorder.
VCContributor AUFZÄHLUNGEN
Nachfolgend sind die verschiedenen Werte detailliert, die ein bestimmter Variablentyp der VCContributor
Library übernehmen kann.
EnumVCCAlertPriority. Zeigt die Priorität des Signals. Die Signale mit höchster Priorität werden für
längere Zeit angezeigt.
Eigenschaft
Beschreibung
VCC_AP_Inmediate
Unmittelbar (VisualChart zeigt es sofort, sobald es angekommen ist).
VCC_AP_High
Höhe Priorität.
VCC_AP_Medium
Mittlere Priorität.
VCC_AP_Low
Niedrige Priorität.
VCC_AP_Default
Standardmäßige Priorität.
EnumVCCtbType. Die Beiträge werden in verschiedenen Gruppen klassifiziert. Der Beitragstyp zeigt, in
welcher Gruppe er sich befindet.
Eigenschaft
Beschreibung
VCC_CT_None
Keine.
VCC_CT_Indicators
Indikatoren.
VCC_CT_Charting
Charts.
TRADING TOOLS | VISUALCHART
86

Similar documents