Корректная настройка исторического коннектора
Atom Ответить
04.02.2019


Добрый день.

Как заставить коннектор HistoryEmulationConnector

1) Реагировать на изменение стакана, используя исторический ордер лог?
CreateDepthFromOrdersLog = true не помогает. Подсказку про MarketDataMessage не понимаю как применить.
Capture.PNG
2) Реагировать на новые сделки, используя исторический ордер лог?
CreateTradesFromOrdersLog = true не помогает. Аналогично с подсказкой про MarketDataMessage.
3) Реагировать на новые сделки, используя исторический стакан заявок?
Capture.PNG 14,1KB (26)




8 Ответов
Support

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


Добрый день

Вы можете подписаться на стакан через метод https://doc.stocksharp.r..._RegisterMarketDepth.htm указав в нем режим Build.
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 05.02.2019
Ответить


Support Перейти
Добрый день

Вы можете подписаться на стакан через метод https://doc.stocksharp.r..._RegisterMarketDepth.htm указав в нем режим Build.


Для стакана срабатывают правила WhenMarketDepthChanged и WhenNewTrade, если прописать _connector.RegisterMarketDepth(security) и иметь историю по стакану.

Возможно неточно выразился.
У меня история ордер лога.
Прописано
_connector.RegisterOrderLog(security);
_connector.RegisterMarketDepth(security) (пробовал и _connector.RegisterMarketDepth(security, buildMode: MarketDataBuildModes.Build))

Для ордер лога срабатывает только правило WhenNewOrderLogItem, но не срабатывают правила WhenMarketDepthChanged и WhenNewTrade.

1) Получается - историю ордер лога нужно конвертнуть в историю стакана для срабатывания правил WhenMarketDepthChanged и WhenNewTrade?
2) Имея только ордер лог, правила WhenMarketDepthChanged и WhenNewTrade недосягаемы?
Автор топика
Спасибо:

Support

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


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

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 05.02.2019
Ответить


Коннектор


_connector.NewSecurity += Connector_NewSecurity;


_connector.LookupSecuritiesResult += _connector_LookupSecuritiesResult;


В PairTradingStrategy OnStarted()
Автор топика
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 07.02.2019
Ответить


Support Перейти
Пришлите пожалуйста ваш код.

Добрый день.
Код отправил на почту.
Автор топика
Спасибо:

Support

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


Добрый день

Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTesting и без каких либо модификаций он показал и стаканы и тиковые сделки (из которых были построены свечи для стратегии). Поэтому для исторического коннектора указание режима build не требуется.
Спасибо:

Дмитрий Антипов

Фотография
Курсы Благотворитель
Дата: 07.02.2019
Ответить


Support Перейти
Добрый день

Мы протестировали вами ранее присланный ОЛ на нашем примере SampleHistoryTesting и без каких либо модификаций он показал и стаканы и тиковые сделки (из которых были построены свечи для стратегии). Поэтому для исторического коннектора указание режима build не требуется.


В проект SampleHistoryTestingGitHub добавил на строки 506 и 507


И данные события сработали:
Connector_MarketDepthChanged - 2 раза
Connector_NewTrade - 1 раз

Как такое может быть?

Видео приложено. запись_1.webm


Автор топика
Спасибо:

Support

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


Добрый день,

Попробуйте, пожалуйста, данный код

Код
connector.NewOrderLogItem += t => Debug.WriteLine(t);


В случае тестирования на вашем ОЛ событие вызывается постоянно, и через него OrderLogItem.Order.Time можно понять текущее время на истории.
Спасибо:


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

loading
clippy