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

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


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


Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 15.10.2013
Ответить


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

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

Спасибо:

Nikolay90

Фотография
Дата: 16.10.2013
Ответить


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

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.10.2013
Ответить


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

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

Спасибо:

Nikolay90

Фотография
Дата: 16.10.2013
Ответить


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

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

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

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.10.2013
Ответить


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

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

Спасибо:

Nikolay90

Фотография
Дата: 16.10.2013
Ответить


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

Спасибо:

yar1k0v

Фотография
Дата: 18.10.2013
Ответить


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


 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();
     }

}

П.С.

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

Спасибо: Nikolay90

Nikolay90

Фотография
Дата: 24.10.2013
Ответить


Спасибо, yar1k0v.

Спасибо:

FlashPlayer

Фотография
Дата: 26.10.2013
Ответить


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

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy