← Back

Не срабатывает OrderCanceled (Quik)

FalshPlayer: Теперь новая проблема.

После снятия заявки не происходит события OrderCanceled (как ни подписывайся оно не вызывается), более того все заявки, даже уже снятые, в Trader хранятся в состоянии Active, что по идее является следствием не срабатывания события. Все дело происходит как и с фьючами, так и с акциями в QUIK Junior. Кто-то сталкивался и может ли кто-то проверить, опровергнуть? Приведу простой пример - создаем стратегию и в ней перепишем лишь метод OnStarted таким образом:

protected override void OnStarted() { var newOrder = this.CreateOrder(OrderDirections.Buy, <<Тут какая-то цена ниже рынка, чтобы заявка зависла>>, 1); newOrder.WhenCanceled().Do(Smth).Apply(this); newOrder.WhenRegistered().Do(CancelActiveOrders).Apply(this);

RegisterOrder(newOrder);

base.OnStarted(); }

void Smth() {

}

> По идее при выполнении этого кода мы должны упасть в метод Smth, но этого не происходит, так как отмена заявки не зажигает событие. Проверьте пожалуйста - что не так?

Comments (1)

Login or Create account, Log in or register to leave a comment

Самунджян Артем
Самунджян Артем Author

FlashPlayer: Все - всем снова спасибо. Очередной мой косяк. Я думал, что событие "заявка снята" генерируется с помощью библиотеки Trans2Quik.dll. А оказывается, событие возникает просто после появления соответствующей строчки в таблице QUIK "Заявки". Ну а я по привычке снял все фильтры кроме "показывать активные заявки". Вот такой косяк.