Справка по MetaTrader 5

Тестирование стратегий

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

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

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

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

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

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

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

Посмотреть видео: Бесплатное тестирование советников и индикаторов перед покупкой

Посмотреть видео: Бесплатное тестирование советников и индикаторов перед покупкой

Посмотрите краткое видео, как протестировать торгового робота перед покупкой в Маркете. Для тестирования в Маркете имеются специальные демо-версии, которые можно проверить в Тестере стратегий. О том, как это делается мы и расскажем в этом видео.

Выбор торгового робота для тестирования

Выполните команду "Тестировать Тестировать" в контекстном меню нужного советника в окне "Навигатор".

Выбор торгового робота для тестирования

После этого советник будет выбран в тестере стратегий.

Включение необходимых символов в окне "Обзор рынка" для мультивалютных экспертов

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

История по используемым инструментам закачивается тестером из торговой платформы (не с торгового сервера!) автоматически при первом обращении к данному инструменту. С торгового сервера докачивается только недостающая история.

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

Включение необходимых символов в окне "Обзор рынка" для мультивалютных экспертов

Выбор настроек тестирования

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

Выбор настроек тестирования

Символ и период

Выберите основной график для тестирования и оптимизации. Выбор символа необходим для срабатывания событий OnTick(), заложенных внутри экспертов. Также выбранные символ и период влияют на специальные функции в коде советника, которые используют параметры текущего графика (например, Symbol() и Period()). Иными словами, здесь выбирается график, к которому был бы присоединен советник.

Интервал

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

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

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

Форвард-период

Данная опция позволяет проверить результаты тестирования для исключения подгонки на определенных периодах времени. При форвард-тестировании период, указанный в поле "Установить дату", делится на две части, в соответствии с выбранным форвард периодом (половина, треть, четверть или собственный период, когда указывается дата начала форвард тестирования).

Первая часть называется периодом бэк-тестирования. На ней проводится адаптация работы советника. Вторая часть называется периодом форвард-тестирования, на ней проводится проверка выбранных параметров советника.

Режим торговли

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

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

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

Без задержки

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

Произвольная задержка

Режим произвольных задержек предусмотрен для тестирования экспертов в условиях, приближенных к реальным. Величина задержки генерируется случайным образом по следующему принципу: случайным образом выбирается число от 0 до 9, и на такое число секунд осуществляется задержка; если выбранное число равно 9, то случайным образом выбирается еще одно число из такого же диапазона и прибавляется к первому.

Таким образом, вероятность задержки исполнения на 0-8 секунд составляет 90%, а вероятность задержки на 9-18 секунд составляет 10%.

Фиксированная задержка

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

Режим генерации тиков

Выберите один из режимов генерации тиков:

  • Все тики — наиболее точный, но и наиболее медленный режим моделирования. В нем моделируются все тики.
  • Каждый тик на основе реальных тиков — максимально приближенный к реальным условиям режим. Используются реальные тики, накопленные брокером по финансовым инструментам. Моделирование не осуществляется. Тиковые данные имеют большой размер, при первом запуске тестирования их скачивание с сервера брокера может занять продолжительное время.
  • OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.
  • Только цены открытия — в данном режиме моделируются также цены OHLC, однако для тестирования/оптимизации используется лишь цена открытия.
  • Математические вычисления — в данном режиме тестер не будет подкачивать исторические данные, информацию о символах и не будет генерировать тики. Будут вызваны только функции OnInit(), OnTester() и OnDeinit(). Таким образом тестер можно использовать для различных математических вычислений, где требуется подбор параметров.

Более подробно режимы генерации тиков описаны в отдельном разделе.

Начальный депозит и плечо

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

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

Выбор входных параметров

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

Задайте значение для каждого входного параметра.

Выбор входных параметров для тестирования

Наборы параметров. Чтобы вы могли в любой момент вернуться к текущим настройкам MQL5-программы, сохраните набор параметров через контекстное меню:

  • Чтобы сохранить набор в виде set-файла на компьютере, нажмите "Сохранить". Такие файлы можно переносить между платформами на разных компьютерах, передавать другими пользователям.
  • Чтобы сохранить набор для последующего удобного использования в текущей платформе, нажмите "Сохранить набор". Сохраненные таким образом параметры будут доступны в подменю "Загрузить версию". Их можно в любой момент применить, просто выбрав из списка.

Запуск тестирования

Чтобы начать тестирование, нажмите "Старт" на вкладке "Настройки". Левее при этом будет показываться ход выполнения теста.

Где посмотреть результаты тестирования

Результаты тестирования советников отображаются на вкладках "Бэктест" и "График".

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

Отчет о тестировании

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

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

Подробная информация о показателях представлена в разделе "Отчет о тестировании".

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

На вкладке "График" можно легко визуально определить, насколько успешно отработал советник на выбранном инструменте на выбранном интервале времени.

В основной части вкладки отображаются кривые изменения баланса (синяя линия) и средств (зеленая линия). На горизонтальной шкале отображаются даты, а на вертикальной значения баланса/средств.

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

В нижней части вкладки отображается гистограмма нагрузки на депозит, которая рассчитывается как отношение маржи к средствам (margin/equity).

Ход тестирования в журнале

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

Ход тестирования на графике

После окончания тестирования можно открыть график, на котором был протестирован советник (выбранные символ и период). Для этого нажмите "Открыть график Открыть график" в контекстном меню вкладки "Бэктест". На графике отображаются все сделки, совершённые советником во время тестирования. При наличии шаблона с названием tester.tpl в каталоге /profiles/templates торговой платформы, именно он будет применен к открываемому графику. При его отсутствии применяется шаблон по умолчанию (default.tpl).

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

Форвард тестирование для проверки робота на неоптимизированном участке

Форвард-тестированием называется повторный прогон советника на другом временном периоде. Такая возможность предусмотрена для исключения подгонки параметров советников на определенных участках исторических данных.

Чтобы включить форвард-тестирование, на вкладке "Настройки" в поле "Форвард-период" укажите, какую часть общего периода необходимо использовать для него:

  • нет — не использовать форвард-тестирование;
  • 1/2 — использовать половину указанного периода для форвард-тестирования;
  • 1/3 — использовать треть указанного периода для форвард-тестирования;
  • 1/4 — использовать четверть указанного периода для форвард-тестирования;
  • пользовательский — при выборе данного поля, в поле справа укажите дату, с которой будет начато форвард тестирование.

Форвард-период

  • Для форвард-тестирования всегда берется вторая (последняя) часть общего периода.
  • На графике дата начала форвард-период отмечается вертикальной линией.

При включении форвард-тестирования, от периода, выбранного в поле "Использовать дату", отделяется выбранная часть. Первая часть называется периодом бэк-тестирования, вторая — периодом форвард-тестирования.

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

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

Более подробно о получаемой в результате тестирования информации можно узнать в разделе "Где посмотреть результаты тестирования".

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

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

Для визуального тестирования поставьте галочку "Визуализация" в настройках:

Включение визуального тестирования

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

Настройте параметры тестирования и входные параметры, а затем нажмите "Старт".

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

Тестирование в визуальном режиме

Управление процессом тестирования

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

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

Наблюдение за торговлей советника на графике

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

Торговые операции показываются на графике иконками Покупка (сделка на покупку) и Продажа (сделка на продажу). Между сделкой входа и выхода из рынка отображается пунктирная линия.

  • Вы можете изменить внешний вид графика, отобразить на нем индикаторы или графические объекты. Для этого используйте шаблон. Чтобы шаблон был применен, его имя должно совпадать с именем тестируемого советника, например, ExpertMACD.tpl. Сам шаблон должен располагаться в папке /profiles/templates торговой платформы.
  • Список символов, по которым можно просмотреть график, ограничивается основным символом тестирования, а также символами, чьи данные использует советник.
  • Отсутствует возможность переключения периода графика. Для основного графика тестирования, используется период, выбранный в настройках. Для остальных символов используются периоды, запрошенные советником.
  • Переключение между символами осуществляется через меню "Вид — Графики".

Просмотр ценовых данных в Обзоре рынка

В окне "Обзор рынка" отображаются цены, генерируемые в процессе тестирования. Оно схоже с одноименным окном торговой платформы, однако обладает рядом особенностей. Показать/скрыть данное окно можно выполнив команду "Обзор рынка" в меню "Вид" или нажав сочетание клавиш "Ctrl+M".

Обзор рынка при визуальном тестировании

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

На вкладке "Тики" отображается график цен, генерируемых в процессе тестирования. Количество отображаемых тиков ограничивается 64 тысячами.

Просмотр данных о барах и показателях индикатор в Окне данных

В окне данных можно посмотреть информацию о ценах (OHLC), дате и времени бара, спреде, объеме, а также об используемых индикаторах. Здесь можно быстро получить требуемую информацию об отдельном баре и наложенных индикаторах в выбранной точке графика. Включение/отключение данного окна происходит при нажатии кнопки "Окно данных" в меню "Вид" или сочетанием горячих клавиш "Ctrl+D".

Окно данных при визуализации тестирования

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

Просмотр деталей торговых операций в окне Инструменты

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

  • Текущие открытые позиции и выставленные отложенные ордера
  • История ордеров и сделок
  • История торговых запросов советников, включая запросы на изменения отложенных ордеров, стоп-уровней позиций и т.д.

Информация о параметрах торговых операций доступна в разделах Торговля и История.

Просмотр деталей торговых операций в окне Инструменты

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

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

Тестирование индикаторов в визуальном режиме

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

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

Тестирование индикаторов в визуальном режиме

Поведение индикатора показывается на графике, который строится по смоделированной в тестере последовательности тиков.