Имитация исполнения сделки в обычном коннекторе


Имитация исполнения сделки в обычном коннекторе
Atom
1/22/2018


Здравствуйте.

Есть необходимость запускать в одном роботе как тестовые стратегии (что-то вроде RealTimeEmulationTrader), так и рабочие. Пробовал когда-то давно создавать одновременно два коннектора (один обычный, а другой RealTimeEmulationTrader), но одновременно они работать не захотели. Запуск двух разных роботов с разными коннекторами, тоже нужного результата не дает (первый при запуске второго отключается от терминала и наоборот). Как можно в обычном коннекторе имитировать исполнение заявки как это делается в RealTimeEmulationTrader?



Thanks:


< 1 2 
Георгий

Avatar
Date: 12/3/2018
Reply


Support Go to
Добрый день. Ошибка исправлена в версии 4.4.5.4


Здравствуйте.

В 4.4.15 не работает одновременно обычный коннектор к Quik и RealTimeEmulationTrader. После подключения обычного коннектора, если вызвать подключение RealTimeEmulationTrader, то выдается ошибка. Если же подключение не вызывать, то RealTimeEmulationTrader остается в состоянии Disconnected, хотя основной коннектор подключился.
Thanks:

Support

Avatar
Date: 12/4/2018
Reply


Добрый день

Спасибо за ваш отчёт. Пожалуйста, приведите текст ошибки.
Thanks:

Георгий

Avatar
Date: 12/4/2018
Reply


Текст ошибки:
Thanks:

Support

Avatar
Date: 12/10/2018
Reply


Добрый день

Ошибка не подтвердилась. Проверка была на примере SampleRealtimeEmulation
Thanks: Георгий

Георгий

Avatar
Date: 12/16/2018
Reply


Спасибо. Нашел в чем у меня были грабли. Теперь работает. Еще возникло два вопроса:
1) Не совсем понятно за что отвечает флаг ownAdapter в RealTimeEmulationTrader. У меня если его не поставить в false, то не работает. Подключение прописываю в коде, а не так как это делается в SampleRealtimeEmulation
2) Если я хочу чтобы одна страта работала на нормальном коннекторе, а другая на реалтайм эмуляторе, то надо в явном виде в страту коннектор передавать или правильно как-то по другому делать?
Thanks:

Георгий

Avatar
Date: 12/17/2018
Reply


Чтобы воспроизвести ошибку на примере RealTimeEmulationTrader нужно: в настройках подключения добавить "Quik Lua. Trabsactions" и "Quik Lua. Market Data", в коде в строке
Code
_emuConnector = new RealTimeEmulationTrader<IMessageAdapter>(_realConnector.MarketDataAdapter ?? new PassThroughMessageAdapter(new IncrementalIdGenerator()), _emuPf, false);

удаляем false в конце, т.е. должно быть
Code
_emuConnector = new RealTimeEmulationTrader<IMessageAdapter>(_realConnector.MarketDataAdapter ?? new PassThroughMessageAdapter(new IncrementalIdGenerator()), _emuPf);

Запускаем. Ошибка:
Thanks:

Support

Avatar
Date: 12/17/2018
Reply


Добрый день

Параметр ownAdapter указывает, будет ли эмулятор контролировать время жизни реального подключения. В вашем случае он должен быть false, так как у вас есть ещё и реальная торговля.
Thanks:
< 1 2 

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

loading
clippy