Вечер добрый! Заметил странное поведение в работе тестового сервера ITInvest. Не знаю куда писать сначала - Вам или в ITInvest, решил всё же вам. В общем суть проблемы: я выставляю заявку, например 5 лотов. Затем по надобности меняю эту заяку при помощи ReRegisterOrder.
sended = sellOrder.Clone();
sended.Volume = 3; // уменьшаю число лотов
sended.Price = sellPrice; // меняю цену
logOrder(sended); // для проверки вывожу параметры ордера
ReRegisterOrder(sellOrder, sended);
Заявка до замены не исполнялась даже частично. Инструмент - RIM1, биржа РТС. Т.е. биржа должна поддерживать замену заявки. В ответ на ReRegisterOrder в OnNewOrders приходит новая зявка с новым id. В объекте Order указан верный объём и верная цена. Список Order.Messages пуст. Ошибок ни в OrdersFailed ни в ProcessDataError не возникает. Из всего этого я делаю вывод, что замена заявки принята сервером.
Однако, заявка на сервере не меняется! Точнее меняется только её id, а не число лотов! Во-первых, это видно в параллельно запущенном SmartTrader-е, во-вторых когда заявка (уже с новым Id) исполняется, то исполняется то число лотов которые было в первой заявке - т.е. 5.
Почему такое может быть?
コメント (1)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Ответили здесь.