Orderbuch zeichnen

Eine Strategie aus Code kann Daten im Panel Orderbuch ähnlich wie der Würfel Orderbuch-Panel zeichnen. Dafür muss der folgende Code geschrieben werden.

  1. Erstellen Sie einen Nachfolger der Schnittstelle IOrderBookSource, die Designer verwendet, um die Quelle zu identifizieren. Im Beispiel wird die Klasse OrderBookSource verwendet, die die Standardimplementierung der Schnittstelle ist:
private static readonly OrderBookSource _bookSource = new OrderBookSource("SMA");
  1. Überschreiben Sie die Eigenschaft OrderBookSources:
public override IEnumerable<IOrderBookSource> OrderBookSources
	=> new[] { _bookSource };

Damit teilt die Strategie externem Code, in diesem Fall dem Panel Orderbuch, mit, welche Orderbuchquellen verfügbar sind. Mehrere Quellen entstehen, wenn die Strategie mit mehreren Orderbüchern arbeitet, zum Beispiel mit unterschiedlichen Instrumenten oder Orderbüchern mit verschiedenen Modifikationen wie einem ausgedünnten Orderbuch.

  1. Fügen Sie die Initialisierung des Orderbuch-Abonnements zum Strategiecode hinzu. Im Fall von SmaStrategy wird sie am Ende der Methode OnStarted hinzugefügt:
var bookSubscription = new Subscription(DataType.MarketDepth, Security);

bookSubscription
	.WhenOrderBookReceived(this)
	.Do(book =>
	{
		// Orderbuch zeichnen
		DrawOrderBook(bookSubscription, _bookSource, book);
	})
	.Apply(this);

Subscribe(bookSubscription);

Im Do-Handler wird die Methode DrawOrderBook aufgerufen, die das Orderbuch zum Zeichnen sendet.

  1. Fügen Sie das Panel Orderbuch hinzu und wählen Sie die im Code erstellte Quelle aus:

Designer_Source_Code_OrderBook_00

  1. Nach dem Start der Strategie zum Testing wird das Orderbuch mit Daten gefüllt:

Designer_Source_Code_OrderBook_01