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

Снятие заявки
Atom
7/10/2015
DerBunny


Доброго времени суток. У меня такая проблема:
При использовании метода RegisterOrder(Order order) заявка успешно вытавляется, но как только доходит до снятии одной или всех заявок, то это посто беда.
Одна и та же ошибка как при использовании метода CancelOrder(Order order), так и при ReRegisterOrder(Order old_order, Order new_order).
Текст ошибки: "Код ошибки Failed Сообщение Вы не можете снять данную заявку".

1) Я использую Sync режим для данной операции
2) Пробовал устанавливать залипание на секунду
3) Ждал, когда заявка опубликуется и тогда пытался ее снять (while(order.Staus == OrderStatus.Accepted) { trader.ReRegisterOrder(old_order, order_buy); })
4) Перечитал и просмотрел все примеры. Прошурстел все форумы и просто вылизал документацию API

В чем может быть причина?

Выставление и снятие заявки выполняется при this.trader.MarketDepthsChanged += depths => this.GuiSync(() => { выставление .... снятие }

Заранее спасибо за ответ!

Tags:


Thanks:


COBRA

Avatar
Date: 7/10/2015
Reply


тоже долго не получалось в свое время.
у меня проблема была с полями Order в СтокШарпе
важно для снятия заявки - знать два ID
Order.ID и Order.TradsactionID и еще Price вроде.

Thanks:

DerBunny

Avatar
Date: 7/11/2015
Reply


COBRA
тоже долго не получалось в свое время.
у меня проблема была с полями Order в СтокШарпе
важно для снятия заявки - знать два ID
Order.ID и Order.TradsactionID и еще Price вроде.


Т.е. после отправки заявки, мы получаем всю ее информацию, как только она станет активной в Quik. И чтобы снять заявку, мы должны в методе CancelOrder(Order order), указать объект, в отором важными параметрами будут Order.TransactionId, Order.ID и Order.Price?
Thanks:

DerBunny

Avatar
Date: 7/13/2015
Reply


TtansactionId генерируется программой, поэтому из-за него проблем не должно быть. Выводил через MessageBox.Show(order.TransactionId.ToString()) - выводит все корректно.
Что касается ID, то ID генерируется биржей и при выводе этого параметра, он равен 0.
При ручном определении order.Id = random, выходит ошибка "Заявка уже имеет номер, возможно она была уже зарегистрирована". Подскажите, в чем все же проблема, не могу снять эту поганую заявку, а API не предоставляет более конкретного описания ошибки, чем "Вы не можете снять данную заявку".
У меня даже trader.CancelOrders() не работает.
Thanks:

COBRA

Avatar
Date: 7/14/2015
Reply


"Что касается ID, то ID генерируется биржей и при выводе этого параметра, он равен 0"

ID не должен быть 0. Генерит его биржа посмотреть его можно в QUIK

TransactionId тоже можно увидеть в QUIK в таблице транзакции

у вас портится Order.ID похоже. Попробуйте пример СтокШарповский
Thanks:


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

loading
clippy