Diskussion zum Artikel "Entwicklung eines Handelssystems auf der Grundlage des Orderbuchs (Teil I): Der Indikator"

 

Neuer Artikel Entwicklung eines Handelssystems auf der Grundlage des Orderbuchs (Teil I): Der Indikator :

„Depth of Market“ ist zweifellos ein sehr wichtiges Element für die Ausführung von schnellen Handelsgeschäften, insbesondere bei den Algorithmen des Hochfrequenzhandels (HFT). In dieser Artikelserie werden wir uns mit dieser Art von Handelsereignissen befassen, die über einen Broker für viele handelbare Symbole erworben werden können. Wir beginnen mit einem Indikator, bei dem Sie die Farbpalette, die Position und die Größe des direkt im Chart angezeigten Histogramms anpassen können. Wir werden uns auch ansehen, wie man BookEvent-Ereignisse erzeugt, um den Indikator unter bestimmten Bedingungen zu testen. Weitere mögliche Themen für zukünftige Artikel sind die Speicherung von Preisverteilungsdaten und deren Verwendung in einem Strategietester.

Lassen Sie uns kurz zusammenfassen, was Markttiefe, Depth of Market oder DOM, bedeutet. Es handelt sich um eine Reihe von schwebenden Limitaufträgen. Diese Aufträge stellen die Handelsabsichten der Marktteilnehmer dar und führen häufig nicht zu einem tatsächlichen Handelsgeschäft. Der Grund dafür ist, dass die Händler die Möglichkeit haben, ihre zuvor erteilten Aufträge aus verschiedenen Gründen zu stornieren. Dazu können Änderungen der Marktbedingungen und der daraus resultierende Verlust des Interesses an der Ausführung des Auftrags zu dem zuvor festgelegten Preis und der Menge gehören.

Der von der Funktion SymbolInfoInteger(_Symbol, SYMBOL_TICKS_BOOKDEPTH) zurückgegebene Wert entspricht genau der Tiefe des Orderbuchs und stellt die Hälfte des Arrays dar, das mit den zu analysierenden Kursniveaus aufgefüllt wird. Die Hälfte dieses Feldes ist für die Anzahl der Limit-Verkaufsaufträge vorgesehen, die andere Hälfte für die erteilten Limit-Kaufaufträge. Laut Dokumentation ist der Wert dieser Eigenschaft bei Anlagen, die keine Auftragswarteschlange haben, gleich Null. Ein Beispiel hierfür ist in der nachstehenden Abbildung zu sehen, die das Orderbuch mit einer Tiefe von 10 zeigt, wobei alle verfügbaren Kursniveaus angegeben sind.

Beispiel: Orderbuch mit Tiefe 10

Es ist zu beachten, dass die Tiefe aus dem Symbol und nicht unbedingt aus der Markttiefe abgeleitet werden kann. Die Verwendung der Funktion SymbolInfoInteger reicht aus, um den Eigenschaftswert abzurufen, ohne auf die Ereignisbehandlung durch OnBookEvent oder verwandte Funktionen wie MarketBookAdd zurückgreifen zu müssen. Natürlich könnten wir zum gleichen Ergebnis kommen, indem wir die Anzahl der Elemente im Array MqlBookInfo zählen, die OnBookEvent auffüllt, wie wir später noch genauer untersuchen werden.

Autor: Daniel Santos