Наши рекомендации:

  1. Главная
  2. Статьи
  3. Новичкам
  4. Тестирование советников в терминале MetaTrader 4. Подготовка котировок брокера.

Тестирование советников в терминале MetaTrader 4. Подготовка котировок брокера.

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

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

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

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

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

Сразу обозначим возможности тестера стратегий торгового терминала MetaTrader 4:

  • Тестирование советников (написанных на языке MQL4);
  • Оптимизация советников (методом перебора всех вариантов, генетический алгоритм);
  • Тестирование индикаторов (только в режиме визуализации).

Для того, чтобы открыть окно тестера, в торговом терминале MetaTrader 4 нужно нажать комбинацию клавиш Ctrl+R или в верхней части терминала на панели инструментов выбрать пиктограмму с лупой.

Тестирование MetaTrader 4

После этого откроется окно, вот такого вида и содержания.

Тестирование MetaTrader 4

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

После проведения тестирования данное окно будет содержать следующие вкладки:

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

Тестер MT4 настройки

Результаты – в данной вкладке показаны совершенные советником операции, по открытию/закрытию и модификации ордеров.

Тестер MT4 результаты

График – здесь отображается результат проведенного тестирования в виде графика.

Тестер MT4 график

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

Тестер MT4 отчет

Журнал – здесь представлены все действия и сообщения советника, также вся эта информация сохраняется в лог и хранится в корневом каталоге с программой в папке tester\logs.

Тестер MT4 журнал

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

Результаты оптимизации MT4

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

График оптимизации MT4

Часть вкладок в окне тестера скрывается, если в них отсутствует какая-либо информации. Изначально доступны вкладки – Настройки, Журнал. В то же время, если вами было проведено тестирование торгового советника, то по его результатам появятся такие вкладки как – Результаты, График, Отчёт. Соответственно после оптимизации появятся вкладки — Результаты оптимизации, График оптимизации.

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

Загрузка котировок в MetaTrader 4

котировки мт4

Тестирование — это один из ключевых моментов при работе с торговыми советниками. Но для того, чтобы его проводить, очень важно иметь исторические данные цен по всем используемым финансовым инструментам и периодам. Исторические данные по большинству инструментов, торгуемых в терминале MetaTrader 4 хранятся на сервере и в любой момент могут быть скачаны трейдером. У многих брокеров есть своя историческая база котировок, наилучшего качества с прямым доступом из терминала MT4 она у брокера Альпари. Так же свой архив котировок есть у RannForex, Darwinex и наиболее признанный и используемый в среде форекс трейдеров данные исторических котировок швейцарского банка Dukascopy Bank SA.

В данной статье мы рассмотрим загрузку и подготовку котировок для тестирования и оптимизации на примере терминала от популярного форекс брокера Альпари. Относительно качественные котировки данного брокера доступны с 2013 года. С сервера исторических данных MQL можно загрузить котировки по основным валютным парам начиная с 1999 года, но они очень низкого качества, с так называемыми «дырами» — пропусками данных за определенный временной период.

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

В отрытом терминале необходимо на верхней панели выбрать «Сервис – Архив котировок» или просто нажать на клавиатуре F2.

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

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

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

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

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

После закрытия терминала все загруженные исторические данные по финансовым инструментам сохраняются в корневой директории торгового терминала MetaTrader 4 в папке /history. Для каждого таймфрейма формируется отдельный файл истории с именем SSSSSSPP.hst (где SSSSSS — обозначение пары, PP — временной период в минутах):

Котировки MT4

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

Настройки MetaTrader 4

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

Выглядит «шпилька» — вот так:

Шпилька в MT4

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

Правка котировок в MT4

В данном форме можно изменить данные, которые по-вашему мнение заведомо ошибочные.

Тестирование советника в MetaTrader 4

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

Тестер MT4

После этого выбираем в выпадающем меню советник, который мы планируем протестировать. Продемонстрируем процесс тестирования на примере советника Zodiaq EA.

Далее выбираем EUR/USD так как именно на данной валютной паре, советник Zodiaq EA демонстрирует наилучшие результаты торговли как на бэк-тестах, так и на реальных счетах.

При тестировании используются файлы исторических данных с расширением *.FXT, которые записываются в директории корневого каталога программы — /tester/history. Эти файлы автоматически создаются при тестировании, если был выбран имеющийся в терминале инструмент. Если данных по данному периоду, методу моделирования и финансовому инструменту в папке отсутствуют, программа автоматически создаст их. Также если вы заранее не загрузили котировки по определённому инструменту, при запуске тестирования на нём, они автоматически начнут скачиваться, это вызовет некоторую задержку перед тестированием.

Модель – методы моделирования цены при тестировании.

Как говорилось ранее торговый терминала MetaTrader 4 при проведении тестирования использует эмуляцию ценового движения на основе баров меньшего таймфрейма, все исторические данные представлены в виде TOHLCV (формат HST). То есть, если вы тестируете к примеру, на таймфрейме H1, то за основу, берутся бары таймфрейма М1, это позволяет более точно моделировать движение цены внутри бара H1, по сравнению с тем, если бы мы использовали к примеру бары более старшего таймфрейма — M15.

