MatchingEngineAdapter
Nachrichtenbasierter Matching-Engine-Adapter. Enthält reine Matching-Logik ohne Emulation (keine zufällige, keine Kerzen-Match, keine Provisionen).
Implementiert: IMessageTransport
Konstruktoren
public MatchingEngineAdapter()
matchingEngineAdapter = MatchingEngineAdapter()
Initialisiert eine neue Instanz.
Eigenschaften
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = matchingEngineAdapter.OrderIdGenerator
matchingEngineAdapter.OrderIdGenerator = value
Auftrags-ID-Generator.
public IPortfolioManager PortfolioManager { get; set; }
value = matchingEngineAdapter.PortfolioManager
matchingEngineAdapter.PortfolioManager = value
Portfoliomanager für den Umgang mit Portfolio-Zustand.
public MatchingEngineSettings Settings { get; }
value = matchingEngineAdapter.Settings
Anpassende Motoreinstellungen.
public IStopOrderManager StopOrderManager { get; }
value = matchingEngineAdapter.StopOrderManager
Stop Order Manager (nur Lesezugriff).
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = matchingEngineAdapter.TradeIdGenerator
matchingEngineAdapter.TradeIdGenerator = value
Handelskennung-Generator.
public IdGenerator TransactionIdGenerator { get; set; }
value = matchingEngineAdapter.TransactionIdGenerator
matchingEngineAdapter.TransactionIdGenerator = value
Transaktions-ID-Generator für den internen Gebrauch (Gruppenabbruch, Close-Positionen).
Methoden
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.
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.
public SecurityState GetSecurityState(SecurityId securityId)
result = matchingEngineAdapter.GetSecurityState(securityId)
Erhalten oder erstellen Sie den Finanzinstrumentszustand für das angegebene Finanzinstrument.
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).
public void ProcessOrderCancel(OrderCancelMessage cancelMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderCancel(cancelMsg, results)
Stornierung von Prozessaufträgen.
public void ProcessOrderRegister(OrderRegisterMessage regMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderRegister(regMsg, results)
Auftragsregistrierung verarbeiten.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = matchingEngineAdapter.SendOutMessageAsync(message, cancellationToken)
Senden Sie eine Nachricht.
Ereignisse
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
matchingEngineAdapter.NewOutMessageAsync += handler
Neues Nachrichtenereignis.