Как правильно тестировать советник в мт4

Как правильно тестировать советники

В рамках рубрики лаборатория я часто провожу тестирование различных советников.

Говоря по правде, дело это не легкое и требует значительных трудозатрат.

Но я считаю, что каждый трейдер должен уметь проверять свои идеи и теории прежде чем применять их на практике.

Поэтому, сегодня я с вами поделюсь своей методикой тестирования и расскажу о некоторых очень важных нюансах при тестировании советников в мт4.

Подготовка терминала

Первое, что вам понадобиться, это отдельный терминал, настроенный специально для тестов.

Я пользуюсь терминалом от Альпари, т.к. у них есть возможность скачать более-менее качественные котировки, а также нормально выставлено терминальное время.

Открываете демо счет и скачиваете терминал. Его следует установить в директорию где есть минимум 30-50 ГБ свободных, можно и больше. Дело в том, что тиковые котировки занимают много места.

После установки, сперва логинимся на демо счет, а потом отключаем терминал от сети. Для этого: Ctrl + O, а дальше все как на картинке:

Как правильно тестировать советник

Если мы укажем этот сервер, логин и пароль, терминал не сможет подключится к данному прокси серверу, а соответственно он будет «не в сети».

Терминал надо отключить от сети, чтобы в процессе тестирования он случайно не затер качественные котировки, которые мы в него залили.

Кроме того, рекомендую провести визуальные настройки терминала, либо установить готовые шаблоны. Чуть ниже, я объясню зачем это было нужно.

С терминалом закончили, пора заниматься котировками.

Котировки и качество моделирования 99%

Чем больше качество моделирования, тем больше результаты полученных тестов будут похожи на реальную торговлю.

Терминал МТ4 не умеет хранить тиковые котировки, поэтому максимальное, что у вас получится добиться при штатных условиях — это 90%

Для достижения лучшего качества мы будем использовать тиковые котировки от брокера Дукаскопи. А скачать нам их поможет программа TickStory Lite.

→ Руководство по установке программы и настройке качества моделирования 99%.

Что дают тиковые котировки?

Они почти полностью имитируют реальный рынок за исключением проскальзываний и плавающего спреда. То есть, полученные результаты в тестере стратегий будут максимально приближены к реальным.

Итак, мы установили TickStory Lite и проверили работоспособность программы.

Теперь что касается правильного тестирования советников:

При экспорте котировок из TickStory Lite в мт4, в настройках экспорта следует убрать спред и своп:

Убираем спред и своп

Многие спросят: Зачем убирать спред?

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

Когда котировки экспортированы, следует запустить любой советник и проверить качество моделирования. Если оно 99%, значит все ок, можно идти дальше.

Где взять советника?

Не все стратегии поддаются тестированию, но если поставить цель, то можно протестировать что угодно. К примеру, для тестирования открытых позиций трейдеров, мне пришлось сделать так, чтобы терминал мт4 брал данные для тестов с внешнего файла…

Те, у кого уже есть советник, можете пропустить этот раздел и перейти сразу к тестированию.

Те, у кого его нет, могут воспользоваться любым бесплатным, либо скачать вот этот, я его специально разработал для новичков.

Также, не обязательно быть программистом, чтобы написать свой советник. Например, я пользуюсь программой Etasoft Forex Generator в которой и создаю каркасы всех советников, которые тестирую. Она старенькая, но до сих пор работает на отлично.

При разработке советников, важно ставить перед собой правильные цели:

  • Неправильная цель: «Хочу эксперта в основе с этим индикатором + дивергенция, чтобы стабильно работал в плюс»;
  • Правильная цель: «Хочу узнать работает ли этот индикатор, и понять можно ли его применять на практике».

Разница в том,что в первом случае трейдеры обычно зацикливаются и пытаются выжать из эксперта желаемую прибыльность. Но как правило этого не случается.

Допустим, что советник уже есть, перейдем к тестированию.

Правильное тестирование советников