В торговом терминале представлены 3 метода моделирования цены:

  1. По ценам открытия (быстрый метод на сформировавшихся барах) – данный режим подходит для тестов торговых советников, которые не используют для проведения своих операций в рынке, то движение цены, которое происходит внутри бара. То есть работают только по ценам открытия. Соответственно при данном способе тест проходит очень быстро. Для торговых алгоритмов, использующих внутрибарное изменение цены или тики, данный метод категорически не подходит и может дать ложное представление об эффективности эксперта.
  2. Контрольные точки (используется ближайший меньший таймфрейм) – Данный способ служит для грубой оценки экспертов, результаты подобного тестирования не нужно воспринимать как точные и доверять им. Для формирования цены внутри бара используются данные ближних наименьших таймфреймов.
  3. Все тики (на основе всех наименьших доступных периодов) – наиболее точный и достоверный метод тестирования из представленных в терминале MetaTrader 4. В качестве основы используется эмуляция тиков внутри бара (обращаем ещё раз внимание на то, что это эмуляция тиков). В отличии от метода контрольных точек, использует не только ближние наименьшие, но и все доступные меньшие таймфреймы. Учитывая большой объём генерации тиковых данных, это может быть очень затратным для ресурсов ПК и как следствие значительно снизить скорость тестирования.

Использовать дату – данной настройкой можно задать временной период, на котором вы планируете запустить торговый алгоритм.

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

Период – выбираем таймфрейм для тестирования (М1, М5, М15, М30, Н1, Н4, Daily)

Спред – выбираем спред для проведения тестирования. Значения устанавливаются в новых пунктах, так есть значение 10 будет равнозначно 1 пункту.

Фиксированность значения спреда, пожалуй, это один из главных недостатков терминала MetaTrader 4, при проведении бэк-тестирования можно использовать только статичный спред, который как вы знаете в реальной торговле всегда динамический (за исключением счетов с фиксированным спредом, который может расширяться в период Rollover). Но забежим сразу вперёд и откроем небольшую тайну, существуют специальные надстройки для MT4, которые позволяют тестировать не только с динамическим реальным спредам, но и на реальных котировках с качеством 99%. Называется данная программа Tick Data Suite, про неё мы отдельно расскажем в последующих наших статьях.

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

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

  • Long & Short — в обе стороны;
  • Only Long — только на покупку;
  • Only Short — только на продажу.

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

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

Входные параметры советника MT4

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

Оптимизация MT4

После того, как установлены и настроены все параметры тестирования, необходимо нажать кнопку «Старт».

Оценка результатов тестирования

Тестер МТ4

После того как проход тестирования торгового алгоритма закончился в окне тестера появятся такие вкладки как — Результаты, График, Отчёт.

Во вкладке «Результаты тестирования» отображаются все операции, производимые с ордерами – открытие, закрытие, модификация, а также установка отложенных ордеров.

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

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

График тестирования MT4

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

Отчет тестера MT4

Баров в истории – количество смоделированных баров в истории.

Смоделировано тиков — количество тиков которое было смоделировано терминалом MetaTrader 4;

Качество моделирования – данный показатель свидетельствует о качестве смоделированных тиков. Также отображается полосой, разных цветов:

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

Как видно в приведенном примере результатов тестирования качество моделирования составило 90%, это низкий показатель для того, чтобы всерьёз воспринимать проведенное тестирование. Но это тот максимум, на который рассчитан данный стандартный метод подготовки котировок через терминал MetaTrader 4. Каким методом пользуется наша команда и как повысить этот показатель, мы расскажем в будущих наших статьях.

Начальный депозит — объем первоначального депозита, с которым начинается тестовый прогон. Устанавливается на вкладке «Настройка – Свойства эксперта – Тестирование»;

Чистая прибыль — финансовый результат всех сделок. Представляет собой разность таких показателей «Общая прибыль» и «Общий убыток»;

Общая прибыль — сумма всех прибыльных сделок в денежных единицах;

Общий убыток — сумма всех убыточных сделок в денежных единицах;

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

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

Абсолютная просадка — наибольший убыток ниже значения первоначального депозита;

Максимальная просадка — наибольший убыток от локального максимума в валюте депозита и в проценте от депозита;

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

Всего сделок — общее количество торговых операций в результате тестового прогона;

Короткие позиции (% выигравших) — количество сделок на продажу и процент их прибыльности;

Длинные позиции (% выигравших) — количество сделок на покупку и процент их прибыльности;

Прибыльные сделки (% от всех) — количество прибыльных сделок и их доля в общем количестве операций, в процентах;

Убыточные сделки (% от всех) — количество убыточных сделок и их доля в общем количестве операций, в процентах;

Самая большая прибыльная сделка — сделка которая принесла наибольшую прибыль в денежном выражении;

Самая большая убыточная сделка — сделка которая принесла наибольший убыток в денежном выражении;

Средняя прибыльная сделка — усредненное значение прибыли за сделку (общая прибыль, поделенная на количество прибыльных сделок);

Средняя убыточная сделка — усредненное значение убытков за сделку (общий убыток, поделенный на количество убыточных сделок);

Максимальное количество непрерывных выигрышей (прибыль) — наиболее длинная серия прибыльных сделок и сумма их выигрышей;

Максимальное количество непрерывных проигрышей (убыток) — наиболее длинная серия убыточных сделок и сумма их проигрышей;

Максимальная непрерывная прибыль (число выигрышей) — максимальная прибыль за одну серию прибыльных сделок и соответствующее ей количество прибыльных сделок;

Максимальный непрерывный убыток (число проигрышей) — максимальный убыток за одну серию убыточных сделок и соответствующее ему количество убыточных сделок;

Средний непрерывный выигрыш — среднее количество прибыльных сделок в непрерывных прибыльных сериях сделок;

Средний непрерывный проигрыш — среднее количество убыточных сделок в непрерывных убыточных сериях сделок.

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

Отчёт тестера MT4

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

Заключение

тестирование мт4

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Меню