← 戻る

Состояние заявки

Доброго Вам, Михаил! Спасибо за Вашу работу, очень облегчает создавать свои разработки. Возник вопрос по состоянию заявки.

Вызываю RegisterOrder(order), затем проверяю, что order.State == OrderStates.Active и сразу даю команду CancelOrder(order); Получаю результат: System.ArgumentException: Заявка по транзакции 'CLASSCODE=QJSIM; SECCODE=LKOH; TRANS_ID=1; ACTION=KILL_ORDER; ORDER_KEY=790607967' не была зарегистрирована. Причина 'Вы не можете снять данную заявку'. Sleep помог делу, но это не дело.

Вы можете прокомментировать данную ситуацию?

P.S. И похоже, в документацию закралась досадная опечатка про "Статусы" заявки.

このトピックは参考になりましたか?

トピックを共有

コメント (3)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

Mikhail Sukhov
Mikhail Sukhov

http://stockmarketdotnet.blogspot.com/2010/02/s-17.htmlПункт 4

Что за опечатка?

Ronin
Ronin 著者

Дело в том, что бывают случаи, когда сервер брокера заявку получил, но выставление заявки на биржу происходит после существенного временного лага. И угадать с размером минимальной задержки не представляю возможным. Также всё осложняется тем, что помимо состояния заявки OrderStates.Active, её статус OrderStatus.Done. Может, как вариант, OrderStatus изменять по анализу реально полученных данных?

Mikhail Sukhov
Mikhail Sukhov

ITrader.OrdersChanged. Когда придет событие по Вашей сделке, значит она и сервером брокера принята.