MatchingEngineAdapter

StockSharp.MatchingEngine

Nachrichtenbasierter Matching-Engine-Adapter. Enthält reine Matching-Logik ohne Emulation (keine zufällige, keine Kerzen-Match, keine Provisionen).

Implementiert: IMessageTransport

Konstruktoren

MatchingEngineAdapter
public MatchingEngineAdapter()
matchingEngineAdapter = MatchingEngineAdapter()

Initialisiert eine neue Instanz.

Eigenschaften

OrderIdGenerator
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = matchingEngineAdapter.OrderIdGenerator
matchingEngineAdapter.OrderIdGenerator = value

Auftrags-ID-Generator.

PortfolioManager
public IPortfolioManager PortfolioManager { get; set; }
value = matchingEngineAdapter.PortfolioManager
matchingEngineAdapter.PortfolioManager = value

Portfoliomanager für den Umgang mit Portfolio-Zustand.

Settings
public MatchingEngineSettings Settings { get; }
value = matchingEngineAdapter.Settings

Anpassende Motoreinstellungen.

StopOrderManager
public IStopOrderManager StopOrderManager { get; }
value = matchingEngineAdapter.StopOrderManager

Stop Order Manager (nur Lesezugriff).

TradeIdGenerator
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = matchingEngineAdapter.TradeIdGenerator
matchingEngineAdapter.TradeIdGenerator = value

Handelskennung-Generator.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; set; }
value = matchingEngineAdapter.TransactionIdGenerator
matchingEngineAdapter.TransactionIdGenerator = value

Transaktions-ID-Generator für den internen Gebrauch (Gruppenabbruch, Close-Positionen).

Methoden

CheckLimitOrders
public void CheckLimitOrders(SecurityId securityId, decimal? tradePrice, DateTime time, List<Message> results)
matchingEngineAdapter.CheckLimitOrders(securityId, tradePrice, time, results)

Im Gegensatz zu Stop-Orders werden Limit-Orders ansonsten nur zum Registrierungszeitpunkt zusammengeführt, so dass ein Tick / Quote-Handel durch ein Resting-Limit es im Buch sitzen lassen würde und später zu einem Preis füllen, den der Markt zurückgelassen hat.

CheckStopOrders
public void CheckStopOrders(SecurityId securityId, decimal price, DateTime time, List<Message> results)
matchingEngineAdapter.CheckStopOrders(securityId, price, time, results)

Überprüfen Sie Stop-Orders gegen einen Preis und prozessgesteuerte Orders.

GetSecurityState
public SecurityState GetSecurityState(SecurityId securityId)
result = matchingEngineAdapter.GetSecurityState(securityId)

Erhalten oder erstellen Sie den Finanzinstrumentszustand für das angegebene Finanzinstrument.

ProcessMessage
public void ProcessMessage(Message message, List<Message> results)
matchingEngineAdapter.ProcessMessage(message, results)

Eine Nachricht verarbeiten und Ergebnisse sammeln. Kann direkt aufgerufen werden (ohne async-Versand).

ProcessOrderCancel
public void ProcessOrderCancel(OrderCancelMessage cancelMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderCancel(cancelMsg, results)

Stornierung von Prozessaufträgen.

ProcessOrderRegister
public void ProcessOrderRegister(OrderRegisterMessage regMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderRegister(regMsg, results)

Auftragsregistrierung verarbeiten.

SendOutMessageAsync
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = matchingEngineAdapter.SendOutMessageAsync(message, cancellationToken)

Senden Sie eine Nachricht.

Ereignisse

NewOutMessageAsync
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
matchingEngineAdapter.NewOutMessageAsync += handler

Neues Nachrichtenereignis.