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

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


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


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

            CancelOrder(order);

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


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

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

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


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