Как трейдеру тестировать торговые системы форекс?
! Внимание !
Статья ориентирована, в первую очередь, на платформы Метатрейдер 4 (и МТ 5). Но изложенные общие принципы применимы для тестинга на любых торговых терминалах.
—
Тестирование должно быть максимально корректным, объективным и не оставлять поля деятельности для домыслов и иллюзий. Последнее обстоятельство, намного важнее чем кажется на первый взгляд. Всегда имеется соблазн выдать желаемое за действительное.
Если вы получили в тесте красивую кривую роста депозита и потрясающие параметры прибыльности, но при незначительном изменении одного единственного параметра вся картина разваливается, то возникает соблазн не заметить эту «мелочь».
Этого нельзя допускать. Надо быть честным самим с собой. По этой же причине не сильно доверяйте предварительному тестированию «глазами», при визуальной идентификации входов и выходов непосредственно на графике цены или индикаторах.
Вы всегда невольно будете завышать прибыли и занижать убытки от наблюдаемых сделок. Результат автоматического теста может вас сильно разочаровать. Есть несколько основных требований к процессу тестирования торговых систем на форекс.
Правило №1
Не используйте нулевой бар.
При разработке и тестировании систем не используйте нулевой бар т.е. тот бар который находится в стадии формирования. Используете только уже сформированные бары. Даже при тестировании по всем тикам вы не можете быть уверенным в истинности котировок внутри ценового бара, что является предпосылкой для серьёзного искажения результатов теста.
Правило №2
Качественные ценовые данные (архив котировок).
Позаботьтесь о качестве используемых при тестировании котировок. Убедитесь, чтобы в них не было «дыр». Котировки можно скачать непосредственно с торгового сервера ДЦ (вашего форекс брокера), можно найти в свободном доступе на форумах. Некоторые ДЦ выкладывают архивы котировок на своих сайтах.
По своему опыту могу сказать, что на котировках одного и того же инструмента, полученных из разных источников можно получить совершенно разные результаты тестирования. В любом случае прежде чем начинать серьезное тестирование и оптимизацию проверьте котировки визуально, «дыры» и «битые» участки будут видны. Котировки по основным валютным парам можно скачать в разделе
Правило №3
Большой временной интервал для теста.
Период тестирования должен охватывать максимально возможный временной интервал. Не менее 5-6 лет для внутридневных систем, и не менее 10 лет для роботов торгующих на дневках.
Это важно с точки зрения охвата как можно большего диапазона поведений рынка, с целью улучшения его предсказуемости в форвард- тесте или реальной работе. Кроме того, от длины тестового интервала зависит и количество сделок, которых должно быть как можно больше. Подробнее о необходимом количестве сделок можно узнать в разделе
! Добавить ссылку !
Сколько должно быть сделок?
Правило №4
Метод тестирования по «всем тикам».
Наиболее объективный метод тестирования- по всем тикам. Однако он же самый затратный по времени. Если вы проводите оптимизацию нескольких параметров, то такое тестирование займёт у вас несколько часов или даже сутки.
Системы построенные с использованием только сформированных баров можно тестировать и оптимизировать не прибегая к этому методу. Достаточно по завершению оптимизации устраивать контрольный прогон по всем тикам. Результат не должен сильно отличаться.
Все мои системы разработаны так, что бы не использовать нулевой бар + используются достаточно длинные стоп-лоссы. Следовательно, по системы можно тестить «по ценам открытия», что сократит время тестирования в десятки раз!
Правило №5
Учитывайте ночной банковский ролловер и время выхода важных новостей.
Очень важно, что бы точки входа и выхода ваших торговых систем не попадали на время выхода важных новостей и на время межбанковского ролл-овера (это время, примерно, с 1-00 до 2-00).
Т.к. в это время возникают «ненормальные» торговые условия.
В «ненормальных” рыночных условия (например сильные ценовые движения после выхода важных макроэкономических новостей) уровни стопов и спрэд изменяются в сторону увеличения. Стоп-лоссы (и стоповые ордера) исполняются с большим проскальзованием (т.е. по гораздо худшим ценам, чем те, которые мы указываем в ордере).
Некоторые Брокеры (например «Робофорекс”) имеют плавающий спрэд, например по паре EURUSD в нормальных рыночных спрэд может колебаться от 0,5 до 1,8 пунктов в течении нескольких минут.
Во время выхода новостей, спред может увеличиться в 2-3 раза. Тоже самое происходит в банковский ролловер.
! Важные советы!
Читайте в самом конце статьи.
Правило №6
Последний временной интервал (последний год) — самый важный.
Хорошо если система зарабатывал в далёком прошлом (10 лет назад). Но нас интересует настоящее время. Оно более ценно для нас ).
Самый ценный участок истории котировок- последний год. На нём надо проводить «слепое» тестирование, его по другому называют «тестированием за пределами выборки».
Сделайте прогон вашей системы на начальном участке данных (4-5 лет). Затем тестируете без изменения вашу лучшую комбинацию параметров и правил на более свежем временном периоде (последний год).
Если результат не устраивает- процесс повторяется. Этим вы минимизируете вероятность подгонки. Торговая система, подвергаемая простому тестированию или оптимизации без «слепого» тестирования, скорее всего будет обречена на провал.
Правило №7
Входы и выходы (из сделок) тестируйте отдельно.
Тестирование входов и выходов торговой системы надо проводить отдельно. Несмотря на то, что система по своему составу и определению есть совокупность взаимосвязанных частей, и кажется разумным, что она должна тестироваться в комплексе.
Однако, существует проблема, заключающаяся в том, что один элемент системы может улучшать или ухудшать результаты относительно остальных. У вас может быть прекрасный метод входа в рынок, однако, если у вас слабые выходы, это сильно ухудшит общий результат.
!Рекомендация!
Изолировать выходы от входов можно, например, используя простой выход по времени, скажем через 5, 10 или 15 свечей после входа в сделку.
Несколько важных правил, которые помогают мне получить правдоподобные результаты тесто:
- Используйте фиксированный и чуть завышенный спред в настройках тестера стратегий (я ставлю 30 пипсов для всех основных пар -евро, фунт, ауд и т.п.)!
- Старайтесь торговать на спокойном рынке (это утро и вечер по МСК — по московскому времени)
- Избегайте слишком коротких стоп лоссов (их могут выбить при раздвижке спреда)
- Используйте лимитные ордера (что бы избежать «проскальзования» т.е. исполнения по худшим ценам).
При написании статьи использовались материалы сайта:
Серьёзный трейдинг - blog-forex.org
Отличная статья! Очень важно понимать, как правильно тестировать trading-системы, чтобы избежать распространенных ошибок и получить реальные результаты. Особенно понравился акцент на значении выбора качественного исторического данных и времени тестирования.
Также стоит отметить, что тестирование должно включать не только оценку прибыльности, но и анализ рисков. Использование различных периодов и условий поможет получить более полное представление о работе системы.
Спасибо за полезные советы! Этот материал будет полезен как начинающим, так и опытным трейдерам.