Как правильно тестировать и оптимизировать советника в тестере стратегий MetaTrader 4? |

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

Сегодня рассмотрим вопросы тестирования и оптимизации советников в торговом терминале МТ4.

RoboForex (РобоФорекс) - классический бонус до 115% при первом пополнении счёта

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

Как протестировать советник на МТ4?

Открываем торговый терминал MetaTrader 4 и в самом верхнем меню нажимаем на «Вид» и далее «Тестер стратегий». Или просто жмём Ctrl+R.

Откроется тестер стратегий в котором мы и будем производить тестирование нашего советника Ilan16c_PipStepExponent_MFI_lock.

В самой верхней левой вкладке тестера стратегий выбираем «Советник».

Во вкладке рядом, в выпадающем списке, ищем наш советник и кликаем по его названию двойным щелчком мышки.

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

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

Ставим галочку на «Использовать дату» — устанавливаем интервал. Пусть у нас будет интервал с начала 2015 года и до 2015.11.23.

Следующий пункт «Визуализация».

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

Скорость тестирования ставим на максимум — передвигаем ползунок до упора вправо.

Также доступны кнопки «Пауза/Плей» и «Пропустить до».

Переносим свой взгляд в тестере вправо.

Делаем выбор временного периода — выбираем таймфрейм на котором будем производить тестирование робота. Пусть у нас будет M5.

Теперь давайте откроем настройки советника — нажимаем «Свойства эксперта».

Тут мы видим стандартные настройки советника Ilan16c_PipStepExponent_MFI_lock — с ними и потестируем. Вы можете изменить настройки эксперта как захотите и уже потом его протестировать. Любой советник можно тестировать неограниченное количество раз и с разнообразными настройками.

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

Пусть депозит начальный у нас будет 10000 USD, а позиции: покупки и продажи (Long & Short) — так всегда в стандарте в МТ4 должно быть.

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

Этот процесс пригодится и для оптимизации торгового эксперта. Архив котировок по какому-либо инструменту нужно закачать всего один раз.

Как загрузить архив котировок в MT4?

В самом верхнем меню терминала нажимаем «Сервис» и далее «Архив котировок». Или просто жмём F2.

Откроется окно с архивами котировок по доступным инструментам.

Ищем в списке наш символ (нашу валютную пару) USDJPY и кликаем по её названию двойным щелчком мышки, а затем кликаем двойным щелчком мышки на «1 Минута».

Нажимаем кнопку «Загрузить». Начнётся процесс закачки всех котировок по USDJPY — для всех таймфреймов.

Всё — все котировки по USDJPY закачены — теперь можно качественно тестировать и оптимизировать советников на всех тиках.

Закрываем это окно и пробуем протестировать наш советник Ilan16c_PipStepExponent_MFI_lock — нажимаем кнопку «Старт».

Подгружаются котировки из архива котировок.

Что в итоге? Слив всего депозита .

Как видно, стандартные настройки нам явно не подходят — прийдётся оптимизировать данного советника.

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

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

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

Также, проставляем напротив параметров с галочками их «Старты», «Шаги» и «Стопы» — простыми словами, лимит значений от и до с шагом.

На вкладке «Тестирование» можно выбрать размер и валюту депозита, а также указать типы открываемых позиций: покупки и продажи, только покупки или только продажи.

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

— Balance: показателем оптимизированности является максимальное значение баланса;
— Profit Factor: показателем является максимальное значение фактора прибыльности;
— Expected Payoff: показателем является максимальное значение математического ожидания выигрыша;
— Maximal Drawdown: показателем является минимальное значение просадки;
— Drawdown Percent: показателем является минимальное значение относительной просадки (в процентах);
— Custom: при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

Вам будет интересно  Прибыльный советник Quick Scalper

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

Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мышки в поле «Значение» можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу «Enter».

К ограничивающим параметрам относятся:

— Минимальный баланс: минимальное значение баланса в валюте депозита;
— Максимальная прибыль: максимальная прибыль в валюте депозита;
— Минимальный уровень маржи %: минимальный уровень маржи в процентах;
— Максимальная просадка %: максимальная просадка в процентах;
— Непрерывный убыток: максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
— Непрерывное количество убыточных сделок: максимальное количество убыточных сделок в одной серии;
— Непрерывный выигрыш: максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
— Непрерывное количество прибыльных сделок: максимальное количество прибыльных сделок в одной серии.

После всех изменений нажимаем на кнопку «ОК».

Ставим галочку на «Оптимизация» и нажимаем «Старт».

Пошёл процесс оптимизации — как видно из скриншота, будет 10 496 проходов, с временем оптимизации почти 175 часов . Но мы столько ждать то не будем — как только мы увидим отличный вариант/варианты (например, с солидной прибылью и приемлемой просадкой) мы можем остановить оптимизатор.

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

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

Итак, что мы видим? У нас есть несколько хороших проходов, но самый лучший из них самый верхний — самая высокая прибыль и самая маленькая просадка из всех 10 проходов. Эти настройки мы возьмём.

Настройки в советник из оптимизатора можно внедрить двумя способами: кликнуть по нужному проходу двойным щелчком мышки (левой кнопкой) либо нажать на нужный проход правой кнопкой мышки и далее «Установить входные параметры».

Помните наш советник слил весь депозит? Ну а теперь нажимаем кнопку «Старт» и тестируем советник с новыми оптимизированными настройками.

Здорово, правда? Отличные оказались настройки .

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

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

Чтобы внедрить какой-либо файл с настройками в советник в тестере стратегий, нажмите на кнопку «Свойства эксперта» и далее «Загрузить» — укажите путь к файлу, выберите нужный файл мышкой и нажмите «Открыть». Настройки будут интегрированы в советник — после этого не забудьте нажать на кнопку «ОК» в свойствах эксперта.

Сохранять и загружать настройки советников можно не только в тестере стратегий, но и на самих графиках в свойствах этих советников.

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

Теперь Вы знаете как тестировать советника и как грамотно его оптимизировать. Успехов!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

тестер

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

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

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

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

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

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

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

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

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

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

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

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

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

Вам будет интересно  Как отключить автообновление в терминале МТ4

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

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

панель отчет

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

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

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

Прибыльность: коэффициент прибыльности равен общей прибыли, разделенной на общий убыток. Чем выше этот коэффициент, тем лучше. Значение выше 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 сделок в тесте на истории.

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

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

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

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

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

http://tradewinner.ru/kak-pravilno-testirovat-i-optimizirovat-sovetnika-v-testere-strategij-metatrader-4.html
https://traderblog.net/tester-strategij-v-metatrader/