Программ для тестирования много. Как-то начал считать, дошел до цифры 33 (https://smart-lab.ru/blog/236254.php).
Но, сколько бы их ни было, все равно чего-то не хватает: то танцы с бубном со входными данными, то отсутствие какого-нибудь функционала, то проблемы с установкой самой программы ТА, «то полы кривые» и т.д.
Поэтому создал свой тестер, на c#, назвал Xtest.
Вкратце напишу про то, как он работает на примере индекса Московской биржи (ранее — индекс ММВБ).
Стратегия простая:
Покупаем, когда начался рост. Продаем либо по стопу, либо по тэйк-профиту.
Для шорта — зеркально.
Для входа в позицию выбрал простой индикатор, рассказывать про него не буду, поверьте, он банальный. Одна переменная, назвал Param1.
Выходы: будем подбирать stopLoss, takeProfit и SLforTP (stopLoss для takeProfit), они в блоке «Strategy Parameters» на вкладке Parameters.
Загрузка данных с сайта Финам: идем на вкладку «DownLoad», выбираем даты «с» и «по», нажимаем «загрузить». Для 15-минуток диапазон — 01.01.2010-31.12.2013 (больше может не пройти).
Недостающие данные добавляем до сегодняшней даты на втором этапе.

Тестирование проведем в два шага:
1. Тестирование на периоде 01.01.2010 — 31.12.2016, с фильтром Profit > 2000 и Recovery Factor > 3.
На выходе: 4311 вариантов.
Количество прогонов в данном случае 63840, комиссию принимаем за 0.2 (включены биржевые и брокерские, плюс проскальзывание)

Форвардный анализ добавляет к традиционной процедуре оптимизации очень важный шаг. Он тестирует
эффективность переменных модели на данных, которые не были включены в оптимизационные данные. Это
также называется тестированием на данных, не вошедших в выборку или форвардным тестированием.
Р. Пардо «Разработка, тестирование и оптимизация торговых систем»
2. К полученному набору параметров применяем форвардное тестирование на периоде 01.01.2017 — 10.12.2017, с фильтром Profit > 500 и Recovery Factor > 1.0.
Получаем 746 вариантов.

Эти наборы параметров протестируем на всех имеющихся сейчас барах с 01.01.2010 — 10.12.2017 и из них отберем вручную 5 самых лучших вариантов, следя за тем, чтобы не было корреляции между ними. Процесс творческий, поддающийся автоматизации, но это сейчас несущественно.
Главное — есть у нас 5 вариантов стратегий:
которые можно исследовать как поврозь, так и все вместе.
Посмотрим на характеристики одного теста:

Количество сделок Long и Short примерно одинаковы, но Profit по лонгам выше, ведь стратегия «Buy and Hold» = 737.23, значит показатели скорее верны, чем не верны.
Значение комиссии 933.2 — в пунктах, поэтому, теоретически, при количестве сделок 2333*2 = 4666 в рублях комиссия составляет более 9 тысяч.
Для построения графика Equity портфеля стратегий сначала выделяем их, затем нажимаем кнопку «Testsel»

и на соответствующей вкладке увидим график:

До полного расчета результатов вкладки «Performanse» для выбранных стратегий запала не хватило.
На примере тестирования на индексе Московской биржи показал свой подход к поиску стратегий для алготорговли.
Примечательно, что стратегий, которые прошли через сито форвардного тестирования, очень и очень много (746 в данном случае).
Выделить из них десяток-другой некоррелируемых стратегий будет несложно, но зато на выходе — слаженный ансамбль, который в общем (теоретически, на индексе Мосбиржи!) может выдавать плюсовой результат с плавным графиком equity.
сделка 207,215, 217 и тд и тп… время 10.30 — торгует на открытии рынка… что унреал
т.е у тя идет торговля внутри гэпов
Спасибо, гляну.
Хотя на каждую «сделку» проскальзывание предусмотрено 1.11, но замечание справедливое.
Какой информацией Вы хотели поделиться с читателями?
Чтобы Вы не подумали, что я просто придраться решил, объясняю:
Для тестирования своих стратегий, мне тоже пришлось написать свой тестер, но это отдельная программа, которая может тестировать разные стратегии, подключаемые в виде DLL-ок. Писать отдельный тестер под каждую стратегию — не самый оптимальный вариант на мой взгляд.