EntityCache

StockSharp.Algo

Cache für die Speicherung von Aufträgen, Trades, Nachrichten und anderen Handelseinheiten.

Implementiert: ISnapshotHolder

Konstruktoren

EntityCache
public EntityCache(ILogReceiver logReceiver, Func<SecurityId?, Security> tryGetSecurity, IExchangeInfoProvider exchangeInfoProvider, IPositionProvider positionProvider)
entityCache = EntityCache(logReceiver, tryGetSecurity, exchangeInfoProvider, positionProvider)

Cache für die Speicherung von Aufträgen, Trades, Nachrichten und anderen Handelseinheiten.

logReceiver
Protokollempfänger für Protokollierungsnachrichten.
tryGetSecurity
Funktion, um Finanzinstrument nach ID zu erhalten.
exchangeInfoProvider
Exchange-Info-Anbieter.
positionProvider
Positionsgeber.

Eigenschaften

ExchangeInfoProvider
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = entityCache.ExchangeInfoProvider

Exchange-Info-Anbieter.

MyTrades
public IEnumerable<MyTrade> MyTrades { get; }
value = entityCache.MyTrades

Alle eigenen Trades.

News
public IEnumerable<News> News { get; }
value = entityCache.News

Alle News.

OrderCancelFails
public IEnumerable<OrderFail> OrderCancelFails { get; }
value = entityCache.OrderCancelFails

Auftragsauslöschungen fehlgeschlagen.

OrderEditFails
public IEnumerable<OrderFail> OrderEditFails { get; }
value = entityCache.OrderEditFails

Fehler bei der Auftragsänderung.

OrderRegisterFails
public IEnumerable<OrderFail> OrderRegisterFails { get; }
value = entityCache.OrderRegisterFails

Fehlgeschlagene Auftragsregistrierung.

Orders
public IEnumerable<Order> Orders { get; }
value = entityCache.Orders

Alle Bestellungen.

OrdersKeepCount
public int OrdersKeepCount { get; set; }
value = entityCache.OrdersKeepCount
entityCache.OrdersKeepCount = value

Maximale Anzahl von Orders, die im Cache gespeichert werden können.

Methoden

AddFail
public void AddFail(OrderOperations operation, OrderFail fail)
entityCache.AddFail(operation, fail)

Order Fail hinzufügen.

operation
Betrieb.
fail
Fehlschlag.
AddOrderByCancelationId
public void AddOrderByCancelationId(Order order, long transactionId)
entityCache.AddOrderByCancelationId(order, transactionId)

Fügen Sie die Bestellung durch Stornierung Transaktions-ID hinzu.

order
Bestellung.
transactionId
Transaktionskennung.
AddOrderByEditionId
public void AddOrderByEditionId(Order order, long transactionId)
entityCache.AddOrderByEditionId(order, transactionId)

Fügen Sie die Order nach Edition Transaktions-ID hinzu.

order
Bestellung.
transactionId
Transaktionskennung.
AddOrderByRegistrationId
public void AddOrderByRegistrationId(Order order)
entityCache.AddOrderByRegistrationId(order)

Fügen Sie die Bestellung nach Registrierung Transaktions-ID hinzu.

order
Bestellung.
AddOrderFailById
public void AddOrderFailById(OrderFail fail, OrderOperations operation, long transactionId)
entityCache.AddOrderFailById(fail, operation, transactionId)

Fügen Sie Order Fail by Transaction ID hinzu.

fail
Ordnung fehlgeschlagen.
operation
Auftragsoperation.
transactionId
Transaktionskennung.
AddOrderStatusTransactionId
public void AddOrderStatusTransactionId(long transactionId)
entityCache.AddOrderStatusTransactionId(transactionId)

Fügen Sie die Transaktions-ID des Auftragsstatus hinzu.

transactionId
Transaktionskennung.
Clear
public void Clear()
entityCache.Clear()

Löschen Sie alle zwischengespeicherten Daten.

GetLevel1Fields
public IEnumerable<Level1Fields> GetLevel1Fields(Security security)
result = entityCache.GetLevel1Fields(security)

Erhalten Sie verfügbare Level1-Felder für Finanzinstrumente.

security
Finanzinstrument.

Rückgabe: Felder.

GetOrders
public IEnumerable<Order> GetOrders(Security security, OrderStates state)
result = entityCache.GetOrders(security, state)

Erhalten Sie Aufträge nach Finanzinstrument und Staat.

security
Finanzinstrument.
state
Ordnungsstaat.

Rückgabe: Befehle.

GetSecurityValue
public object GetSecurityValue(Security security, Level1Fields field)
result = entityCache.GetSecurityValue(security, field)

Erhalten Sie den Feldwert des Finanzinstruments Level1.

security
Finanzinstrument.
field
Feld.

Rückgabe: Wert.

GetSecurityValues
public Level1Info GetSecurityValues(Security security, DateTime serverTime)
result = entityCache.GetSecurityValues(security, serverTime)

