Решил запустить свой бэктестинг на версии 4.2.2.16 с использованием RegisterMarketDepth и TrendMarketDepthGenerator. (Изначально написан на 4.2.2.6). Результат - PnL изменился в 3(!!!) раза: с 6000 пунктов на контракт (4.2.2.6) до 2100 (4.2.2.16)
Программа идентичная, отличие только в использовании RegisterMarketDepth и TrendMarketDepthGenerator и версиях S#:
- Тиковые данные
- 600 трейдов
- 1 контракт RIH4
- все сделки "по-рынку"
Ожидание - трейды будут иметь одинаковый timestamp, но во втором случае с включенными стаканами цена будет хуже как минимум на bid/ask spread (среднее около 11-14 на RIH4)
Выгрузил трейды, начал изучать:
- Timestamps на этих бэктестах не совпадают (!!!)
- Разница некоторых трейдов может быть несколько минут по времени! Сигналы на вход только от тиков, MD не должна влиять.
- Количество трейдов не совпадает
- Часто без стаканов трейды имеют хуже цену, чем со стаканами. Как это может быть если все сделки "по-рынку"
- Пропущенные трейды...
У меня одного такие чудеса?
P.S. Как уже писалось, состояние connector.IsFinished не наступает, память продолжает жраться после предполагаемого конца теста (когда пришли последние данные из хранилища)
Comentários (1)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Собственно, заметил, что результаты с 4.2.2.6 нифига не комплементарны при использовании Renko. И таки да, IsFinished не наступает. Логи прилагаю. Так же обратил внимание, что у меня только 2 нити из 10-ти порождаются всегда при добавлении в баскеттрейдера и запуска отдельным таском. Хз почему, может, вопрос в длине свечи, но всё равно странно, с этим буду разбираться сам. Насчёт логов - смотрите в прикреплённом архиве.