не срабатывает правило order.CancelFailed()

не срабатывает правило order.CancelFailed()
Atom
2/9/2012
vader


Версия 4.0.18, режим трейдера - асинхронный.


Code

this.When(order.CancelFailed())
                .Do(OnCancelFailed)
                .Once();

            CancelOrder(order);

Если снимать заявку так
Code

private void CancelOrder(Order order)
        {
            CancelActiveOrders();
        }

То вообще никакой реакции на уже снятую заявку не будет.

Если так, то метод OnCancelFailed вызван не будет, просто будет запись в лог о том, что произошла ошибка.
Code

private void CancelOrder(Order order)
        {
            Trader.CancelOrder(order);
        }

Tags:


Thanks:


Alexander

Avatar
Date: 2/10/2012
Reply


Чему равен order.Status после прихода ответа на вызов Trader.CancelOrder(order) во втором варианте?

В лог откуда запись приходит? Из ProcessDataError?
Thanks:

vader

Avatar
Date: 2/10/2012
Reply


Я отправляю транзакции асинхронно, поэтому Trader.CancelOrder(order) ничего не отвечает ( я не могу поймать исключение.).
Поясню. Чтобы проверить, как работает реакция на ошибку снятия завки, я ставлю заявку, и снимаю её вручную в Квике. После этого её Status становится Accepted и уже не меняется (я подписался на событие изменения заявки.)

Да, запись в лог призодит из ProcessDataError.
Сама запись.
StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку
Thanks:

Alexander

Avatar
Date: 2/10/2012
Reply


Ага, подтверждаю.
Есть такая ошибка.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy