Знакомство с тестером стратегий MetaTrader 5

Для проверки качества торгового робота в MetaTrader 5 встроен тестер торговых стратегий. Он позволяет еще до запуска советника на торговом счете определить его эффективность и подобрать наилучшие входные параметры.

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

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

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

Тестер стратегий MetaTrader 5 предлагает несколько режимов тестирования. Они позволяют выбрать оптимальное соотношение скорости и качества в соответствии с потребностями пользователя. Режим «Все тики» предназначается для наиболее точной проверки, в этом случае моделируемые условия будут наиболее приближены к реальным. Режим «1 minute OHLC» позволяет протестировать стратегию быстрее с достаточным уровнем точности. Если нужна очень быстрая и грубая оценка, выбирайте режим «Только цены открытия» — тестирование будет проходить только по ценам открытия баров. Самое высокое качество предлагает режим «Все тики на основе реальных», однако при этом затраты времени будут максимальными.

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

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

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

  • процентное соотношение прибыли и убытка,
  • количество удачных и неудачных сделок,
  • фактор риска,
  • ожидание выигрыша.

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

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

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

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

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

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

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

В тестере стратегий доступны мощные инструменты визуального анализа результатов оптимизации в режимах 2D и 3D. Например, в двухмерном представлении можно сразу проанализировать зависимости итогового результата от двух показателей, а в 3D — увидеть всю картину поиска наилучшего результата при оптимизации.

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

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

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