MatchingEngineAdapter

StockSharp.MatchingEngine

Адаптер механизма сопоставления на основе сообщений. Содержит чистую логику сопоставления без эмуляции (без случайных чисел, без сопоставления свечей, без комиссий). Реализует IMessageTransport для интеграции на основе сообщений.

Реализует: IMessageTransport

Конструкторы

MatchingEngineAdapter
public MatchingEngineAdapter()
matchingEngineAdapter = MatchingEngineAdapter()

Инициализирует новый экземпляр.

Свойства

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

Генератор заказов.

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

Портфельный менеджер по управлению состоянием портфеля.

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

Соответствие параметров двигателя.

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

Stop Order Manager (только для чтения)

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

Генератор торговых удостоверений.

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

Генератор идентификаторов транзакций для внутреннего использования (групповая отмена, закрытие позиций).

Методы

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

Переоцените оставшиеся лимитные ордера в сравнении с текущей книгой ордеров и исполните те, через которые прошел рынок. В отличие от стоп-ордеров, лимитные ордера в противном случае сопоставляются только во время регистрации, поэтому торговля тиками/котировками через лимит покоя оставит их в книге, а затем исполнит по цене, оставшейся на рынке.

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

Проверяйте стоп-ордера по цене и обрабатывайте сработавшие ордера.

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

Получите или создайте состояние финансового инструмента для данного финансового инструмента.

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

Обработайте сообщение и соберите результаты. Может быть вызван напрямую (без асинхронной отправки).

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

Обработка отмены заказа.

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

Оформление заказа.

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

Отправьте сообщение.

События

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

Новое событие сообщения.