MatchingEngineAdapter
Адаптер механизма сопоставления на основе сообщений. Содержит чистую логику сопоставления без эмуляции (без случайных чисел, без сопоставления свечей, без комиссий). Реализует IMessageTransport для интеграции на основе сообщений.
Реализует: IMessageTransport
Конструкторы
public MatchingEngineAdapter()
matchingEngineAdapter = MatchingEngineAdapter()
Инициализирует новый экземпляр.
Свойства
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = matchingEngineAdapter.OrderIdGenerator
matchingEngineAdapter.OrderIdGenerator = value
Генератор заказов.
public IPortfolioManager PortfolioManager { get; set; }
value = matchingEngineAdapter.PortfolioManager
matchingEngineAdapter.PortfolioManager = value
Портфельный менеджер по управлению состоянием портфеля.
public MatchingEngineSettings Settings { get; }
value = matchingEngineAdapter.Settings
Соответствие параметров двигателя.
public IStopOrderManager StopOrderManager { get; }
value = matchingEngineAdapter.StopOrderManager
Stop Order Manager (только для чтения)
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = matchingEngineAdapter.TradeIdGenerator
matchingEngineAdapter.TradeIdGenerator = value
Генератор торговых удостоверений.
public IdGenerator TransactionIdGenerator { get; set; }
value = matchingEngineAdapter.TransactionIdGenerator
matchingEngineAdapter.TransactionIdGenerator = value
Генератор идентификаторов транзакций для внутреннего использования (групповая отмена, закрытие позиций).
Методы
public void CheckLimitOrders(SecurityId securityId, decimal? tradePrice, DateTime time, List<Message> results)
matchingEngineAdapter.CheckLimitOrders(securityId, tradePrice, time, results)
Переоцените оставшиеся лимитные ордера в сравнении с текущей книгой ордеров и исполните те, через которые прошел рынок. В отличие от стоп-ордеров, лимитные ордера в противном случае сопоставляются только во время регистрации, поэтому торговля тиками/котировками через лимит покоя оставит их в книге, а затем исполнит по цене, оставшейся на рынке.
public void CheckStopOrders(SecurityId securityId, decimal price, DateTime time, List<Message> results)
matchingEngineAdapter.CheckStopOrders(securityId, price, time, results)
Проверяйте стоп-ордера по цене и обрабатывайте сработавшие ордера.
public SecurityState GetSecurityState(SecurityId securityId)
result = matchingEngineAdapter.GetSecurityState(securityId)
Получите или создайте состояние финансового инструмента для данного финансового инструмента.
public void ProcessMessage(Message message, List<Message> results)
matchingEngineAdapter.ProcessMessage(message, results)
Обработайте сообщение и соберите результаты. Может быть вызван напрямую (без асинхронной отправки).
public void ProcessOrderCancel(OrderCancelMessage cancelMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderCancel(cancelMsg, results)
Обработка отмены заказа.
public void ProcessOrderRegister(OrderRegisterMessage regMsg, List<Message> results)
matchingEngineAdapter.ProcessOrderRegister(regMsg, results)
Оформление заказа.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = matchingEngineAdapter.SendOutMessageAsync(message, cancellationToken)
Отправьте сообщение.
События
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
matchingEngineAdapter.NewOutMessageAsync += handler
Новое событие сообщения.