板情報の描画
コードから作成したストラテジーは、板情報 パネルに、板情報パネル キューブと同様にデータを描画できます。そのためには、次のコードを記述する必要があります。
- IOrderBookSource インターフェイスの派生を作成します。Designer はこれを使用してソースを識別します。この例では、インターフェイスの既定実装である OrderBookSource クラスを使用しています。
private static readonly OrderBookSource _bookSource = new OrderBookSource("SMA");
- OrderBookSources プロパティをオーバーライドします。
public override IEnumerable<IOrderBookSource> OrderBookSources
=> new[] { _bookSource };
これにより、ストラテジーは外部コード (この場合は 板情報 パネル) に、利用可能な板情報のソースを示します。複数のソースが発生するのは、ストラテジーが複数の板情報 (異なる銘柄、または各種変更を加えた板情報、たとえば 間引き板情報 など) を扱う場合です。
- ストラテジーコードに、板情報へのサブスクリプションの初期化を追加します。SmaStrategy の場合、OnStarted メソッドの末尾に追加します。
var bookSubscription = new Subscription(DataType.MarketDepth, Security);
bookSubscription
.WhenOrderBookReceived(this)
.Do(book =>
{
// 板情報を描画します。
DrawOrderBook(bookSubscription, _bookSource, book);
})
.Apply(this);
Subscribe(bookSubscription);
Do ハンドラー内では、板情報を描画用に送信する DrawOrderBook メソッドが呼び出されます。
- 板情報 パネルを追加し、コードで作成したソースを選択します。

- テスト用にストラテジーを起動すると、板情報にデータが入力されます。
