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

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


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


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 10/15/2013
Reply


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

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

Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


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

Thanks:

Mikhail Sukhov

Avatar
Date: 10/16/2013
Reply


Nikolay90: есть событие OrderCancelSucceeded.

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

Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


Михаил Сухов:

Nikolay90: есть событие OrderCancelSucceeded.

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

Thanks:

Mikhail Sukhov

Avatar
Date: 10/16/2013
Reply


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

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

Thanks:

Nikolay90

Avatar
Date: 10/16/2013
Reply


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

Thanks:

yar1k0v

Avatar
Date: 10/18/2013
Reply


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


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

}

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


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