так не делается. Есть адекватный вариант тестирования. Берётся год - два котировок. Подбираются параметры. Потом эти параметры проверяются на будущих котировках, которых "не видела " оптимизация. Вот и всё.
Каждый пляшет так как он хочет, есть более продвинутые методы оптимизаций.
Если на руках исходный код, делается отдельная функция, которая подсовывается тестеру стратегий.
К примеру, нам нужен оптимальный сет, что мы делаем, берем какой то участок к примеру год истории, оптимизируем перебором параметров, получаем на выходе сет - но это просто подгонка под историю.
Далее в тестере есть такая функция как форвард тестирование, - Кто не знает можете с ней ознакомится -
Мощный инструмент помогает определить эффективность торгового робота и подобрать наилучшие входные параметры до запуска приложения в торговлю.
www.metatrader5.com
Там найдете.
Вкраце это система позволяющая делить оптимизацию на 2 или более этапов, на одном подбирается сет, на другом отрезке в он прогоняется, если на обоих отрезках результаты положительные, получаем готовый торговый сет.
Можно уже готовый сет прогнать с использованием форвард параметров.
Можно пойти дальше о чем писал выше о функции.
В нее мы вносим сами участки истории к примеру
2016 год с 1 по 3 месяц, потом с 10 по 12 месяц, потом возвращаемся назад с 5 по 7 месяц.
И таких участков прописываем сколько хотим, в конце участка если была позиция прикрываем все за день до окончания участка и все... получается что робот оптимизировал параметры не на голой истории где график шел не отрывно, а мы подсунули тестеру историю из 20-ти самых говнянных периодов истории где все роботы отправляли депозиты на тот свет. На выходе если робот стоящий, он выдаст бомбический сет который будет не убиваемым --- ну это в теории, на практике это нужно проверять в реальной торговле в долгосрочной перспективе.
Думаю нужно будет себе такой модуль создать, вернее расширить уже имеющийся...
Сейчас мы в роботе что я выложил имеем 2 основных параметра для тестера это уровень просадки в % и валюте депозита, что позволяет отсекать весь хлам который выше этих значений и ускорять процесс оптимизации, в будущем можно будет добавить отрезки истории в виде расширенного фильтра времени с датами работы, на которых будет оптимизироваться робот.