Как тестировать советники в MT4 правильно? Автоматическое тестирование стратегий на Форекс
Приветствую, вебинвесторы! В этой статье мы продолжаем тему инвестиций через Форекс советники. Надеюсь, вы читали вводную статью? Там вы должны были узнать в общих чертах о том, что такое советник и как их искать на просторах Интернета.
В этой статье вы узнаете о том, как протестировать советника в MT4.
Итак, вы скачали Форекс советник и хотите узнать, способен ли он приносить доход. В первую очередь его надо проверить в “Тестере стратегий”:
Среди трейдеров распространено мнение, что доверять тестам нельзя, годятся только результаты на реальном торговом счёте. Так ли это?
Увы, тестер стратегий для mt4 не дает высокой точности. Даже используя самые лучшие котировки и 99% точность тестирования нельзя добиться близких к реальным результатов, потому что в тестере стратегий Форекс не учитываются некоторые «фишки» реальной торговли:
- плавающий спред;
- скорость исполнения ордеров;
- проскальзывание.
С другой стороны, насколько это все влияет на результаты торгового робота? Тут простое правило — чем больше сделок и чем меньше таймфрейм — тем выше влияние «технических» моментов. Лучше тестируются советники с долгосрочными стратегиями, а скальперы лучше сразу ставить на реал.
Короче, тестер стратегий для MT4 — хороший инструмент для общей оценки советника, но не для прогнозирования его работы. Как им правильно пользоваться — читайте дальше.
Кстати, поскольку я сам активно занимаюсь поиском советников, у меня накопилось немало интересных находок. Все они находятся на специальном сетевом складе, доступ к которому можно получить с помощью формы ниже:
Как говорится, пользуйтесь на здоровье! А теперь переходим к самой статье, содержание:
- Настраиваем Metatrader и котировки
- Как протестировать советника в MT4
- Анализ результатов тестирования
- Сохранение тестов для дальнейшего использования
- Подготовка к форвард-тестированию
- Анализ мониторинга на реальном счёте
Настраиваем Metatrader и котировки
Качественный тест советника для рынка Форекс напрямую зависит от качества котировок, которые вы используете. Путем некоторых манипуляций реально получить точность 99.9%, но это предмет отдельной статьи.
В этой статье вы узнаете о быстром способе получить точность 90%, которой с головой хватает для грубой оценки возможностей советника.
Совет: храните найденные в Интернете советники и котировки в отдельном Metatrader. Для этого просто скопируйте папку с программой в другое место и переименуйте папку. Запускается новый МТ4 как всегда через terminal.exe.
Где скачать котировки для MT4? Есть два способа:
- прямо с серверов брокера;
- из Интернета в виде файла.
Способ №1. Качаем котировки через Metatrader.
К сожалению, не у каждого брокера реализована подобная возможность. По умолчанию программа предлагает скачать котировки от разработчиков Metatrader — компании Metaquotes, и они не очень качественные.
В Alpari такая возможность есть. Качаем Metatrader, открываем его, ищем “Сервис” => “Архив котировок”:
Появится окно, в котором надо выбрать валютную пару, например евродоллар. Нажимаем “Загрузить” и за пару минут получаем более 5 миллионов записей.
Нажимаем “Загрузить” еще раз, чтобы докачать записи, которые почему-то в первый раз не появились. Это стоит делать каждый раз, и только когда появится сообщение:
все будет ок. Для других пар процедура не отличается.
Способ 2. Котировки из Интернета.
В этом случае нам нужен Метатрейдер без подключения к серверу.
Для этого качаем программу, открываем любой счет у нужного брокера и заходим в терминал. Так мы получим настройки, которые используются в советниках.
Когда все сделано, разлогиниваемся и забываем о торговом счете. Метатрейдер теперь будет всегда отключен от сервера, чтобы котировки которые мы скачаем дальше не смешивались с новыми.
Дальше, удаляем файлы .hst — Файл => Открыть каталог данных:
.hst файлы вы найдете в history/ “Имя сервера”, в нашем случае это Alpari-ECN1:
Чистим папку от всех файлов с названием EURUSD.
Скачать котировки чаще всего можно на сайте брокера, иногда трейдеры делятся своими на форумах. В качестве примера, найдем их на сайте (уже почившего) брокера RVD Markets:
Указываем минутный таймфрейм и период, за который нам нужны котировки. Можно сразу скачать файл .hst (который мы ранее удаляли), так и поступим. Качаем архив котировок для MT4 и закидываем его обратно в history/ “Имя сервера”. Перезапускаем терминал.
Мы скачали минутки, но чтобы получить остальные таймфреймы, можно воспользоваться полезным скриптом Period_Converter.
Перед использованием скрипта надо открыть нужный нам график, а именно EURUSD M1. Для этого заходим в Файл => Открыть автономно:
Перетягиваем EURUSD M1 в окно графиков, а затем и сам скрипт:
Period multipler factor — переменная, которая означает количество минут в нужном нам таймфрейме. Вот табличка для удобства:
- M5 — 5 минут
- M15 — 15 минут
- M30 — 30 минут
- H1 — 60 минут
- H4 — 240 минут
- D1 — 1440 минут
На все про все уйдет максимум четверть часа. Кстати, если вы не удалили лишние файлы .hst, скрипт может не сработать.
Когда котировки готовы к использованию, можно приступать к тестированию советников. Добавлю только, что если вы планируете ставить советник не в Alpari, лучше используйте второй способ и скачайте котировки вашего брокера.
Ну что ж, когда данные готовы, можно запускать программу для тестирования торговых стратегий.
Как протестировать советника в MT4
В этом разделе статьи мы разберем, как тестировать советника в MT4. Проверять советники мы будем в этом окне:
Немножко пробежимся по интерфейсу, сначала блок “Условия тестирования”:
1. Советник. Выбираем советник из списка. Если нужного нет, вот шпаргалка.
2. Символ. Он же валютная пара, на который вы собираетесь проводить тест. Обычно автор советника указывает, с какими парами нужно работать.
3. Модель. Есть три модели тестирования стратегий Форекс:
Все тики — самый точный метод, где используется самый меньший доступный временной период, то есть М1.
Контрольные точки — используется ближайший таймфрейм, что существенно снижает точность.
По ценам открытия — что происходило с ценой внутри свечи не важно, Open = High = Low = Close. Худшая точность.
Очевидно, для тестов стоит использовать модель Все тики. Но иногда она тратит часы на получение результата, и в этом случае приходится переходить на Контрольные точки.
4. Период. От минуток (М1) до дневных (D1).
5. Спред. Задается автоматически, если выставить “Текущий”, или же вручную. Обратите внимание — у 4-х значного брокера спред будет в районе 1-5 пунктов, а у пятизначного эта цифра больше в 10 раз — 10-50.
Совет: посмотрите на пару EUR/USD — если цена выглядит как 1.3456, то у вас четырехзначный брокер, если же 1.23456 — пятизначный.
По моему опыту лучше самому задавать спред, а посмотреть его можно на myfxbook.
Блок “Выбор даты”:
6. Использовать дату. Определяем период теста, если убрать галочку, будет использована вся доступная история по валютной паре.
Какой оптимальный период для правильного тестирования советника в MT4 — вопрос спорный. Лично мне вполне хватает 3.5 года, чтобы оценить работоспособность советника.
Тем не менее, по возможности стоит задать срок побольше. Особенно это важно для долгосрочных советников, потому что они редко заключают сделки. Пользуйтесь правилом, если сделок меньше 100 — надо увеличить период тестирования.
7. Визуализация. Полезная опция, которая позволяет увидеть работу советника прямо на графике.
Скорость выставляется бегунком, а кнопка “Пропустить до” пригодится, если надо перескочить на конкретную дату.
“Настройки тестирования”, еще один блок тестера стратегий Форекс:
8. Свойства эксперта. Тут находятся основные параметры тестирования и параметры самого советника:
На вкладке «Тестирование» мы меняем только начальный депозит. Раздел “Оптимизация” будем рассматривать в отдельной статье.
Обычно приходится работать с вкладкой “Входные параметры”:
Настроек советника вагон, и хорошо если автор их расшифровал на сайте или в текстовом файлике. Наборы настроек можно сохранять в .set файлы, а потом загружать когда нужно.
Для тестирования советников очень важен параметр LotSize. Это размер торговой позиции, который будет использоваться советником. Чтобы в будущем сравнивать эффективность разных советников, стоит всегда ставить лот 0.1 и начальный депозит 10000$. Это взято не с потолка — таким образом 1 пункт для четырехзнака или 10 для пятизнака по долларовым валютным парам равняется 1$.
Еще один важный момент — метод управления капиталом. Для тестов всегда ставьте фиксированный лот (Lot/LotSize/FixLot и т.д.).
9. Свойства символа. Информация по валютной паре, которую вы выбрали для тестов.
10. Открыть график. Визуальное отображение сделок советника и индикаторов с которыми он работал:
11. Изменить эксперта. Переход в редактор советников MQL4.
Ну и напоследок, “Оптимизация”:
Что это за зверь такой? Если коротко — это прогон советника по одному и тому уже участку графика с использованием разных наборов настроек. Соответственно цель — найти самые удачные наборы («сеты» от .set). Без глубокого понимания лезть в эту степь не стоит, так что пропустим.
Ну что ж, мы разобрались, как пользоваться тестером стратегий в mt4. И осталось лишь одно — дать оценку полученным цифрам.
Анализ результатов тестирования
Сделаем небольшой тест советника Night Owl, для примера выясним, как он работает на валютной паре EURUSD с таймфреймом М15.
Будем использовать скачанные ранее котировки RVD. По Myfxbook средний спред для евродоллара 5 пунктов.
Ставим стандартные настройки — 10000$ стартовый депозит, торговый лот 0.1:
Запускаем и ждем некоторое время. Когда тест закончится, появятся три новых вкладки:
РЕЗУЛЬТАТ. Информация о покупках (buy) и продажах (sell), которые совершил советник, а также об измененных настройках ордерах (modify). Ну и в довесок объемы сделок, цены открытия с уровнями Stop Loss и Take Profit, прибыль и баланс.
На этой вкладке можно сохранить отчёт в формате .html:
ГРАФИК. Вот что нам показал советник Night Owl:
Особо анализировать график не стоит, главное чтобы он плавно рос в правый верхний угол, без больших просадок. Так и происходит на графике выше, но очевидно что последние 10 сделок были совершенно неудачными.
ОТЧЁТ. Самая важная вкладка, которая даёт больше всего информации. Однако держите в уме, что точность тестов всего 90%, цифры в реальной торговле будут несколько другими.
Итак, отчёт по тесту советника на EURUSD:
Остановлюсь на самых полезных и важных показателях.
Чистая прибыль. Сколько советник заработал. Если это число разделить на начальный депозит, получится доходность.
Прибыльность. Рассчитывается по формуле Общая прибыль/Общий убыток. Если 1.6 или выше — советник работает отлично. У нас 1.42 — советник не так уж хорош.
Всего сделок. Должно быть больше 100 — иначе тест нельзя использовать, слишком маленькая выборка. Увеличивайте период тестирования.
Качество моделирования. С использованием минутных данных мы получим максимум 90%. Можно заморочиться и добиться 99% на тиковых данных. Если меньше 90% — тесту доверять вообще нельзя.
Матожидание выигрыша. Сколько в среднем приносит сделка.
Максимальная просадка. Максимальные потери в долларах, в скобках проценты от депозита. Если просадка больше 10% — нужно уменьшить лот или вообще не использовать эту валютную пару.
Какие же показатели самые важные? Я считаю, это Качество моделирования, Прибыльность и Чистая прибыль.
Качество моделирования показывает адекватность теста. Тестер может подглючить, и тогда точность уменьшается.
Чистая прибыль дает сравнить результаты советника на разных валютных парах. Если тестировать роботов на одинаковых настройках (10000$, лот 0.1, фикс. лот), то их можно сравнивать между собой по этому показателю.
Прибыльность — это соотношение прибыли и убытка, и лот на её не влияет, что делает её универсальным параметром.
Еще есть полезная вкладка ЖУРНАЛ, где находятся различные сообщения о работе советников. Полезно тем, что там можно увидеть ошибки советников:
На этом все, напоследок вы узнаете, где хранить полученные результаты тестов.
Сохранение тестов для дальнейшего использования
Полученные результаты желательно куда-нибудь сохранять, чтобы не тестировать одно и тоже по 10 раз. Например, можно создать в Excel табличку и заполнять её только самыми нужными данными:
Также, каждый тест можно сохранить отдельно в виде HTML файла:
Отчет можно потом просмотреть в браузере:
Файлы можно хранить в папочке на компьютере, а можно и закинуть на myfxbook, в меню “Системы” => “Стратегии”:
Добавим сюда наш тест торгового робота Night Owl:
В поле “Отчёт по стратегии” добавляем файл, который ранее сохранили. Заполняем остальные поля, Forward Test не трогаем.
Нажимаем “Добавить” и ждем, пока все будет готово. Отчет по тесту появится списке стратегий, там его можно выбрать и перейти в окно аналитики:
Показатели здесь похожи на те, что мы уже видели в отчетах метатрейдера. Остальные интуитивно понятны, кроме третьей колонки — но я их и не использую для анализа.
Подготовка к форвард-тестированию
Минимальный срок для качественного форвард-теста — 3 месяца, поэтому первым делом нужно обеспечить бесперебойную работу советника на это время. Проще всего это сделать, арендовав VPS сервер, но если вы можете оставлять компьютер включенным 24/5 — можно на этом сэкономить, почему нет.
Дальше нужно определиться с типом торгового счёта под советник. Если вы планируете тестировать сразу несколько роботов — нужно использовать отдельные счета и отдельные терминалы под каждый.
«Размножить» торговый терминал Metatrader можно так: находим папку с установленной программой (обычно это название брокера) и копируем её. Новый терминал запускается через terminal.exe, который можно найти в той же папке. Желательно сделать на рабочем столе папку с ярлыками метатрейдеров, чтобы быстро находить нужный в будущем.
Требования к торговым счетам обычно указаны на сайте-первоисточнике, если их нет, можно ориентироваться по этому списку:
- Трендовые долгосрочники: любой вариант
- Скальперы: ECN, низкие спреды
- Мартингейл: любой вариант
- Сеточники: если ордера сетки висят неделями/месяцами — тогда только swap-free
Естественно, это должны быть центовые счета — советник будет работать точно так же, как и на обычном, но суммы будут в 100 раз меньше. Возможные сбои в работе сов не ударят сильно по вашему карману.
Можно ли использовать демо-счета для форвард-тестов? Только если советник не требователен к типу счёта, иначе результат будет неточным. Из списка выше это трендовики и Мартингейл-роботы.
Когда терминалы и счета уже готовы, самое время определиться, на каких валютных парах тестировать советники. Цель форвард тестирования советников Форекс не заработать, а проверить работоспособность сов, поэтому стоит ставить их на все подающие надежды валютные пары:
- В обязательном порядке все пары, которые указаны на сайте-первоисточнике. Автор настраивал и оптимизировал советник именно под них, глупо пропускать при тестах.
- Суперприбыльные, и просто прибыльные, и те что работают в 0, и даже слегка сливающие. Короче любые подающие надежды валютные пары — неизвестно, где робот в будущем проявит себя лучше всего.
- Серьезно убыточные пары на форвард тест ставить смысла нет, даже для общей картины. В идеале вы будете работать с советником не один год, за это время на неудачной паре он может слить приличную сумму.
Рекомендуется пользоваться похожей табличкой на ту, что вы видели в статье о тестировании торговых роботов в MT4:
Часто есть смысл тестировать валютные пары на разных таймфреймах и настройках. Проанализировав данные таблицы вы найдете наилучшие параметры советника для каждой валютной пары — вот их и нужно будет проверить на реальном счёте.
Стоит напомнить, что установка советника на несколько валютных пар сразу делается через параметр MagicNumber — целое число от 1 до где-то 100000000.
Следующий важный момент — размер депозита и торговый лот. В принципе, не особо важно получать прибыль при тестировании советников (хотя сливать постоянно деньги тоже не стоит) — важен любой результат. По этой причине торговый лот должен быть минимальным — 0.01.
Депозит же должен выдержать несколько десятков неудачных сделок к ряду, так как одновременно тестируются очень много валютных пар. В принципе, для этих целей достаточно 5-10$ на центовом счёте. Отдельная история с мартином и сеточниками — тут уже нужно следовать рекомендациям по минимальному депозиту от разработчика.
После предварительной подготовки вам останется только установить советники в Metatrader на VPS-сервере и настроить реальный мониторинг советников Форекс при помощи сервиса Myfxbook.
Всё работает как часы? Отлично, теперь нужно подождать 3 месяца и приступать к анализу результатов.
Анализ мониторинга на реальном счёте
Более-менее значимые результаты стоит ожидать только через три месяца после запуска форвард-теста. Для долгосрочных советников срок увеличивается до полугода. Переходим на страницу мониторинга советника Форекс на реальном счёте и смотрим первый блок информации:
Вы можете удивиться, но прирост в % для анализа не нужен абсолютно. При разном стартовом депозите он мог быть и 1.3% и 130%, это уже нюансы управления капиталом и сейчас нас не интересуют. Главное, на что стоит обратить внимание — форма графика. Он должен без больших отклонений двигаться из левого нижнего в правый верхний угол.
Впрочем, пока рано анализировать график, так как это общий результат по всем валютным парам, а нас интересуют отдельные результаты. Открываем блок «Расширенная статистика» => «Главное» (сортировка Всего => Пункты):
Смотрим на самые прибыльные валютные пары, выписываем их или запоминаем — и возвращаемся к графику. Над ним, в правом углу, находится блок «Пользовательский анализ»:
Здесь можно сделать огромное количество выборок по валютной паре, мэджикам, времени и т.д. Но сейчас интересуют только валютные пары. Посмотрим на графики самых прибыльных:
GBPAUD
Вот тут сразу видно, как график растет идеально по нужной траектории. Показатели тоже зашкаливают: 90% прибыльных сделок, фактор прибыли 5.11. Была всего одна ощутимо убыточная сделка.
EURUSD
Тут уже не так хорошо, но все еще больше 70% прибыльных сделок при профит-факторе 2.70. Стандартное отклонение даже ниже, что означает более стабильную работу советника на этой валютной паре. Был один большой стоп и несколько маленьких.
GBPCAD
Много прибыльных сделок, но всего одна убыточная дала почти -2%. Не считая более низкой прибыли, всё напоминает пару GBPAUD, что неудивительно из-за общего слагаемого в виде фунта. На серьезный торговый счёт не рекомендуется ставить один советник на коррелирующие пары, так что GBPCAD на этот момент пролетает.
И так далее, и тому подобное.
Еще один важный момент — анализ валютных пар, на которых робот только-только начал хорошо работать. Это может быть шансом получить дополнительную прибыль.
Для этого необходимо проанализировать работу советника за последний месяц. Идем в «Пользовательский анализ» и выставляем нужные настройки:
Получаем такой результат:
Выделяются валютные пары GBPAUD (281 пункт, 6 сделок, 100% прибыльных) и EURCAD (98 пунктов, 8 сделок, 7 прибыльных) — много высокоприбыльных сделок. Как мы помним, GBPAUD за весь тестовый период принесла хорошую прибыль, а вот EURCAD — это 9 место общего рейтинга. Стоит обратить внимание!
Зная специфику скальпера «Азия», пары EURJPY и EURUSD выглядят не так интересно, т.к. они взяли много пунктов за малое количество сделок, то есть просто повезло.
Возвращаемся к полному мониторингу советника Форекс. Там можно найти кучу всяких графиков и статистики, но для целей форвард-теста полезных не так уж много. Стоит взглянуть на вкладку «История»:
Тут можно узнать много интересного — размер стопов, лучшие и худшие сделки и т.д. Нажав на кнопку «Еще» вы сможете настроить любую интересующую вас информацию. Полезно смотреть и все сделки сразу, и по конкретным парам — чтобы лучше представлять, как советник зарабатывал свои пункты и проценты.
Остались непонятные моменты о том, как протестировать советника в MT4? Задавайте вопросы в комментариях к статье, разберёмся. И обязательно поделитесь статьёй в социальных сетях:
https://webinvestor.pro/kak-testirovat-sovetnika-v-mt4/