Качество истории кастомного символа в тестере.

 

Есть 2 символа BTCUSDT.fut и LTCUSDT.fut

Делаю кастомный символ по формуле sym1/sym2.

Запускаю тест и получаю качество истории 0%. 
Значит    CustomSymbolSetString(sym, SYMBOL_FORMULA, formula); использует что ? 

Подозреваю, что искусственные бары, созданные метатрейдером, что подтверждается постоянным спредом для каждого минутного бара. Как улучшить качество кастомного символа ? 

По идее использовать CopyTicks.  Но надо их как то синхронизировать. Вопрос как ?! 



 
Dmitiry Ananiev:

Есть 2 символа BTCUSDT.fut и LTCUSDT.fut

Делаю кастомный символ по формуле sym1/sym2.

Запускаю тест и получаю качество истории 0%. 
Значит    CustomSymbolSetString(sym, SYMBOL_FORMULA, formula); использует что ? 

Подозреваю, что искусственные бары, созданные метатрейдером, что подтверждается постоянным спредом для каждого минутного бара. Как улучшить качество кастомного символа ? 

По идее использовать CopyTicks.  Но надо их как то синхронизировать. Вопрос как ?! 

На выходе действительно получится синтетик чьи high/low баров не синхронизированы друг с другом. Это будет видно на графике: синтетик будет волосатым. Торговать такой нельзя, если эксперт закладывается на экстремумы/минимумы баров. Если эксперт использует только цены открытия/закрытия - то исопльзовать в принципе можно.

Еще один способ, просто перебратся на более крупный таймфрем. Если м1 исходные данные, достаточно м5 что бы восстановить синхронизацию.

Какество истории - это справочная метрика. Она особо ни о чем не говорит. Самый качественный и надежный режим тестирования "режим на основе сформировавшихся баров" - при этом метрика "качество" там даже отсутствует.