Тестер стратегий не использует всю доступную историю

 

Всем привет! Прошу подсказать, что за глюк вылез. При тестировании советников используется только последняя 1000 баров, т.е., например, ставлю дату тестирования 6 марта при PERIOD_М30 - используются котировки только примерно с 6 февраля (1000 баров), переключаю таймфрейм на PERIOD_М15 - уже используется история с 18 февраля - опять 1000 баров.

При этом никаких настроек не менял, история загружена для всех ТФ с 2001 года, в настройках число отображаемых баров на графике - максимум.

Тестирую давно - никаких проблем таких ни разу не было.... что делать???

 
delfik71091:

Тестирую давно - никаких проблем таких ни разу не было.... что делать???

Насколько давно тестируете? Ведь такое поведение МТ4 заложено с самого его начала его появления (с 2005-го года). Перед датой начала тестирования по умолчанию загружается ровно 1000 баров.

Если хотите получать большее количество баров, то нужно самому подготавливать fxt-файл, устанавливая количество баров перед датой теста. Пример того, как это делается, можно посмотреть в моем скрипте FXTFileMaker.  

 
Scriptong:

Насколько давно тестируете?

Месяца два-три уже точно, и в историю также глубоко лазил для анализа. Один и тот же код использовал, вдруг вчера появилась ошибка деление на ноль, перекопал весь код, вставил кучу проверок, хотя ноля там в принципе нигде быть не могло (только если бар не найден), оказалось, при поиске локальных минимумов не хватает котировок с меньшими минимумами. Думал, тестер глюкнул, перезагрузил, не помогло. При этом,  даже период тестирования не менял. Поэтому и в непонятках.
 
И даже при тестировании в режиме визуализации раньше нажимал home - график улетал на 2001 год,  а теперь улетает только на месяц назад. Никаких дополнительных настроек не делал специально, установщик качаю и устанавливаю с сайта, обновляется каждый раз, как его душе будет угодно (вчера не обновлялся).
 
Scriptong:  Пример того, как это делается, можно посмотреть в моем скрипте FXTFileMaker.  
Мда, далеко мне до Вашего уровня в программировании:) буду разбираться! Спасибо!
 

Я делал так, когда требовалось потестить индюк с глубокой историей.

if(Bars < 500000)return 0;
Смысл в том что тестер подгружает историю по мере тестирования, и как только в истории баров наберётся допустим 500 тыс советник начнёт работать, если ему нужна история поглубже.
 
PozitiF:

Я делал так, когда требовалось потестить индюк с глубокой историей.

Смысл в том что тестер подгружает историю по мере тестирования, и как только в истории баров наберётся допустим 500 тыс советник начнёт работать, если ему нужна история поглубже.
Как всегда, все гениальное просто! спасибо!
Причина обращения: