Mikhail Sukhov:
Sample так же не показывает созданные из примера стоп-заявки?
Вопрос простой, но хороший! Проверяя, нашел нюанс.
У меня стоит Trader.IsAsyncMode = false;
В этом случает newStopOrders приходит, только если заявка выставлена из квика, и не приходит если из S# привода.
Если включить асинхронный режим, newStopOrders приходит всегда.
Занесем как пожелание в систему багтрекинга. В будущих версиях возможно поддержим синхронных режим.
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?
Den:
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?
Скорее само убралось.
Лучше переходите на асинхронный режим. Это идеологически правильный подход.
Den:
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?
Скорее само убралось.
Лучше переходите на асинхронный режим. Это идеологически правильный подход.
"Само убралось" давненько - в 4.1.3 уже пропало.
Чем хорош синхронный режим?
Допустим, я кидаю заявку FillOrKill объемом 100.
Если заявка заматчена, в синхронном режиме я об этом сразу буду знать по выходу из RegisterOrder, еще до того как прилетит первое событие NewMyTrades.
В асинхронном режиме я об этом узнаю гораздо позже, потому что объем 100 может быть заматчен
в несколько транзакций (теоретически даже и в 100), и ждать несколько событий NewMyTrades и суммировать объем до 100 будет медленнее.
Den:
"Само убралось" давненько - в 4.1.3 уже пропало.
Чем хорош синхронный режим?
Допустим, я кидаю заявку FillOrKill объемом 100.
Если заявка заматчена, в синхронном режиме я об этом сразу буду знать по выходу из RegisterOrder, еще до того как прилетит первое событие NewMyTrades.
В асинхронном режиме я об этом узнаю гораздо позже, потому что объем 100 может быть заматчен
в несколько транзакций (теоретически даже и в 100), и ждать несколько событий NewMyTrades и суммировать объем до 100 будет медленнее.
Суммировать не надо, попробуйте использовать правило Order.WhenMatched() или подписаться на событие ITrader.OrdersChanged
Насколько медленнее? Если даже на 1 мс, то при торговле через квик это не существенно.
评论 (7)
登录 或 创建账户, 登录或注册以发表评论
Sample так же не показывает созданные из примера стоп-заявки?
Вопрос простой, но хороший! Проверяя, нашел нюанс.
У меня стоит Trader.IsAsyncMode = false; В этом случает newStopOrders приходит, только если заявка выставлена из квика, и не приходит если из S# привода.
Если включить асинхронный режим, newStopOrders приходит всегда.
Мне нужен синхронный режим, что делать?
Занесем как пожелание в систему багтрекинга. В будущих версиях возможно поддержим синхронных режим.
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно! Завтра еще проверю на более поздних версиях или убрали специально синхронность?
Скорее само убралось.
Лучше переходите на асинхронный режим. Это идеологически правильный подход.
"Само убралось" давненько - в 4.1.3 уже пропало.
Чем хорош синхронный режим?
Допустим, я кидаю заявку FillOrKill объемом 100.
Если заявка заматчена, в синхронном режиме я об этом сразу буду знать по выходу из RegisterOrder, еще до того как прилетит первое событие NewMyTrades.
В асинхронном режиме я об этом узнаю гораздо позже, потому что объем 100 может быть заматчен в несколько транзакций (теоретически даже и в 100), и ждать несколько событий NewMyTrades и суммировать объем до 100 будет медленнее.
Суммировать не надо, попробуйте использовать правило Order.WhenMatched() или подписаться на событие ITrader.OrdersChanged
Насколько медленнее? Если даже на 1 мс, то при торговле через квик это не существенно.