Обычно, перед началом любых тестов, я запускаю этот советник открывающий сделки в случайном направлении. Если его результаты крутятся вокруг нуля — значит терминал и котировки настроены нормально и спред отключен.

Можно приступать к тестированию самого советника:

Шаг 1. Если у вас советник торгующий по какому-либо индикатору, установите этот индикатор на уже подготовленный шаблон графика.

Дальше, ПКМ на графике → Шаблон → Сохранить шаблон. Из списка выбираем tester.tpl, жмем «Ок» и «Заменить».

Это необходимо, чтобы в дальнейшем проверить правильность работы советника.

Шаг 2. Настройте советник, укажите период тестирования, диапазон дат и т.д.:

Как правильно тестировать советники

Шаг 3. Запустите первый тест, нажав кнопку «Старт». Во вкладке «График» должны появится какие-то сделки. Если сделок нет, значит с советником есть какие-то проблемы, подробнее смотрите вкладку «журнал». Если в журнале все хорошо, а сделок все равно нет, значит вы установили нереальные критерии для входа в сделку.

Шаг 4. По завершении теста, нажмите на кнопку «Открыть график». В случае, если вы ранее подготовили шаблон, то у вас откроется график с индикатором по которому торгует советник. Обязательно проверьте правильность входов советника.

Шаг 5. Если советник работает корректно, можно начинать подбор оптимальных настроек. Например, размер SL, TP, лотность, критерии на вход в сделку и т.д. Проводим тесты и выбираем оптимальные параметры.

Шаг 6. Тестируем другие таймфреймы и валютные пары, делаем выводы из полученных данных

Не могу не напомнить, что в тестере мт4 есть функция Оптимизации, но ее мы рассмотрим отдельно, в следующих статьях.

Оценка полученных результатов

Самый важный пункт о котором все обычно забывают.

Перейдите на вкладку «Результаты», ПКМ на любую сделку → Сохранить как отчет.

В результате у вас получится вот такой отчет:

Как тестировать советник

Не будем разбирать все параметры, поговорим о самых важных.

Прибыльность показывает соотношение общей прибыли и общего убытка. Чем больше прибыльность, тем меньше ложных входов генерирует торговая система. Нормальной можно считать прибыльность более 1,10.

Матожидание выигрыша  - средняя прибыль на одну сделку.

Если в советнике использовать фиксированную лотность, величиной в 0,1 лот, матожидание выигрыша будет совпадать с средним количеством пунктов полученных в каждой сделке. Это очень удобно, особенно если сравнивать получится ли у советника покрыть хотя бы размер спреда.

На картинке выше, советник в среднем приносит 4,6 пункта в каждой сделке, что явно больше, чем спред.

Максимальная просадка — максимальный процент потери депозита за все время тестирования. Обще принятая максимальная просадка равна 20%, старайтесь не превышать этот порог.

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

В целом, результаты тестов должны подтверждать либо опровергать ваши теории. Если советник, либо закономерность не рабочая — переходите к следующей, а для себя сделайте заметку, например, что RSI не работает. И так до бесконечности, пока вы не составите прибыльную торговую систему.

  • Владимир

    Здравствуйте, нажимаю на ссылку советника, она не работает — ошибка 404, страница не найдена.

  • Спасибо!

  • Макс

    Спасибо за подробную инструкцию!
    Скажите, в какой программе вы делаете картинки к вашим статьям?

    • В фотошопе обрабатываю, благо есть навыки.

  • Светлана Серова

    Здравствуйте. У меня есть вопрос. При тестировании стратегии, на графике доходности отображается просадка средств. А в детализированном стейте на обычную торговлю она не отображается. В итоге получается, что график никак не отображает плавающий убыток по сделкам, который может достигать серьезных значений. Вопрос: как добавить этот параметр в отчет по сделкам реальной торговли?

    • Этой функции нету в терминале мт4. Для построения кривой «эквити» пользуйтесь сторонними мониторингами по типу myfxbook.