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


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


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

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



Спасибо:


< 1 2 
Георгий

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


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


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

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

Support

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


Добрый день

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

Георгий

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


Текст ошибки:
Спасибо:

Support

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


Добрый день

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

Георгий

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


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

Георгий

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


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

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

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

Support

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


Добрый день

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

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

loading
clippy