Quik: newStopOrders не ходят
Atom Ответить
14.01.2013


Den

Фотография
Уважаемые разработчики!

S# 4.1.7 (trunk), Quik 6.4

События newStopOrders не ходят.
При этом события stopOrdersChanged исправно прилетают.

Посмотрите, пожалуйста, в чем дело.

Теги:


Спасибо:




7 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.01.2013
Ответить


Sample так же не показывает созданные из примера стоп-заявки?
Спасибо:

Den

Фотография
Дата: 14.01.2013
Ответить


Mikhail Sukhov Перейти
Sample так же не показывает созданные из примера стоп-заявки?


Вопрос простой, но хороший! Проверяя, нашел нюанс.

У меня стоит Trader.IsAsyncMode = false;
В этом случает newStopOrders приходит, только если заявка выставлена из квика, и не приходит если из S# привода.

Если включить асинхронный режим, newStopOrders приходит всегда.

Мне нужен синхронный режим, что делать?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.01.2013
Ответить


Den Перейти
Мне нужен синхронный режим, что делать?


Занесем как пожелание в систему багтрекинга. В будущих версиях возможно поддержим синхронных режим.
Спасибо:

Den

Фотография
Дата: 14.01.2013
Ответить


Mikhail Sukhov Перейти
Den Перейти
Мне нужен синхронный режим, что делать?


Занесем как пожелание в систему багтрекинга. В будущих версиях возможно поддержим синхронных режим.


А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 14.01.2013
Ответить


Den Перейти
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?


Скорее само убралось.

Лучше переходите на асинхронный режим. Это идеологически правильный подход.
Спасибо:

Den

Фотография
Дата: 15.01.2013
Ответить


Den Перейти
Mikhail Sukhov Перейти
Den Перейти
А он же вроде раньше был, до 4.1.1 включительно как часы все работало точно!
Завтра еще проверю на более поздних версиях или убрали специально синхронность?


Скорее само убралось.
Лучше переходите на асинхронный режим. Это идеологически правильный подход.



"Само убралось" давненько - в 4.1.3 уже пропало.

Чем хорош синхронный режим?

Допустим, я кидаю заявку FillOrKill объемом 100.

Если заявка заматчена, в синхронном режиме я об этом сразу буду знать по выходу из RegisterOrder, еще до того как прилетит первое событие NewMyTrades.

В асинхронном режиме я об этом узнаю гораздо позже, потому что объем 100 может быть заматчен
в несколько транзакций (теоретически даже и в 100), и ждать несколько событий NewMyTrades и суммировать объем до 100 будет медленнее.
Автор топика
Спасибо:

NattyD

Фотография
Дата: 21.01.2013
Ответить


Den Перейти


"Само убралось" давненько - в 4.1.3 уже пропало.

Чем хорош синхронный режим?

Допустим, я кидаю заявку FillOrKill объемом 100.

Если заявка заматчена, в синхронном режиме я об этом сразу буду знать по выходу из RegisterOrder, еще до того как прилетит первое событие NewMyTrades.

В асинхронном режиме я об этом узнаю гораздо позже, потому что объем 100 может быть заматчен
в несколько транзакций (теоретически даже и в 100), и ждать несколько событий NewMyTrades и суммировать объем до 100 будет медленнее.


Суммировать не надо, попробуйте использовать правило Order.WhenMatched() или подписаться на событие ITrader.OrdersChanged

Насколько медленнее? Если даже на 1 мс, то при торговле через квик это не существенно.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy