Сегодня
USD ЦБ87.8077
EUR ЦБ95.7849

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

В избранное Обсудить

Технологии развиваются со всё возрастающей скоростью.

Раньше анализ рынка проводили по котировкам, которые поступали по телеграфной ленте, графикам, от руки нарисованным на миллиметровой бумаге. Это был долгий и трудоёмкий процесс, когда подготовка к анализу занимала больше времени, чем сам анализ.

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

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

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

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

Подготовка

О том, как устанавливать советник в терминал, вы можете прочитать в этой статье.

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

У большинства брокеров нет своего архива котировок, они используют котировки от компании MetaQuotes — разработчика терминала MetaTrader. Это далеко не самые качественные данные, в их архиве котировок полно пробелов и неточностей. Данные от тестирования на таких данных не будут нести практической пользы и могут сильно отличаться от результатов, которые бы были на реальном рынке.

Свой архив котировок есть, например, у брокеров Ducascopy и Alpari. У вторых, чтобы его получить необходимо иметь реальный счёт, а не демо-счете доступ к таким котировкам не предоставляется.

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

Нужно нажать Ctrl+O или мышкой выбрать меню «Сервис->Настройки».

Сервис-Настройки

В открывшемся окне «Настройки» нужно выбрать вкладку «Графики». В пунктах «Макс. баров истории» и «Макс. баров в окне» прописываем 1 000 000 000.

пункт Графики

Затем идём в пункт меню «Сервис->Архив котировок». Его можно вызвать нажатием клавиши F2.

Архив котировок

Откроется окно, где можно выбрать нужную валютную пару и временной интервал. Выбираем период M1 и жмём «Загрузить».

Архив котировок m1

Как котировки загрузятся, нужно перезагрузить терминал.

Затем мы снова заходим в меню Архива котировок, опять выбираем нужную валютную пару, кликаем мышкой по периоду m1, пока слева от неё значок не загорится жёлто-зелёным цветом.

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

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

На этом с подготовкой всё.

Тестер стратегий и его базовые возможности

Нажатие Ctrl+R открывается панель тестера стратегий. Также его вызвать можно, нажав соответствующую клавишу в верхней панели терминала.

Тестер стратегий

В нижней части терминала откроется рабочая панель тестера стратегий:

панель Тестер стратегий

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

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

Показать все символы

В пункте «Модель» выбирается способ, как будут выдаваться котировки, и как будут рисоваться свечи или бары.

Модель

Доступны следующие виды моделирования графика для тестирования:

  1. По ценам открытия. При этом способе бары рисуются сразу целиком в один тик. И нет информации в реальном времени о том, как цена вела себя во время формирования свечи. Свечи рисуются быстро, это ускоряет процесс. Но такой способ подходит только для тестирования тех советников, где нужен контроль открытия баров.
  2. Контрольные точки. Тоже очень грубый способ оценки. Если упростить, то при нём берутся данные с предыдущего таймфрейма, а именно цены OHLC (то есть Open, High, Low и Close), и по ним моделируется построение бара. Его показания можно использовать только для оценочной прогонки советника, но не для полноценного тестирования.
  3. Все тики. В этом методе уже используются цены не только с ближайшего младшего таймфрейма, но и со всех младших временных интервалов. Если на формирование какого-то промежутка времени есть данные от нескольких таймфреймов, то берётся самый младший. Если вдруг данных между точками нет, то используется интерполяция на основе заданных шаблонов. Если вдруг котировки дублируются, то происходит фильтрация, и берётся объём последней котировки. Этот способ более требователен к ресурсам, что может ощутимо нагружать терминал.

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

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

Справа в панели тестера есть также несколько пунктов для настройки тестирования.

Тестер справа

В пункте «Период» выбирается таймфрейм, на котором будет проходить тестирование. Максимум для тестирования доступен D1. И нужно обязательно загрузить историю котировок именно того временного интервала, на котором собираетесь тестирование проводить.

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

Если вам доступен файл советника с расширением .mq4, то можно нажать кнопку «Изменить эксперта», вызвав тем самым редактор кода, где можно делать свои правки.

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

Нажав «Свойства символа», вы откроете информационное окно со спецификацией финансового инструмента, на котором проводите тест.

Свойства символа

«Свойства эксперта» вызывает окно с тремя вкладками, как на скриншоте ниже.

свойства эксперта

Во вкладке «Тестирование» можно менять размер депозита и валюту счёта. Также можно дать указание советнику открывать только покупки, только продажи или всё вместе.

Во вкладке «Входные параметры» отображены настройки советника. Если к советнику уже идут готовые пресеты настроек, например, под определённые пары и временные интервалы, то их можно залить, нажав кнопку «Загрузить» и выбрав файл настроек с расширением *.set.

Вкладку «Оптимизация» разбирать не будет, как и сам процесс оптимизации советника. Это отдельная глубокая тема, которая не убирается в рамки данной статьи.

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

Процесс тестирование и анализ результатов

Нажатие кнопки «Старт» запускает тестирование.

Когда оно заканчивается, звучит звуковой сигнал детской резиновой игрушки.

Для оценки результатов нам в помощь вкладки внизу панели тестера стратегий: «Настройки», «Результаты», «График», «Отчёт», «Журнал».

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

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

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

В Отчёте собрана вся важная статистика.

отчет

Баров в истории — сколько баров взято для тестирования за выбранный период времени.

Смоделировано тиков — количество воссозданных тиков, учитывающих данные по ценам Open, High, Low и Close и по volume (объёмам). Это количество может быть разным в зависимости от модели тестирования, временного интервала и качества котировок.

Качество моделирования — отображает качество в процентах.

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

Если хоть одна ошибка есть, нужно обновить архив котировок. А для начала стоит удалить старый архив. Чтобы это сделать, нажимаем «Файл -> Открыть каталог данных -> History -> выбрать папку текущего торгового счёта -> закрыть терминал, не закрывая папку -> удаляем все файлы .hst».

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

Пример, как отображаются ошибки на панели ошибок рассогласования графиков ниже.

Ошибки рассогласования графиков

Серым показываются котировки, которых не хватает, красным котировки с текущего временного интервала, зелёным показаны котировки, которые доступны и на текущем, и на более младших временных интервалах. Более ярким зелёным показываются более младшие временные интервалы.

Если ошибок нет и доступны котировки с m1, то вся шкала будет ярко-зелёного цвета.

Начальный депозит — первоначальная сумма старта.

Спред — тот, на котором тестировался советник.

Общая прибыль — сколько заработано.

Общий убыток — сколько потеряно.

Чистая прибыль — это разница между общей прибылью и общим убытком. При тестировании 0.1 лота каждый доллар прибыли равен 1 заработанному пункту.

Прибыльность = общая прибыль/общий убыток.

Матожидание выигрыша — говорит само за себя.

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

Максимальная просадка — максимальная разница между самой верхней точкой кривой доходности советника и самой её низкой точкой.

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

Что показывают остальные данные, легко понять по их названиям и показаниям.

По нажатию правой кнопки мыши, можно сохранить детализированный отчёт результатов тестирования в формате .html.

Детализированный отчет

Режим визуализации

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

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

Если вам известно, на основе какого индикатора построен советник, то можно на график визуализации этот индикатор накинуть и проверить качество и точность входов советника.

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

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

Заключение

Стоит сказать, что такой способ тестирования советников подходит больше для роботов, которые работают на интервалах от m30-h1 и выше.

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

Для тех же, кому нужно протестировать на тестере в ускоренном режиме какие-либо ручные торговые системы, подойдёт тестер TradeSystem2, который имеет ряд удобных преимуществ в сравнении со стандартным тестером терминала MetaTrader.

Оставьте комментарий