Тестер стратегий в MetaTrader: тестируем советники на истории

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

Что означает тестирование на истории? Провести тестирование означает проверить работу советника на исторических данных. Если все сделано правильно, тестирование на истории даст вам хорошее представление о работоспособности и потенциале вашего советника.

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

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

Преимущества тестирования на истории

Тестирование советников на истории имеет много преимуществ:

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

Недостатки тестирования на истории

Тестирование на истории также имеет некоторые недостатки:

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

Как скачать исторические данные в MetaTrader?

Прежде чем вы сможете протестировать свой советник, вы должны загрузить исторические котировки у своего брокера. Для начала перейдите в Сервис — Настройки — Графики и введите для параметров «Макс. баров истории» и «Макс. баров в окне» число 9999999999999. Перезапустите терминал и нажмите F2 на клавиатуре.

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

Выберем пункт в меню «Сервис» и далее «Архив котировок»:

архив котировок

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

загрузить исторические котировки

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

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

Если вы нажмете на кнопку «Загрузить», вы сможете скачать котировки с сервера MetaQuotes.

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

Что из себя представляет тестер стратегий?

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

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

Советник: выберите советника, которого вы хотите протестировать.

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

Период: выберите период, на котором вы хотите протестировать советник.

Модель: выберите модель, по которой вы хотите протестировать советник. Здесь вам доступно три варианта:

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

Спред: выберите размер спреда для тестирования на истории. Приемлемое значение составляет 2 пункта. (установите 20 для 5-значного брокера и 2 для 4-значного брокера).

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

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

Свойства эксперта: здесь вы можете изменить свойства вашего советника.

Свойства символа: показывает полезную информацию о текущем инструменте.

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

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

Когда вы установите все нужные параметры, вы можете начать тестирование, нажав на кнопку «Старт». Если тестирование завершено, вы увидите под вкладкой Результат 3 новые вкладки: «График», «Отчет» и «Журнал».

Как использовать тестер стратегий?

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

Выбираем советник, торговый инструмент, таймфрейм, начальную и конечную даты:

тестер стратегий в metatrader - выбираем советник

Настраиваем параметры советника — вкладка «Свойства эксперта»:

тестер стратегий в metatrader - настраиваем параметры советника

Список выполненных ордеров — вкладка «Результаты»:

тестер стратегий в metatrader - список выполненных ордеров

Линия баланса торгового счета — вкладка «График»:

тестер

Журнал тестирования — вкладка «Журнал»:

тестер стратегий в metatrader - журнал тестирования

Статистика — вкладка «Отчет»:

тестер стратегий в metatrader - статистика

Щелкнув правой кнопкой мыши на отчете, вы сможете сохранить его в файл — пункт «Сохранить как отчет»:

тестер стратегий в metatrader - отчет

Если вы нажмете на кнопку «Открыть график» на панели «Настройки», вы сможете увидеть все ордера советника, выполненные во время тестирования:

тестер стратегий в metatrader - ордера советника на графике

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

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

После тестирования вашего советника важно проанализировать полученные результаты.

Панель «Результаты»:

тестер стратегий результаты

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

Панель «График»:

тестер стратегий - график

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

Панель «Отчет»:

панель отчет

Это важная вкладка со множеством полезной информации.

Общая прибыль: сумма всех прибыльных сделок.

Общий убыток: сумма всех убыточных сделок.

Прибыльность: коэффициент прибыльности равен общей прибыли, разделенной на общий убыток. Чем выше этот коэффициент, тем лучше. Значение выше 1.5 — это хорошо.

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

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

Максимальная просадка: разница между одним из локальных максимумов и последующим минимумом эквити.

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

Панель «Журнал»:

панель журнал

Данная вкладка полезна для разработчика советника для поиска ошибок в коде.

Качество моделирования в тестере стратегий

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

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

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

Если вы хотите проверить работу советника наиболее точно, рекомендуется иметь качество моделирования более 90%. Плохая новость заключается в том, что вы не сможете достичь качества моделирования более 90%, используя только исторические данные MetaTrader. Однако вы сможете скачать другие тиковые котировки или использовать стороннее программное обеспечение, которое позволит вам достичь 99,9% качества моделирования.

Оптимизация советника

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

Чтобы использовать эту опцию, вы должны установить флажок «Оптимизация» на вкладке «Настройки» тестера стратегий MetaTrader 4, а затем перейти к «Свойствам эксперта». На вкладке «Входные параметры» вы можете выбрать, по каким критериям советник должен быть оптимизирован.

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

оптимизация советника

Теперь перейдем на вкладку «Входные параметры». Здесь нас интересуют колонки «Старт», «Шаг» и «Стоп».

К примеру, я могу протестировать несколько разных уровней тейк-профита. Я устанавливаю флажок рядом с TakeProfit и далее устанавливаю Старт = 20, Шаг = 15, Стоп = 95. Теперь тестер стратегий будет тестировать прибыль вашего советника несколько раз с помощью комбинации всех выбранных параметров тейк-профита.

оптимизация параметров советника

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

В Результате оптимизации вы увидите все проходы с прибылью и общим числом сделок. Далее вы можете нажать правой кнопкой мыши на лучший результат и выберите «Установить входные параметры».

тестер стратегий - параметры оптимизации

На «Графике оптимизации» вы можете видеть все проходы и оптимизированные параметры:

прибыльность

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

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

Профит фактор

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

Неправильная модель тестирования

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

Чрезмерная оптимизация

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

Например, если вы хотите оптимизировать стоп-лосс от 40 до 160 и тейк-профит от 20 до 80, не оптимизируйте каждый шаг. Выберите шаг 10 для для стоп-лосса и шаг 5 для тейк-профита. Таким образом, тестирование будет менее прибыльным, но менее оптимизированным.

Время тестирования

Не тестируйте свой советник слишком далеко. Бесполезно оптимизировать свой советник до 2000 года. Рынки сильно изменились с тех пор. Лучше всего будет оптимизировать советник на основе последней истории (1-3 года). Вам будет достаточно иметь около 200-300 сделок в тесте на истории.

Разнообразие в тестировании

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

Советники с маленькими стоп-лоссом или тейк-профитом

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

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