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

Снятие заявки
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