OrderBookSpreadWidener

StockSharp.Algo

シンメトリクスは、QuoteChangeMessage.. 新規(ワイド)内のすべての生レベルを崩壊させるため、新しい目に見えるベストに広がります。 外部レベルが通過します。 呼び出し元はOrderBookSnapshotHolder@から現在の生のブックの状態を読み、呼び出し元はSnapshotComplete@に初期の後に増加フレームを維持し、放出します。

コンストラクター

OrderBookSpreadWidener
public OrderBookSpreadWidener(decimal percent)
orderBookSpreadWidener = OrderBookSpreadWidener(percent)

OrderBookSpreadWidenerクラスの新しいインスタンスを初期化します。

percent
ハーフスプレッドの増幅、パーセント。 ノンポジティブは、幅を広げるのを抑制します。

プロパティ

IsEnabled
public bool IsEnabled { get; }
value = orderBookSpreadWidener.IsEnabled

パーセントがプラスで広まっている場合。

Percent
public decimal Percent { get; }
value = orderBookSpreadWidener.Percent

ハーフスプレッドの拡大、パーセント。

メソッド

Apply
public QuoteChangeMessage Apply(QuoteChangeMessage msg, OrderBookSnapshotHolder holder, decimal? priceStep)
result = orderBookSpreadWidener.Apply(msg, holder, priceStep)

Reads the current raw book from (the caller must have applied to the holder first) and rewrites it as either a full SnapshotComplete (first call for this security) or an Increment carrying only the changes against the previously-emitted collapsed view.

msg
Incoming order book change message.
holder
Holder of the current raw order book state.
priceStep
Price step of the security, so the widened best lands on a price that can be traded. when the step is unknown, and the widened price is then left as the arithmetic produced it.

戻り値: Collapsed message; the original message when widening is disabled or no raw snapshot is available; or if is .

Collapse
public QuoteChangeMessage Collapse(SecurityId securityId, OrderBookSnapshotHolder holder, decimal? priceStep)
result = orderBookSpreadWidener.Collapse(securityId, holder, priceStep)

Returns the current collapsed view of as a fresh SnapshotComplete. Pure read — does not touch the diff-state used by Decimal}). Useful for replying to a new subscriber without re-emitting deltas from before their subscription.

securityId
Security to build the collapsed snapshot for.
holder
Holder of the current raw order book state.
priceStep
Price step of the security, so the widened best lands on a price that can be traded. when the step is unknown, and the widened price is then left as the arithmetic produced it.

戻り値: Collapsed snapshot, or when widening is disabled or no raw snapshot is available for .

Diff
private static QuoteChange[] Diff(Dictionary<decimal, QuoteChange> prev, QuoteChange[] new, Dictionary<decimal, QuoteChange> next)
result = OrderBookSpreadWidener.Diff(prev, new, next)

One walk produces both the changes against and the state to keep for the next call, so the emitted view is never built twice.

ResetSnapshot
public void ResetSnapshot(SecurityId securityId)
orderBookSpreadWidener.ResetSnapshot(securityId)

diff-state を 増分 に ドロップすると、OrderBookSnapshotHolderを強制して、 新たに SnapshotComplete を 出力します。

securityId
金融商品がリセットされるか、全ての金融商品をリセットする
Snap
private static decimal Snap(decimal price, decimal? priceStep, bool down)
result = OrderBookSpreadWidener.Snap(price, priceStep, down)

Moves the widened price onto the step grid, away from the market: down for a bid, up for an ask. Rounding to the nearest step instead would move it the other way half the time and quote a spread tighter than the one asked for, which is the thing widening exists to stop.