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


Доброго времени суток. У меня такая проблема:
При использовании метода 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(() => { выставление .... снятие }

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

Теги:


Спасибо:


COBRA

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


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

Спасибо:

DerBunny

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


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


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

DerBunny

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


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

COBRA

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


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

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

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

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


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

loading
clippy