Как тестировать торговые системы форекс?

Тестирование должно быть максимально корректным, объективным и не оставлять поля деятельности для домыслов и иллюзий. Последнее обстоятельство, намного важнее чем кажется на первый взгляд. Всегда имеется соблазн выдать желаемое за действительное. Если вы получили в тесте красивую кривую роста депозита и потрясающие параметры прибыльности, но при незначительном изменении одного единственного параметра вся картина разваливается, то возникает соблазн это как бы не заметить. Этого нельзя допускать. Надо быть честным самим с собой. По этой же причине не сильно доверяйте предварительному тестированию «глазами», при визуальной идентификации входов и выходов непосредственно на графике цены или индикаторах. Вы всегда невольно будете завышать прибыли и занижать убытки от наблюдаемых сделок. Результат автоматического теста может вас сильно разочаровать. Есть несколько основных требований к процессу тестирования торговых систем на форекс.

Правило первое.

При разработке и тестировании систем не используйте нулевой бар т.е. тот бар который находится в стадии формирования. Используете только уже сформированные бары. Даже при тестировании по всем тикам вы не можете быть уверенным в истинности котировок внутри ценового бара, что является предпосылкой для серьёзного искажения результатов теста.

Правило второе.

Позаботьтесь о качестве используемых при тестировании котировок. Убедитесь, чтобы в них не было «дыр». Котировки можно скачать непосредственно с торгового сервера ДЦ, можно найти в свободном доступе на форумах. Некоторые ДЦ выкладывают архивы котировок на своих сайтах. По своему опыту могу сказать, что на котировках одного и того же инструмента, полученных из разных источников можно получить совершенно разные результаты тестирования. В любом случае прежде чем начинать серьезное тестирование и оптимизацию проверьте котировки визуально, «дыры» и «битые» участки будут видны. Котировки по основным валютным парам можно скачать в разделе Архив котировок.

Правило третье.

Период тестирования должен охватывать максимально возможный временной интервал. Не менее 5-6 лет. Это важно с точки зрения охвата как можно большего диапазона поведений рынка, с целью улучшения его предсказуемости в форвард- тесте или реальной работе. Кроме того, от длины тестового интервала зависит и количество сделок, которых должно быть как можно больше. Подробнее о необходимом количестве сделок можно узнать в разделе Сколько должно быть сделок?

Правило четвертое.

Наиболее объективный метод тестирования- по всем тикам. Однако он же самый затратный по времени. Если вы проводите оптимизацию нескольких параметров, то такое тестирование займёт у вас несколько часов или даже сутки. Системы построенные с использованием только сформированных баров можно тестировать и оптимизировать не прибегая к этому методу. Достаточно по завершению оптимизации устраивать контрольный прогон по всем тикам. Результат не должен сильно отличаться. 

Правило пятое.

Параметры торговой системы, заданные вами в тесте не должны противоречить  свойствам инструмента (символа) на котором осуществляется тестирование. Речь идет об уровнях StopLoss, TakeProfit, а также размерах лотов. Каждая валютная пара имеет индивидуальный уровень стопов, спрэд, минимальный размер контракта и т.д. Посмотреть их значение можно в терминале МетаТрейдера: "Обзор рынка” – "Символы” – "Свойства”.    

 

Если установки стопов или размеры лотов в вашем тесте превосходят эти значения, тестирование будет проходить с ошибками, наиболее распространённые из которых:
  • 130 - Invalid stops (неправильные стопы).
  • 131 - Invalid trade volume (неправильный торговый объём).
В "ненормальных” рыночных условия (например сильные ценовые движения после выхода важных макроэкономических новостей) уровни стопов и спрэд могут изменяться в сторону увеличения. Если вы проводите тест в такие периоды, ориентируясь на свойства символа в нормальных рыночных условиях, тестирование также может проходить с ошибками.
Некоторые ДЦ (например "Альпари”) имеют плавающий спрэд, например по паре EURUSD в нормальных рыночных спрэд может колебаться от 0,5 до 1,8 пунктов в течении нескольких минут. Если ваш терминал подключен к серверу ДЦ и вы проводите тестирование, то результаты тестов при одних и тех же параметрах будут отличаться, особенно сильно в  торговых система с малым значение матожидания выигрыша.

Правило шестое.

Самый ценный участок истории котировок- последний год. На нём надо проводить «слепое» тестирование, его по другому называют «тестированием за пределами выборки». Разрабатываете вашу систему на начальном участке данных (4-5 лет) и затем тестируете без изменения то, что вы считаете вашей лучшей комбинацией параметров и правил на более свежем вре­менном периоде (последний год). Если результат не устраивает- процесс повторяется. Этим вы минимизируете вероятность подгонки. Торговая система, подвергаемая простому тестированию или оптимизации без «слепого» тестиро­вания, скорее всего будет обречена на провал.            

Правило седьмое.

Тестирование входов и выходов торговой системы надо проводить отдельно. Несмотря на то, что систе­ма по своему составу и определению есть совокупность взаимосвязанных частей, и кажется разумным, что она должна тестироваться в комплексе, существует проблема, заключающаяся в том, что один элемент системы может улучшать или ухудшать результаты относительно остальных. У вас может быть прекрасный метод вхождений, однако, если у вас слабые выходы, это забракует ваши вхождения вместе с оставшей­ся частью системы. Изолировать выходы от входов можно, например, используя простой выход по времени, скажем через 5, 10 или 15 свечей после входа.

Другие статьи по теме:
Как протестировать советник форекс?
Выбор периода тестирования торговой системы.
Зачем тестировать торговую систему?