Как узнать отменились ли все заявки?


Как узнать отменились ли все заявки?
Atom
10/15/2013


Я вызываю SmartTrader.CancelOrders. Только после того как я получу подтверждение что все мои заявки отменены я хочу слать новые заявки. Как же мне узнать момент когда все заявки отменились? Не получается найти соответствующее событие. А ведь возможна ситуация что команда CancelOrders закончится не успешно. А события о успешном завершении CancelOrders я не вижу в API. Как же быть?

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 10/15/2013
Reply


Nikolay90 Go to
Я вызываю SmartTrader.CancelOrders. Только после того как я получу подтверждение что все мои заявки отменены я хочу слать новые заявки. Как же мне узнать момент когда все заявки отменились? Не получается найти соответствующее событие. А ведь возможна ситуация что команда CancelOrders закончится не успешно. А события о успешном завершении CancelOrders я не вижу в API. Как же быть?


А никак. Нет такого события даже у биржи. Не говоря про СмартКом и наш коннектор. Если хотите узнавать гарантированно, то и метод нужно писать с гарантированной отменой.
Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


Михаил Сухов Go to
А никак. Нет такого события даже у биржи. Не говоря про СмартКом и наш коннектор.

А вот тут я с вами не могу согласиться. Как это нет? Вот в мануале по Смарткому
http://www.itinvest.ru/e...M_2_2_install_guide.pdf
есть событие OrderCancelSucceeded.
А у биржи на каждую транзакцию приходит ответ, приняла биржа эту транзакцию или нет. Вопрос остается актуальным, как в stocksharp узнать получила ли биржа мою транзакцию об отмене всех моих заявок?

Thanks:

Mikhail Sukhov

Avatar
Date: 10/16/2013
Reply


Nikolay90 Go to
есть событие OrderCancelSucceeded.


В английском языке Order - означает единственно число. А Orders (или OrderGroup) - множественное.
Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


Михаил Сухов Go to
Nikolay90 Go to
есть событие OrderCancelSucceeded.


В английском языке Order - означает единственно число. А Orders (или OrderGroup) - множественное.

Это я в курсе. Вы имеете в виду, что в stocksharp есть событие для успешной отмены одной заявки? Т.е. есть возможность отследить отменилась ли конкретная заявка или нет?
Я видел метод IsCanceled у Order, но никак не пойму когда и у какого ордера его вызывать. Может при отправке заявки складывать отправленные заявки в контейнер и по какому-то событию проходиться по нему и выяснять отменилась она или нет?
Thanks:

Mikhail Sukhov

Avatar
Date: 10/16/2013
Reply


Nikolay90 Go to
Вы имеете в виду, что в stocksharp есть событие для успешной отмены одной заявки?


Да, изучайте примеры и документацию.
Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


Михаил, подскажите, пожалуйста, какое событие вызывается при успешной отмене заявки. У меня никак не получается это выяснить из документации. Я еще начинающий.
Thanks:

yar1k0v

Avatar
Date: 10/18/2013
Reply


Привет.
Вот событие =>
{
Code

    OrderChanged += changed =>
    {
       if (changed.Status == OrderStatus.Cancelled)
       {
          /* Заявка Cancelled. */
       }
    };
   

}

Вот код для поиска активных заявок =>
{
Code

   public IEnumerable<Order> GetActiveOrders()
        {
            return (from orders in Trader.Orders
                    where (orders.State == OrderStates.Active)
                    select orders).ToList();
        }
   

}

П.С.

Пользуюсь только поиском активных заявок.
Thanks: Nikolay90

Nikolay90

Avatar
Date: 10/24/2013
Reply


Спасибо, yar1k0v.
Thanks:

FlashPlayer

Avatar
Date: 10/26/2013
Reply


ну или через маркет-руул:
Order.WhenCancelled().D0(()=>{....}).Apply(this)
Thanks:


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

loading
clippy