Перерегистрация заявки на ФОРТС - новый объём


Перерегистрация заявки на ФОРТС - новый объём
Atom
8/3/2010


via

Avatar
Проблема следующая, при перерегистрации заявки на фортсе объём не
меняется, только цена. Код такой (дня начинающего пойдёт :)):

OptSumOrder = 20;
OptSumAll = 100;
OptSumCurrent = 0;

if (size > 0)
{
newOrder = new Order
{
Portfolio = _portfolio,
Price = TheorOptPrice,
Security = OptSec,
Direction = OptionsDirection,
};
// проверяем объём
if (size >= OptSumOrder)
{
newOrder.Volume = OptSumOrder;
}
else
{
newOrder.Volume = OptSumAll - OptSumCurrent;
}
// если заявка ещё активна (не отменена), то перерегистрировать
заявку
if (!(order.State == OrderStates.Done))
{
this.Trader.ReRegisterOrder(order, newOrder);
orderIdList.Add(newOrder.Id); // добавить ID в список для
отслеживания сделок
}
else // если заявки нет (её полностью исполнили), то
зарегистрировать новую
{
this.Trader.RegisterOrder(newOrder);
orderIdList.Add(newOrder.Id);
}
order = newOrder;


Tags:


Thanks:


via

Avatar
Date: 8/4/2010
Reply


Ещё раз, опишу проблему, при перестановке заявки объём остаётся
старый, хотя в новой заявке я объём меняю.

Thanks:

Mikhail Sukhov

Avatar
Date: 8/4/2010
Reply


QuikTrader? Какие транзакции выдает
QuikTrader.GetTransactions(newOrder)? Посмотреть текст транзакции
можно через TransactionBuilder.ToString.

Thanks:

via

Avatar
Date: 8/4/2010
Reply


Вывожу через this.Trader.GetTransactions(newOrder).First().ToString())
В сообщении: FIRST_ORDER_NEW_QUANTITY=20, хотя до этого часть заявки
съели и переставляется только остаток. Такое ощущение что это поле
игнорируется. А как через TransactionBuilder.ToString выводить?
Thanks:

Mikhail Sukhov

Avatar
Date: 8/5/2010
Reply


foreach (var t in this.Trader.GetTransactions(newOrder))
t.ToString()

Thanks:

Mikhail Sukhov

Avatar
Date: 8/5/2010
Reply


И да, если в теле транзакции указано неверное значение, то неверное
значение неправильно передается в QuikTrader.ReRegisterOrder. Вы точно
уверены, что в коде робота новое значение правильно выставляется?

Thanks:

via

Avatar
Date: 8/6/2010
Reply


óÄÅÌÁÌ ÔÁË:
if (!(order.State == OrderStates.Done))
{
this.Trader.ReRegisterOrder(order, newOrder);
foreach (TransactionBuilder tb in
this.Trader.GetTransactions(newOrder))
{
System.IO.File.AppendAllText("D:\\TestFile.txt", tb.ToString()
+ "\r\n\r\n");
}

÷ ÆÁÊÌÅ:
ACTION=MOVE_ORDERS; TRANS_ID=48258208; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041538286;
FIRST_ORDER_NEW_PRICE=4530; FIRST_ORDER_NEW_QUANTITY=20;

ACTION=MOVE_ORDERS; TRANS_ID=48258209; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041538521;
FIRST_ORDER_NEW_PRICE=4525; FIRST_ORDER_NEW_QUANTITY=20;

ACTION=MOVE_ORDERS; TRANS_ID=48258210; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041539084;
FIRST_ORDER_NEW_PRICE=4520; FIRST_ORDER_NEW_QUANTITY=20;

÷ ÔÏ ×ÒÅÍÑ ËÁË ÄÏ ÜÔÏÇÏ 1 ÌÏÔ ÂÙÌ "ÏÔËÕÛÅÎ" É ÐÅÒÅÓÔÁ×ÌÑÅÔÓÑ 19 ÌÏÔÏ×.
ãÅÎÁ ÍÅÎÑÅÔÓÑ ×ÅÒÎÏ, ÏÂß£Í - ÎÅÔ :((( ðÏÞÅÍÕ ÍÏÖÅÔ ÔÁË ÂÙÔØ?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/9/2010
Reply


Ничего не понял из-за неправильной кодировки.

Thanks:

via

Avatar
Date: 8/9/2010
Reply


óÄÅÌÁÌ ÔÁË:
if (!(order.State == OrderStates.Done))
{
this.Trader.ReRegisterOrder(order, newOrder);
foreach (TransactionBuilder tb in
this.Trader.GetTransactions(newOrder))
{
System.IO.File.AppendAllText("D:\\TestFile.txt",
tb.ToString()
+ "\r\n\r\n");
}

÷ ÆÁÊÌÅ:
ACTION=MOVE_ORDERS; TRANS_ID=48258208; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041538286;
FIRST_ORDER_NEW_PRICE=4530; FIRST_ORDER_NEW_QUANTITY=20;

ACTION=MOVE_ORDERS; TRANS_ID=48258209; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041538521;
FIRST_ORDER_NEW_PRICE=4525; FIRST_ORDER_NEW_QUANTITY=20;

ACTION=MOVE_ORDERS; TRANS_ID=48258210; CLASSCODE=SPBOPT;
SECCODE=RI155000BI0; MODE=0; FIRST_ORDER_NUMBER=2041539084;
FIRST_ORDER_NEW_PRICE=4520; FIRST_ORDER_NEW_QUANTITY=20;

÷ ÒÅÁÌØÎÏÓÔÉ 1 ÌÏÔ ÂÙÌ "ÏÔËÕÛÅÎ" É ÐÅÒÅÓÔÁ×ÌÑÅÔÓÑ 19 ÌÏÔÏ×.
ãÅÎÁ ÍÅÎÑÅÔÓÑ ×ÅÒÎÏ, ÏÂß£Í - ÎÅÔ :((( ðÏÞÅÍÕ ÍÏÖÅÔ ÔÁË ÂÙÔØ?
Thanks:

Mikhail Sukhov

Avatar
Date: 8/9/2010
Reply


Вы можете еще сделать вывод объема перед изменением заявки?

File.AppendAllText(newOrder.Volume);
ReRegister

Thanks:

via

Avatar
Date: 8/10/2010
Reply


Не понимаю что тут с кодировкой... У меня после отправки отображается
нормально, а на след. день портится. Объём попробую вывести.
Thanks:


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

loading
clippy