Не тестируется советник. Как тестировать советники в MT4 правильно? Автоматическое тестирование стратегий на Форекс

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

Период тестирования

Для получения наиболее точных результатов необходимо проводить тестирование за максимально-длительный период времени, чтобы избежать вероятность «подгонки» системы для работы на определенном рыночном этапе. Это является наиболее распространённой проблемой для большинства систем, так как результаты могут кардинально отличаться в зависимости от рыночных этапов. Например, период до 2007 года низковолатильный, с 2007 года и по 2011 наблюдался абсолютный хаос, вызванный мировым экономическим кризисом, период с 2011 года по 2016 характеризуется затяжными трендами и импульсами, а с 2017 года и по сегодняшний день - рыночный флет, то есть волатильность минимальная и какие-либо сильные тренду отсутствуют.

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

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

Качество котировок

Большинство пользователей используют для тестирования Forex советников котировки, которые предоставляются брокером и доступны для загрузки в терминале Metatrader4 . Качество данных котировок достаточно низкое, как и период для которых они доступны. Даже при наличии длительной истории котировок по Timeframe М1, качество тестирования будет весьма низким. При этом, Тестер Стратегий Metatrader4 имеет исключительно фиксированный размер спреда, а величину комиссии и скольжения вовсе нельзя задать.

Таким образом, для получения сакрального значения в графе «Качество моделирования 99%», трейдеру зачастую прибегают к сторонним продуктам. Наиболее популярным является TDS2 (Tick Data Suite 2) , который, по сути, является плагином для Тестера Стратегий в терминале Metatrader4. Данный продукт имеет ряд преимуществ, среди которых:

Тестирование с реальным плавающим спредом, который модулируется за счет наличия в котировках цены Bid и Ask;

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

Благодаря всем вышеперечисленным критериям, большинство пользователей считают как котировки Dukascopy, так и результаты, полученные в ходе тестирования с их помощью, -эталонными, но так ли это на самом деле?

В первую очередь стоит отметить сам источник котировок - Dukascopy . Данную компанию трудно назвать брокером. Dukascopy - это швейцарский банк, имеющий соответствующие лицензии. Таким образом, речь идёт о реальном рыночном исполнении сделок, а торговые условия значительно отличаются от тех, к которым нас приучили B-Book брокеры за последние годы, то есть о «кухонном» «нулевом» спреде можно забыть.

Однако, это не является ключевым фактором, о котором я хотел бы сказать. Наиболее важным критерием при тиковом тестировании Forex советников является качество моделирования, которое непосредственно зависит от количества тиков в истории. Трейдеры прибегают к использованию таких инструментов, как TDS2 и тиковой истории, в первую очередь, для получения наиболее репрезентативных результатов тестирования, а заветное значение 99% в графе «Качество моделирования» не дают поводов усомниться в полученных результатах.

Несмотря на «Качество моделирования 99%» , большинство трейдеров сталкиваются с другой, более важной и ключевой проблемой: результаты тестирования системы значительно отличаются от результатов, полученных в результате реальной торговли, что заставляет усомниться в репрезентативности тестирования в целом. В первую очередь, это касается систем с низкой величиной Expectancy (Величина Ожидаемой прибыли) , к которым можно отнести скальпинговые системы, мартингейл, сетки и прочие, результаты работы которых зависят в значительной мере непосредственно от качества исполнения со стороны брокера.

Можно найти следующие объяснения почему это происходит:

  1. «Подгонка» - то есть, система оптимизирована под определенный период времени и результаты forward-тестов (реальной торговли) будут значительно отличаться от полученных ранее в тестере;
  2. Качество тестирования торгового советника в Тестере Стратегий;

Первая проблема является достаточно распространённой, однако, если мы сравниваем результаты тестирования с результатами реальной торговли, то данный пункт не может быть применён, поэтому следует прибегнуть ко второму пункту - «Качество тестирования» , но как это возможно, если же Тестер Стратегий проинформировал нас о сакральной величине - «Качество моделирования 99%»? Ответ кроется в самой платформе Metatrader4 и интегрированном в него Тестере Статегий.

Большинство алготрейдеров стремиться достичь качества тестирования советников 99%, для чего они используют различное вспомогательное программное обеспечения, но возможно ли это? Или же тестирование торговых роботов с качеством 99% является иллюзией и очередным мифом рынка Forex?

Разработка Metatrader4 была начата в начале 2000 годов , однако на тот момент вычислительные мощности были ограничены, а сама система основана на 32 битной архитектуре. По этой причине стандартные возможности Тестера Стратегий не предполагали использование плавающего спреда и тиковых котировок, так как попросту большинство компьютеров не имели достаточно ресурсов, чтобы воспроизводить подобные тесты, не говоря уже о хранении самих котировок со стороны брокеров. По заявлениям самих MetaQuotes (разработчики торгового терминала Metatrader) , платформа не имеет возможности производить тестирование с использованием внутрисекундных тиков, однако необходимо признать, что разработчикам TDS2 всё же удалось «пропатчить» терминал.

Исходя из всего вышесказанного, действительно ли возможно тестирование с качеством 99%? Нет. Качество тестирования советников 99% - это иллюзия и является абстрактной величиной. Чтобы это понять, следует познакомиться с новой платформой - Metatrader5 . Несмотря на все её преимущества, она так и не стала массовой. Главной особенностью Тестера Стратегий Metatrader5 является:

    Использование исключительно плавающего рыночного спреда;

    Имитация скольжения (slippage) путём установки «задержки» в исполнении сделок;

Таким образом, платформа Metatrader5 сама по себе уже имеет весь функционал «из коробки», который предлагается в TDS2 в виде «надстройки» к Metatarder4, однако, с главным отличием: тиковые котировки используемого брокера вместо Dukascopy .

При этом следует обратить внимание на ключевое отличие, которое разрушает миф о качестве тестирования советников в 99% : в Metatrader5 используется другая формулировка, которая является более точной и правильной – «Качество истории» , то есть разработчики полностью снимают с себя ответственность за полученные результаты.

Мы пришли к тому, что понятие «Качество моделирования» является абсолютно неверной формулировкой и стоит рассматривать её исключительно в контексте «Качества истории» , поэтому возникает следующий, ключевой вопрос: «Действительно ли качество котировок Dukascopy имеет то самое заветное качество в 99%? ».

Что такое качество тиковых котировок? Это количество тиков в истории, а так же, количество несоответствий и это легко проверить – достаточно сравнить полученные результаты с помощью Metatrader4 и Metatrader5 за одинаковый период времени. Хочу сразу же заметить, что сравнивать мы будем не результаты работы системы, а количество тиков в отчетах Тестера Стратегий.

Сравнение мы проводим на любом имеющемся советнике. Я выбрал стандартный MACD Sample, доступный в обоих терминалах, за одинаковый период времени – 2018 год. Для Metatrader4 использовался TDS2 с котировками Dukascopy, для Metatrader5 - котировки Alpari ECN с сервера Alpari-MT5 :

Metatrader4

Metatrader5, котировки Alpari ECN: 84432025 тиков.

Разница колоссальная - 58 684 964 тиков! Количество тиков Dukascopy составляет лишь !!! 30,49% !!! от количества тиков Alpari ECN. Таким образом, можно прийти к выводу, что использование котировок Dukascopy для Metatrader4 не является эталонным, а качество моделирования далеко от сакрального значения в 99%, а реально около 30%. Именно поэтому для тиковых систем результаты реальной торговли зачастую отличаются от результатов тестирования.

Вывод

При моделировании работы советника в Тестере Стратегий достичь качество тестирования советников 99% является невозможным. Это является очередным мифом рынка Forex. Единственное на что мы можем влиять - это качество используемой тиковой истории, тем самым максимально приблизить среду до реальной рыночной, используя максимально-точные значения spread, slippage, комиссии за открытия сделок и прочих величин, которые могут влиять на конечный результат, тем не менее, полученные результаты будут являться абстрактными и не могут гарантировать аналогичный уровень прибыли и просадки в будущем, а лишь дают оценочные данные о торговом советнике и используемой в нём стратегии.

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

MetaTrader 4, имеет встроенный тестер советников, в котором происходит тестирование торговых роботов, экспертов и индикаторов. Разработчиками не раз отмечалось, что подобное тестирование, очень грубое вне зависимости от используемых настроек.

Чтобы хоть как то приблизить реальные показатели, требуется произвести ряд обязательных настроек.

1. Зарегистрироваться у одного из ведущих брокеров, а именно Alpari или Dukascopy. При чем не просто открыть демо счет, а открыть реальный счет, с потоком реальных котировок.

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

У вас может возникнуть вопрос, почему именно эти брокеры? Дело в том, что по отзывом реальных программистов, да и по своему личному опыту прогона стратегий в тестере, понял что лучшие котировки, точнее более правдоподобные, были в Alpari. Что касается Dukascopy, так здесь вообще все просто, это мощный швейцарский банк, через свои дочерние компании дающий возможность торговать на Forex.

2. Установить размер исторических данных для котировок в терминала MetaTrader 4. Сделать это можно пройдя в пункт меню «Сервис» → «Настройки» или «Ctrl» + «O», далее во вкладке «Графики» в поле «Макс. баров истории», устанавливаем интересующее значение из расчета: один год минутных данных содержит 60 х 24 х 365 = 525600 баров. Новое значение параметра вступит в силу только после перезапуска терминала.

3. На следующем этапе, переходим в «Архив котировок» нажатием клавиши «F2», либо выбрав «Сервис» → «Архив котировок». В этом пункте нам нужно подгрузить полные данные котировок, чтобы во время тестирования не было ошибок.

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

4. В моей практике встречались случаи, когда вроде как все котировки подгружены, но тестер все равно не видит часть котировок. Мне помогал простой способ прокрутки графика как можно дальше по истории. После этого, все работало нормально. Так что, сделайте тоже самое.

Основная настройка произведена и наш терминал готов к тестированию. Открываем тестер стратегий клавишами «Ctrl» + «R», либо выберите «Вид» → «Тестер стратегий».

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

Тестер стратегий, имеет несколько важных полей, это:

  • Выбираем с чем будем работать: Expert Advisor (Советник) или Indicatior (Индикатор).
  • Из выпадающего списка, выберите тестируемый советник или индикатор (изучите статьи: как устанавливать советник в MT4 и как установить индикатор в MT4). В моем случае, буду использовать советник Vip-Test_Profit-FX_2-00.ex4.
  • Symbol (Символ). Выберите интересующий торговый инструмент и задайте таймфрейм для тестирования (по заверениям опытных программистов, тестер стратегий лучше все работает во время тестирования среднесрочных и долгосрочных стратегий, при использовании скальперских стратегий, большая вероятность недочетов).
  • Model (Модель). Предустановлены 3 варианта моделирования:
    • Все тики. Самый точный метод. Используется котировки М1, для детальной реализации происходящих событий. Метод точный, но очень долгий.
    • Контрольные точки. Используется ближайший таймфрейм, что существенно снижает точность.
    • По ценам открытия. Используется метод: Open = High = Low = Close. Худшая точность.
  • При торговле в онлайн, трейдер сталкивается со спредом. При тестировании советника, можно установить либо фиксированное значение спреда, либо оставить значение Current (Текущий.)
  • Use date (Использовать дату). Установите галочку и выберите в поле From, дату начала тестирования, а в поле To, дату окончания тестирования.
  • Visual mode (Визуализация). Установленная галочка будет означать, что тестер должен визуализировать весь процесс торговли. Ползунок либо увеличивает, либо уменьшает скорость. Кнопка Play и Пауза, соответственно либо запускает либо останавливает процесс тестирования.

Для тестирования ручных стратегий, достаточно настроить эти пункты и приниматься за дело. В случае если мы имеем дело с автоматизированными советниками, придется настроить еще и «Свойства эксперта», поэтому, нажимаем кнопку Expert properties (Свойства эксперта) и приступаем к настройке.

Изменение свойств эксперта

Нас интересуют две вкладки:

  • Testing (Тестирование);
  • Inputs (Входные параметры).

Во вкладке «Тестирование», нам следует установить:

  • Initial deposit (Начальный депозит). Думаю все ясно, единственное замечание, при тестировании советника, используйте не абстрактный депозит, а именно тот, с которым планируете работать в будущем.
  • Наименование валюты. Не самый важный пункт, но по умолчанию стоит USD.
  • Positions (Позиции). Выбираем как будет торговать советник. Предусмотрены варианты: 1) только Short, 2) только Buy и 3) Short и Buy.

Вкладка Inputs (Входные параметры), нужна для ввода полученных путем оптимизации настроек. В этой статье, разбираться как происходит оптимизация не будем, а просто загрузим.set файл, в котором уже хранятся оптимизированные настройки разработчиками.

Теперь мы готовы к тестированию советника. Нажимаем кнопку Start и ждем окончания работы тестера стратегий. По окончанию прогона, в тестере, буду доступны следующие вкладки:

  • Настройки. Эта вкладка нам известна, с ней уже разобрались.
  • Результаты. По сути, это аналог известной вкладки «История счета», где хранится информация о закрытых ордерах.
  • График. Строится кривая доходности.
  • Отчет. Для анализа результатов, в большей степени будет интересовать эта вкладка, о ней и поговорим подробнее.
  • Журнал. Хранится информация о возникновении каких либо ошибок во время тестирования.

Если вы устанавливали галочку в пункте Visual Mode (Визуализация), то так же можно проанализировать сделки на графике, которые будут отмечены метками входа и выхода из позиции. Если такой галочки вы не ставили, но все же хотите оценить работу советника визуально, нажмите во вкладке «Настройки» кнопку Open Chart (Открыть график).

Теперь давайте посмотрим, результаты тестирования советника. И первое что нас должно интересовать, это пункт «Ошибки рассогласования».

Как исправить ошибки рассогласования

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

Результаты тестирования советника считается точными, если индикатор качества моделирования (на скрине Modelling quality) составляет 90% и более, а также показатель ошибок рассогласования равен нулю. Если ваши результаты не дотягивают до этих показателей, то результаты тестирования советника не следует принимать в расчет, а следует поработать над исправлением ошибок.

Исправить ошибки поможет удаление истории котировок из терминала и загрузка ее заново. Сделаем следующее:

  1. Выбираем «Файл» → «Открыть каталог данных».
  2. Переходим в папку «History».
  3. Выберите папку с актуальным счетом.
  4. Найдите и удалите все файлы с расширением.hst.
  5. Перезапустите торговую платформу MetaTrader4.
  6. Загрузите заново котировки, через Архив котировок.

Прежде чем протестировать советника на истории, мы должны выбрать актуальный период для теста. Глупо запускать тест на 20 летних исторических котировках. Какой от этого смысл? Есть мнение, что стратегию нужно проверять хотя бы за 2 - 5 лет. Может это и так, но про какие стратегии речь? Скальперские или долгосрочные?

Лично я считаю, что чтобы проверить внутридневную стратегию, достаточно одного - трех месяцев. Кто понимает, сразу разберемся в потенциале испытуемого.

Я не стал тратить много времени, цель другая, покажу на примере тестирования одного месяца, советника Vip-Test_Profit-FX_2-00.ex4 и посмотрим что из этого выйдет.

Ознакомьтесь с результатами тестирования советника на исторических данных.

скачать и попробовать .

Валютная пара: EURUSD.

Таймфрейм: М15.

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

В отчете обращаем внимание на несколько полей:

  • Ошибки рассогласования. Здесь понятно, если есть ошибки, результаты тестирования не засчитываем;
  • Expected payoff (Матожидание выигрыша). Математическое ожидание выигрыша (чем больше, тем лучше), у нас 2.09;
  • Total net profit (Чистая прибыль). Прибыль, которая останется на счету в конце тестирования. Прибыль равна $557,89;
  • Maximal drawdown (Максимальная просадка). Процент максимальной просадки по депозиту. У нас достойный показатель, около 5%;
  • Maximal consecutive losses (Максимальное количество непрерывных проигрышей). Скорее работает на психологию. Сможете ли вы высидеть продолжительное количество убыточных сделок подряд и не отключить советника?

Результаты тестирования на реальном рынке

Этого же советника установил на VPS и проработал он у меня с 26 марта по 31 марта. Результаты интересные.

Ознакомьтесь с результатами тестирования советника на реальном рынке Forex.

В тестировании участвовал советник Vip-Test_Profit-FX_2-00.ex4 - скачать и попробовать .

Валютная пара: EURUSD.

Таймфрейм: М15.

Метод моделирования: Все тики.

В отличии от предыдущих данных, при тестировании советника на истории, здесь в глаза бросается уменьшившееся мат ожидание (было 2.09, на реальном рынке 0.66). Все остальные показатель сравнивать бессмысленно, ввиду не одинакового время тестирования.

В любом случае, считаю что советник тестирование прошел.

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

Для себя принял следующее решение по работе с советниками и их тестированию:

  1. Тестирую на периоде в пол года.
  2. Если результаты плохие, значит работать дальше с советником смысла нет. Если результаты тестирования положительные, открываю минимальный реальный счет, устанавливаю советника на надежный VPS для Forex и тестирую советника на реальном рынке в течение месяца.

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

Удачи в тестировании советников, ну и конечно рассказывайте в комментариях о ваших наработках.

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

В условиях современного трейдинга использование в торговле уже давно не выглядит какой-то экзотикой. Практически каждый день появляются новые платные и бесплатные торговые роботы, которые впечатляют доходностью и вызывают желание быстренько заработать. Однако, ставить эксперта на торговый счет без проверки – сомнительная затея, ведущая к «неожиданным» потерям в потенциале. Поэтому рекомендуем начать работу с роботом с тестирования.

Все, что нужно знать о том, как правильно тестировать торгового советника в тестере стратегий терминала MetaTrader 4 – в инструкции от экспертов журнала Фортрейдер.

Торговый робот проверяют на истории, поэтому в первую очередь необходимо скачать котировки нужной вам валютной пары. Для этого следует в меню «Сервис» найти вкладку «Архив котировок» или просто нажать клавишу F2.

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

Выбираем в тестере стратегий торгового робота (1), валютную пару (2), тип моделирования (3), таймфрейм (4), спред (5) и настройки советника (6).

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

Какой тип моделирования выбрать?

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

Тестер стратегий предлагает на выбор три типа моделирования:

  • Все тики;
  • Контрольные точки;
  • По ценам открытия.

«Все тики» - самый точный из стандартно-доступных типов моделирования, но он же и самый долгий. Некоторые советники можно тестировать без потери точности по контрольным точкам или по ценам открытия. Для этого в алгоритме должны быть заложены условия открытия сделки, начиная с нового бара.

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

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

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

На какие параметры нужно обратить внимание при оптимизации советника?

Количество сделок

В первую очередь обращаем внимание на количество сделок. Желательно, чтобы их было не менее 150, иначе оптимизация теряет всякий смысл, поскольку возникает эффект «подгонки» результатов.

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

Прибыль и просадка

Во вторую очередь нас будет интересовать соотношение прибыли к просадке.

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

К счастью, это несложно поправить, если у вас есть доступ к исходному коду советника. Достаточно в конец кода любого робота приписать следующие строчки:

