Получение информации по заявкам
Ниже перечислены события IConnector связанные с заявками:
- Connector.NewOrder - событие появления новой заявок.
- Connector.OrderCancelFailed - событие ошибки отмены заявки.
- Connector.OrderChanged - событие изменения состояния заявки (снята, удовлетворена).
- Connector.OrderRegisterFailed - событие ошибки регистрации заявки.
- Connector.NewStopOrder - событие появления новой стоп-заявки.
- Connector.StopOrderCancelFailed - событие ошибки отмены стоп-заявки.
- Connector.StopOrderChanged - событие изменения состояния стоп-заявки.
- Connector.StopOrderRegisterFailed - событие ошибки регистрации стоп-заявки.
Отправка транзакций (регистрация, замена или снятие заявок) идёт в асинхронном режиме. Асинхронный режим позволяет торговой программе не дожидаться подтверждения биржей принятия транзакции, продолжив дальше выполнять работу. Это сокращает время простоя программы, и увеличивает скорость реагирования на изменения ситуации на рынке.
Чтобы узнать в программе, когда биржа присвоила заявке Order.Id, необходимо подписаться на событие Connector.OrderChanged (или для стоп-заявок Connector.StopOrderChanged). Для определения неудачной регистрации используется событие Connector.OrderRegisterFailed (или для стоп-заявок Connector.StopOrderRegisterFailed).
Caution
Если при старте приложения из шлюза были переданы ранее зарегистрированные заявки, то все они передаются через события ITransactionProvider.NewOrder, независимо от их состояния (кроме состояния OrderStates.Failed). Это сделано потому, что событие Connector.NewOrder отражает факт появления новых заявок в программе, а не событие успешной регистрации заявки.