Holen Sie sich oder erstellen Sie Level1-Infos für Finanzinstrumente.

security
Finanzinstrument.
serverTime
Serverzeit.

Rückgabe: Level1 Infos.

HasLevel1Info
public bool HasLevel1Info(Security security)
result = entityCache.HasLevel1Info(security)

Überprüfen Sie, ob das Finanzinstrument Level1-Infos hat.

security
Finanzinstrument.

Rückgabe: Wenn es Infos hat.

IsMassCancelation
public bool IsMassCancelation(long transactionId)
result = entityCache.IsMassCancelation(transactionId)

Überprüfen Sie, ob die Transaktion eine Massenstornierung ist.

transactionId
Transaktionskennung.

Rückgabe: bei Massenauslöschung.

IsOrderStatusRequest
public bool IsOrderStatusRequest(long transactionId)
result = entityCache.IsOrderStatusRequest(transactionId)

Überprüfen Sie, ob die Transaktion eine Orderstatusanforderung ist.

transactionId
Transaktionskennung.

Rückgabe: Wenn Bestellstatusanforderung.

ProcessNewsMessage
public ValueTuple<News, bool> ProcessNewsMessage(Security security, NewsMessage message)
result = entityCache.ProcessNewsMessage(security, message)

Nachrichtennachrichten verarbeiten.

security
Finanzinstrument.
message
Nachricht.

Rückgabe: News und ist neue Flagge.

ProcessOrderFailMessage
public IEnumerable<ValueTuple<OrderFail, OrderOperations>> ProcessOrderFailMessage(Order order, Security security, ExecutionMessage message)
result = entityCache.ProcessOrderFailMessage(order, security, message)

Meldung „Process Order Fail.

order
Bestellung.
security
Finanzinstrument.
message
Nachricht.

Rückgabe: Ordnung scheitert mit Operationen.

ProcessOrderMessage
public IEnumerable<OrderChangeInfo> ProcessOrderMessage(Order order, Security security, ExecutionMessage message, long transactionId, Func<string, Portfolio> getPortfolio)
result = entityCache.ProcessOrderMessage(order, security, message, transactionId, getPortfolio)

Auftragsmeldung verarbeiten.

order
Bestellung.
security
Finanzinstrument.
message
Nachricht.
transactionId
Transaktionskennung.
getPortfolio
Funktion, um Portfolio zu erhalten.

Rückgabe: Auftragsänderungsinformationen.

ProcessOwnTradeMessage
public ValueTuple<MyTrade, bool> ProcessOwnTradeMessage(Order order, Security security, ExecutionMessage message, long transactionId)
result = entityCache.ProcessOwnTradeMessage(order, security, message, transactionId)

Eigene Handelsnachricht verarbeiten.

order
Bestellung.
security
Finanzinstrument.
message
Nachricht.
transactionId
Transaktionskennung.

Rückgabe: Handel und ist neue Flagge.

RemoveOrderStatusTransactionId
public void RemoveOrderStatusTransactionId(long transactionId)
entityCache.RemoveOrderStatusTransactionId(transactionId)

Entfernen Sie die Transaktions-ID des Auftragsstatus.

transactionId
Transaktionskennung.
TryAddMassCancelationId
public void TryAddMassCancelationId(long transactionId)
entityCache.TryAddMassCancelationId(transactionId)

Versuchen Sie, die Transaktions-ID für Massenstornierung hinzuzufügen.

transactionId
Transaktionskennung.
TryGetAdapter
public IMessageAdapter TryGetAdapter(Order order)
result = entityCache.TryGetAdapter(order)

Versuchen Sie, den Message Adapter für die Bestellung zu erhalten.

order
Bestellung.

Rückgabe: Adapter oder .

TryGetOrder
public Order TryGetOrder(long? orderId, string orderStringId)
result = entityCache.TryGetOrder(orderId, orderStringId)

Versuchen Sie, Bestellung per ID zu erhalten.

orderId
Ordnungsnummer.
orderStringId
Order string id.

Rückgabe: Ordnung oder .

TryGetOrder
public Order TryGetOrder(long transactionId, OrderOperations operation)
result = entityCache.TryGetOrder(transactionId, operation)

Versuchen Sie, die Bestellung nach Transaktions-ID und Operation zu erhalten.

transactionId
Transaktionskennung.
operation
Betrieb.

Rückgabe: Ordnung oder .

TrySetAdapter
public void TrySetAdapter(Order order, IMessageAdapter adapter)
entityCache.TrySetAdapter(order, adapter)

Versuchen Sie, den Message Adapter für die Bestellung einzustellen.

order
Bestellung.
adapter
Adapter.
UpdateOrderBookSnapshot
public void UpdateOrderBookSnapshot(QuoteChangeMessage message)
entityCache.UpdateOrderBookSnapshot(message)

Aktualisieren Sie den zwischengespeicherten Auftragsbuch-Snapshot für ein Finanzinstrument.

message
Auftragsbuchmeldung.