double GetRecoveryFactor(void) {

double Res = 0;

double MaxDD = TesterStatistics(STAT_EQUITY_DD);

if (MaxDD != 0)

Res = TesterStatistics(STAT_PROFIT) / MaxDD;

return(Res);

double OnTester(void) {

return(GetRecoveryFactor());

и перекомпилировать его. После этого при оптимизации в тестере появится новая колонка «Результат OnTester». Она будет содержать коэффициент восстановления. Щелкнув по шапке этой колонки, можно отсортировать результаты оптимизации по данному параметру.

Что делать с ошибками рассогласования?

Часто случается, что в отчете о тестировании торгового эксперта тестер стратегий в строке «Качество моделирования» указывает значение n/a и сообщает об ошибках рассогласования графиков.

Откуда берутся эти ошибки? Самой распространенной причиной является расхождение между котировками, которые получены от брокера напрямую, и котировками, загруженными из архива.

Как устранить это расхождение? Существует очень простой способ. Необходимо удалить историю котировок по необходимой валютной паре через «Меню Файл» — «Открыть каталог данных» – History – «Имя торгового сервера». Стираем все файлы EURUSD*.hst.

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

После проделанных процедур в большинстве случаев ошибки рассогласования графиков исчезают, а качество моделирования вырастет до 90%.

Итого

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

Товарищи трейдеры, давайте потихоньку переходить к торговым советникам (роботам). Начнем освоение данной темы издалека – с таких понятий как тестер стратегий и архив котировок.

Тестер стратегий MetaTrader 4 знакомая вещь для основной массы трейдеров, но
всё же многие не знают, что это, как вызывается и вообще зачем нужен этот
тестер стратегий.

Торговый терминал MetaTrader4 (MT4) позволяет не только писать советники,
но и тестировать их перед использованием. Эта полезная функция позволяет
проверить работоспособность и эффективность торгового робота на
исторических данных. Тестирование дает возможность приступить к
автотрейдингу, зная об особенностях поведения советника в различных
рыночных ситуациях. Для этих целей в торговый терминал встроено
специальное окно «Тестер стратегий».

Рекомендую статью
///////////////

Параметры тестера стратегий

Как вызывается «Тестер стратегий»: Вид Тестер стратегий или (CTRL + R).

После этого у Вас в терминале появится следующая картина

Рассмотрим параметры тестера стратегий:
Советник

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

///////////////
Читайте статью о на Форекс.
///////////////

2. Свойства эксперта
После того как Вы выбрали советник для тестирования, необходимо
провести дополнительную настройку тестирования и входных параметров по
вашему усмотрению. Это можно сделать нажатием кнопки «Свойства
эксперта». При этом появится новое окно с тремя вкладками:

а) Тестирование - в этой вкладке задаются общие параметры
тестирования. К ним относятся объем и валюта начального депозита,
которые указываются в соответствующих полях. Именно этим депозитом будет
оперировать советник при тестировании. В этой вкладке также выбираются
типы открываемых позиций при тестировании: Only Long - открывать только
длинные позиции; Only Short - только короткие; Long and Short -
открывать позиции в обе стороны. Каков бы ни был алгоритм торгового
эксперта, он будет открывать позиции только в заданных направлениях.
Также можно включить генетический алгоритм тестирования.

///////////////
Вас может заинтересовать
///////////////

б) Входные параметры - в данном меню, в виде таблицы, приводится
список всех входных параметров торгового робота. Входными параметрами
называются переменные, которые влияют на работу эксперта и могут быть
изменены прямо из клиентского терминала. Для изменения этих параметров
нет необходимости изменять код эксперта. Количество входных переменных
может варьироваться от советника к советнику. При тестировании входные
параметры советника задаются в поле «Значение». Данные, записываемые в
полях «Старт», «Шаг» и «Стоп», не влияют на тестирование советника и
необходимы лишь для оптимизации его параметров.

в) Оптимизация
настройки советника в этой вкладке позволяют управлять ограничениями
проходов тестирования при оптимизации. Изменения параметров в этой
вкладке не влияют на однократные тестирования эксперта.

3. Символ.
В данном меню выбираем символ – торговый инструмент по которому будет тестировать советник.

///////////////
Советую статью
///////////////

4. Модель.
В данном меню предлагается три варианта, они также расположены в
ниспадающем списке. В зависимости от алгоритмов работы вашего советника
можно выбрать

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

