OrderBook

StockSharp.MatchingEngine

Auftragsbuchdurchführung.

Implementiert: IOrderBook

Konstruktoren

OrderBook
public OrderBook(SecurityId securityId)
orderBook = OrderBook(securityId)

Auftragsbuchdurchführung.

Eigenschaften

AskLevels
public int AskLevels { get; }
value = orderBook.AskLevels

Anzahl der Ask Levels.

BestAsk
public ValueTuple<decimal, decimal>? BestAsk { get; }
value = orderBook.BestAsk

Holen Sie sich beste fragen Preis und Volumen.

BestBid
public ValueTuple<decimal, decimal>? BestBid { get; }
value = orderBook.BestBid

Holen Sie sich den besten Gebotspreis und das beste Volumen.

BidLevels
public int BidLevels { get; }
value = orderBook.BidLevels

Anzahl der Gebotsstufen.

SecurityId
public SecurityId SecurityId { get; }
value = orderBook.SecurityId

SecurityId

TotalAskVolume
public decimal TotalAskVolume { get; }
value = orderBook.TotalAskVolume

Gesamtvolumen aller Anfragen.

TotalBidVolume
public decimal TotalBidVolume { get; }
value = orderBook.TotalBidVolume

Gesamtvolumen aller Gebote.

Methoden

AddQuote
public void AddQuote(EmulatorOrder order)
orderBook.AddQuote(order)

Fügen Sie ein Zitat zum Auftragsbuch hinzu.

order
Wenn TransactionId standardmäßig ist, wird es als Marktangebot behandelt.
Clear
public void Clear(Sides side)
orderBook.Clear(side)

Löschen Sie alle Zitate für eine bestimmte Seite.

side
Seite zu klar.
Clear
public void Clear()
orderBook.Clear()

Löscht alle Adapterzustände und setzt den aktuellen Zustand auf Disconnected zurück.

ConsumeVolume
public IEnumerable<ValueTuple<decimal, decimal, IReadOnlyList<EmulatorOrder>>> ConsumeVolume(Sides side, decimal? maxPrice, decimal volume)
result = orderBook.ConsumeVolume(side, maxPrice, volume)

Verbrauchen Sie Volumen von den besten Ebenen (für das Matching).

side
Seite zu konsumieren von (im Gegensatz zu der Bestellung Seite).
maxPrice
Maximalpreis für Kauf / Minimum für Verkauf.
volume
Volumen zu verbrauchen.

Rückgabe: Ausführung (Preis, Volumen, betroffene Aufträge).

GetLevels
public IEnumerable<OrderBookLevel> GetLevels(Sides side)
result = orderBook.GetLevels(side)

Holen Sie sich Angebote für eine Seite, geordnet nach Preis (bester zuerst).

side
Seite, um Levels für abzurufen.
GetOrdersAtPrice
public IEnumerable<EmulatorOrder> GetOrdersAtPrice(Sides side, decimal price)
result = orderBook.GetOrdersAtPrice(side, price)

Erhalten Sie alle Benutzerbestellungen zu einem bestimmten Preisniveau.

side
Seite zur Abfrage.
price
Preisniveau für die Abfrage.
GetTotalVolume
public decimal GetTotalVolume(Sides side)
result = orderBook.GetTotalVolume(side)

Holen Sie sich das Gesamtvolumen für eine Seite.

side
Seite, um das gesamtvolumen für.
GetVolumeAtPrice
public decimal GetVolumeAtPrice(Sides side, decimal price)
result = orderBook.GetVolumeAtPrice(side, price)

Holen Sie sich Volumen zu einem bestimmten Preisniveau.

side
Seite zur Abfrage.
price
Preisniveau für die Abfrage.
GetWorstAsk
public ValueTuple<decimal, decimal>? GetWorstAsk()
result = orderBook.GetWorstAsk()

Am schlechtesten (höchste) fragen Ebene.

GetWorstBid
public ValueTuple<decimal, decimal>? GetWorstBid()
result = orderBook.GetWorstBid()

Am schlechtesten (niedrigsten) Gebotsniveau.

HasLevel
public bool HasLevel(Sides side, decimal price)
result = orderBook.HasLevel(side, price)

Überprüfen Sie, ob es ein Angebot zum angegebenen Preis gibt.

side
Seite zu überprüfen.
price
Preisniveau zu überprüfen.
RemoveLevel
public IEnumerable<EmulatorOrder> RemoveLevel(Sides side, decimal price)
result = orderBook.RemoveLevel(side, price)

Entfernen Sie das gesamte Niveau zum Preis.

side
Seite, um das Niveau zu entfernen.
price
Preisniveau zu entfernen.

Rückgabe: Entfernte Bestellungen, die auf dieser Ebene vorhanden waren.

RemoveQuote
public bool RemoveQuote(long transactionId, Sides side, decimal price)
result = orderBook.RemoveQuote(transactionId, side, price)

Entfernen Sie ein Zitat aus dem Orderbuch.

transactionId
Transaktions-ID des Auftrages zu entfernen.
side
Seite (Kaufen/Verkaufen), auf der die Bestellung aufgegeben wird.
price
Preisniveau der Bestellung.

Rückgabe: Wahr, wenn entfernt, falsch, wenn nicht gefunden.

SetSnapshot
public void SetSnapshot(IEnumerable<QuoteChange> bids, IEnumerable<QuoteChange> asks)
orderBook.SetSnapshot(bids, asks)

Legen Sie das Auftragsbuch aus einem Snapshot fest (ersetzt alle Nicht-Benutzer-Zitate).

bids
Die Reihenfolge der Gebotsnotierung ändert sich auf Set.
asks
Die Reihenfolge des Ask-Zitats ändert sich auf set.
ToMessage
public QuoteChangeMessage ToMessage(DateTime localTime, DateTime serverTime)
result = orderBook.ToMessage(localTime, serverTime)

Erstellen Sie ein QuoteChangeMessage aus dem aktuellen Zustand.

localTime
Lokale Zeit, um die generierte Nachricht einzustellen.
serverTime
Serverzeit, um die generierte Nachricht einzustellen.
TrimToDepth
public IEnumerable<EmulatorOrder> TrimToDepth(Sides side, int maxDepth)
result = orderBook.TrimToDepth(side, maxDepth)

Entfernen Sie die schlechtesten Ebenen, die die maximale Tiefe überschreiten.

side
Seite zum trimmen.
maxDepth
Maximal zulässige Tiefe zu halten.

Rückgabe: Entfernte Bestellungen aus getrimmten Levels.

TryRemoveOrder
public bool TryRemoveOrder(long transactionId, Sides side, EmulatorOrder order)
result = orderBook.TryRemoveOrder(transactionId, side, order)

Finden und entfernen Sie die Bestellung per Transaktions-ID von jedem Level.

UpdateLevel
public void UpdateLevel(Sides side, decimal price, decimal volume)
orderBook.UpdateLevel(side, price, volume)

Aktualisierungsvolumen auf einem Preisniveau (für Marktkurse).

side
Seite zum Update.
price
Preisniveau zu aktualisieren.
volume
Neues Marktvolumen auf dem Niveau.