Доброго времени суток. У меня такая проблема: При использовании метода RegisterOrder(Order order) заявка успешно вытавляется, но как только доходит до снятии одной или всех заявок, то это посто беда. Одна и та же ошибка как при использовании метода CancelOrder(Order order), так и при ReRegisterOrder(Order old_order, Order new_order). Текст ошибки: "Код ошибки Failed Сообщение Вы не можете снять данную заявку".
- Я использую Sync режим для данной операции
- Пробовал устанавливать залипание на секунду
- Ждал, когда заявка опубликуется и тогда пытался ее снять (while(order.Staus == OrderStatus.Accepted) { trader.ReRegisterOrder(old_order, order_buy); })
- Перечитал и просмотрел все примеры. Прошурстел все форумы и просто вылизал документацию API
В чем может быть причина?
Выставление и снятие заявки выполняется при this.trader.MarketDepthsChanged += depths => this.GuiSync(() => { выставление .... снятие }
Заранее спасибо за ответ!
Comments (4)
Login or Create account, Log in or register to leave a comment
тоже долго не получалось в свое время. у меня проблема была с полями Order в СтокШарпе важно для снятия заявки - знать два ID Order.ID и Order.TradsactionID и еще Price вроде.
Т.е. после отправки заявки, мы получаем всю ее информацию, как только она станет активной в Quik. И чтобы снять заявку, мы должны в методе CancelOrder(Order order), указать объект, в отором важными параметрами будут Order.TransactionId, Order.ID и Order.Price?
TtansactionId генерируется программой, поэтому из-за него проблем не должно быть. Выводил через MessageBox.Show(order.TransactionId.ToString()) - выводит все корректно. Что касается ID, то ID генерируется биржей и при выводе этого параметра, он равен 0. При ручном определении order.Id = random, выходит ошибка "Заявка уже имеет номер, возможно она была уже зарегистрирована". Подскажите, в чем все же проблема, не могу снять эту поганую заявку, а API не предоставляет более конкретного описания ошибки, чем "Вы не можете снять данную заявку". У меня даже trader.CancelOrders() не работает.
"Что касается ID, то ID генерируется биржей и при выводе этого параметра, он равен 0"
ID не должен быть 0. Генерит его биржа посмотреть его можно в QUIK
TransactionId тоже можно увидеть в QUIK в таблице транзакции
у вас портится Order.ID похоже. Попробуйте пример СтокШарповский