б) Контрольные точки (используется ближайший меньший таймфрейм).
Метод моделирования контрольных точек предназначен для грубой оценки
экспертов, торгующих внутри бара. Для этого метода необходимо наличие
исторических данных ближайшего меньшего периода (таймфрейма). То есть,
например, тестируете советник на H1 – советник может учитывать цены M30,
но не M15.

///////////////
Узнайте как работать с
///////////////

в) Все тики (на основе всех наименьших доступных периодов). Этот
режим позволяет наиболее точно смоделировать движение цены внутри бара. В
отличие от метода «контрольных точек», потиковый метод использует для
генерации данные не только ближайшего меньшего таймфрейма, но и всех
доступных меньших таймфреймов. При этом, если для какого-то временного
диапазона одновременно существуют данные более, чем одного таймфрейма,
для генерации используются данные самого меньшего таймфрейма. Этот метод
самый точный но и самый медленный. Данный метод тестирования является
самым популярным среди трейдеров Форекс.

///////////////
Читайте также статью .
///////////////

5. Использовать дату.
Диапазон дат позволяет тестировать советники не на всех имеющихся
данных, а лишь на выбранном временном отрезке. Это бывает удобным при
необходимости исследовать отдельную часть исторических данных

6. Визуализация.
Если Вы хотите визуально проверить работу советника на истории, то
ставим тут флажок, при этом тестирование происходит медленнее, но
выявление ошибок в работе советника этого требует. Скорость проигрывания
можно регулировать, двигая специальный ползунок справа от записи
«Визуализация». Можно приостановить проигрывание, нажав на кнопку «||».
Повторное нажатие на эту кнопку возобновляет поступление смоделированных
тиков. Нажатие на клавишу F12 вызывает моментальное появление
следующего тика даже в состоянии паузы. Визуализацию можно пропустить до
определенной даты. После установки нужной даты и нажатия на кнопку
«Пропустить до» визуализация прекращается и возобновляется после
достижения тестером указанной даты.

///////////////
Узнайте как правильно
///////////////

7. Период.
Тут все предельно понятно, это временной таймфрейм на котором Вы хотите протестировать советник в тестере стратегий.
После нажатия на кнопку «Старт» советник начнёт тестирование по заданным вами параметрам

В меню «Журнал» Вы можете наблюдать за выполнением торговых команд
советника, а также видеть возникающие ошибки при тестировании.

Вас может заинтересовать статья «Форекс «.
///////////////

Особенности тестера стратегий в МТ4

Если загрузить историю котировок за длительный промежуток времени, результаты тестирования за последние год-два будут самыми точными. Возможно, часть данных теряется со временем, не могу сказать, почему так происходит (если кто-то знает, расскажите в комментариях, интересно). Этот нюанс имеет место даже при использовании всех тиков при тестировании. Поэтому более существенное значение стоит придавать именно результатам за последние годы, как для трендовых, так и противотрендовых систем.

Возможно, вас заинтересует статья
///////////////

Когда не стоит доверять результатам тестера стратегий в метатрейдере?

1) Когда торговая стратегия осуществляет входы и выходы «по рынку».
2) Когда время удержания сделок очень мало (несколько минут или даже секунд)
3) Когда тестирование проводится на «текущем спреде»

Если торговый советник (робот) подпадает под пункты 1 и 2 – это очень опасно. Дело в том, что существует фактор Форекс брокера. Брокер может просто «перекрыть кислород» — увеличив время исполнения сделок. В этом случае краткосрочные системы будут очень сильно страдать от плохого исполнения сделок.

///////////////
Кстати, есть очень хорошая статья про торговые издержки (Форекс комиссии).
///////////////


С вами был Артур Быков (проект Агудар), благодарю за внимание!

Смотрите подробнейшую видеозапись о том, как устанавливать и тестировать Форекс советник!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Не все стратегии поддаются тестированию, но если поставить цель, то можно протестировать что угодно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделитесь ей
Наверх