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

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


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

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

if (size > 0) { newOrder = new Order ; // проверяем объём if (size >= 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;


Теги:


Спасибо:


via

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


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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

via

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


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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

via

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


óÄÅÌÁÌ ÔÁË: 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 ÌÏÔÏ×. ãÅÎÁ ÍÅÎÑÅÔÓÑ ×ÅÒÎÏ, ÏÂß£Í - ÎÅÔ :((( ðÏÞÅÍÕ ÍÏÖÅÔ ÔÁË ÂÙÔØ?

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

via

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


óÄÅÌÁÌ ÔÁË: 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 ÌÏÔÏ×. ãÅÎÁ ÍÅÎÑÅÔÓÑ ×ÅÒÎÏ, ÏÂß£Í - ÎÅÔ :((( ðÏÞÅÍÕ ÍÏÖÅÔ ÔÁË ÂÙÔØ?

Спасибо:

Mikhail Sukhov

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


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

File.AppendAllText(newOrder.Volume); ReRegister

Спасибо:

via

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


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

Спасибо:


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

loading
clippy