← Zurück

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

Не снимаются ранее выставленные заявки. После отмены каждой ранее выставленной заявки внутри сообщения 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”.

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

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

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

Liberal
Liberal Autor

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

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

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

Макс
Макс

Alexander Mukhanchikov: Попробуйте отключить поток FORTS_VM_REPL Подскажите ка это сделать?

Liberal
Liberal Autor

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

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

Alexander
Alexander

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

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

Удалить просто

trader.Tables.Remove(trader.TableRegistry.VarMarginFuture);
trader.Tables.Remove(trader.TableRegistry.VarMarginOption);
esper
esper

Проекта под рукой нет, но примерно так:

trader.Streams.Remove(trader.StreamRegistry.VarMargin);

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