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


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

Код

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,9KB (0)

Теги:


Спасибо:




6 Ответов
Alexander

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


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

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

Liberal

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


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

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


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

Макс

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


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

Подскажите ка это сделать?
Спасибо:

Liberal

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


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

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

esper

Фотография
Программист
Дата: 06.06.2012
Ответить


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

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

Alexander

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


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


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

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


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

loading
clippy