Не снимаются ранее выставленные заявки

Не снимаются ранее выставленные заявки
Atom
6/5/2012
Liberal


Не снимаются ранее выставленные заявки. После отмены каждой ранее выставленной заявки внутри сообщения trader.NewOrders, срабатывает сообщение trader.OrdersCancelFailed. В консоль выводится: "Произошла ошибка. Код 14, описание 'Не найдена заявка для удаления'."

Code

trader.NewOrders += (orders) =>
            {
               orders.ForEach(trader.CancelOrder);
            };

trader.OrdersCancelFailed += (err) =>
            {
                string msg = err.FirstOrDefault().Error.Message;
                Console.WriteLine(msg);
            };

trader.StartExport();

Версия S#: commit 17567. Версия роутера: 1.14.1_32. Лог роутера прилагается.

Эти заявки видны и в SampleGUI, но точно так же отменить их невозможно.
При выборе заявки не активна кнопка “Снять заявку”. Активна только кнопка “Снять все заявки”. Но ее нажатие ни к чему не приводит.

При запуске SampleGUI соединение нормально устанавливается (видны инструменты и ранее созданные заявки), но при этом выскакивает ислкючение: ”Поток FORTS_VM_REPL выбросил ошибку. Couldn’t open baseless repl datastream”.
Лог.txt 513 KB (437)

Tags:


Thanks:


Alexander

Avatar
Date: 6/6/2012
Reply


Попробуйте отключить поток FORTS_VM_REPL

Это тестовый или основной? Через Samplegui тоже не отменяет заявку?
Thanks:

Liberal

Avatar
Date: 6/6/2012
Reply


Alexander Mukhanchikov
Попробуйте отключить поток FORTS_VM_REPL

Это тестовый или основной? Через Samplegui тоже не отменяет заявку?


Тестовый. Да, через Sample GUI заявки тоже не отменяются.
Thanks:

Макс

Avatar
Date: 6/6/2012
Reply


Alexander Mukhanchikov
Попробуйте отключить поток FORTS_VM_REPL

Подскажите ка это сделать?
Thanks:

Liberal

Avatar
Date: 6/6/2012
Reply


Кажется, я разобрался. При отмене заявки она остается. Только ее состояние переходит из Active в Done. Но при этом при запуске программы все равно продолжают вызываться события Trader.NewOrders. А раз в сутки, видимо при наступлении следующей торговой сессии, эти заявки “стираются” из памяти сервера и событие Trader.NewOrders для них перестает вызываться.

Присоединяюсь к вопросу Макса. Как отключить поток FORTS_VM_REPL?
Thanks:

esper

Avatar
Date: 6/6/2012
Reply


Проекта под рукой нет, но примерно так:
Code
trader.Streams.Remove(trader.StreamRegistry.VarMargin);

это все перед коннектом и стартом экспорта.
Thanks:

Alexander

Avatar
Date: 6/6/2012
Reply


Liberal
Кажется, я разобрался. При отмене заявки она остается. Только ее состояние переходит из Active в Done. Но при этом при запуске программы все равно продолжают вызываться события Trader.NewOrders. А раз в сутки, видимо при наступлении следующей торговой сессии, эти заявки “стираются” из памяти сервера и событие Trader.NewOrders для них перестает вызываться


Совершенно верно. Это стандартное поведение - вы прокачиваете историю, для истории вызываются все события.

Удалить просто
Code
trader.Tables.Remove(trader.TableRegistry.VarMarginFuture);
trader.Tables.Remove(trader.TableRegistry.VarMarginOption);
Thanks: Макс Liberal


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

loading
clippy