Сегодня рассмотрим вопросы тестирования и оптимизации советников в торговом терминале МТ4.
Для чего нужно тестировать Форекс советника? Тестирование необходимо для того, чтобы увидеть как ведёт себя торговый робот на истории с различными вариантами его настроек. Оно позволяет понять — сливатор данный советник или в нём всё же есть профитное зерно и его можно в дальнейшем поставить на реальный счёт.
Как протестировать советник на МТ4?
Давайте, для примера, попробуем протестировать советник по Мартингейлу Ilan16c_PipStepExponent_MFI_lock.
Открываем торговый терминал 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() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.
Галочка напротив генетического алгоритма — рекомендуется оставить с поставленной галочкой. Если галочки нет, то обязательно поставьте её. Если галочку не поставить, Вы будете ждать вечно пока советник прооптимизируется, так как будут перебираться абсолютно все комбинации входных параметров эксперта.
Вкладка «Оптимизация». Она позволяет управлять ограничениями во время оптимизации. Если в процессе отдельного прогона будет достигнуто любое из условий, данный прогон советника остановится. Оптимизация продолжится со следующего прогона.
Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мышки в поле «Значение» можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу «Enter».
К ограничивающим параметрам относятся:
— Минимальный баланс: минимальное значение баланса в валюте депозита;
— Максимальная прибыль: максимальная прибыль в валюте депозита;
— Минимальный уровень маржи %: минимальный уровень маржи в процентах;
— Максимальная просадка %: максимальная просадка в процентах;
— Непрерывный убыток: максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
— Непрерывное количество убыточных сделок: максимальное количество убыточных сделок в одной серии;
— Непрерывный выигрыш: максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
— Непрерывное количество прибыльных сделок: максимальное количество прибыльных сделок в одной серии.
После всех изменений нажимаем на кнопку «ОК».
Ставим галочку на «Оптимизация» и нажимаем «Старт».
Пошёл процесс оптимизации — как видно из скриншота, будет 10 496 проходов, с временем оптимизации почти 175 часов . Но мы столько ждать то не будем — как только мы увидим отличный вариант/варианты (например, с солидной прибылью и приемлемой просадкой) мы можем остановить оптимизатор.
Открываем вкладку «Результаты оптимизации» и наблюдаем за процессом. Прогоны будут выстраиваться вертикально в ряд. Вы можете отсортировать любую ячейку — нажмите левой кнопкой мышки на заголовок нужной ячейки и будет произведена сортировка по возрастанию значений сверху вниз, нажмите по заголовку ещё раз и будет сортировка по убыванию значений сверху вниз.
Думаю 10 положительных проходов оптимизатора будет достаточно для примера. Останавливаем оптимизатор — вкладка «Настройки», кнопка «Стоп».
Итак, что мы видим? У нас есть несколько хороших проходов, но самый лучший из них самый верхний — самая высокая прибыль и самая маленькая просадка из всех 10 проходов. Эти настройки мы возьмём.
Настройки в советник из оптимизатора можно внедрить двумя способами: кликнуть по нужному проходу двойным щелчком мышки (левой кнопкой) либо нажать на нужный проход правой кнопкой мышки и далее «Установить входные параметры».
Помните наш советник слил весь депозит? Ну а теперь нажимаем кнопку «Старт» и тестируем советник с новыми оптимизированными настройками.
Здорово, правда? Отличные оказались настройки .
Открываем на главной странице тестера стратегий «Свойства эксперта» и нажимаем кнопку сохранить — нам нужно сохранить для себя этот файл с настройками, чтобы потом его можно было использовать с этим советником на разных терминалах в любое время.
Выбираем куда будем сохранять файл и придумываем ему название, затем нажимаем кнопку «Сохранить». В данном случае файл сохранится на рабочем столе.
Чтобы внедрить какой-либо файл с настройками в советник в тестере стратегий, нажмите на кнопку «Свойства эксперта» и далее «Загрузить» — укажите путь к файлу, выберите нужный файл мышкой и нажмите «Открыть». Настройки будут интегрированы в советник — после этого не забудьте нажать на кнопку «ОК» в свойствах эксперта.
Сохранять и загружать настройки советников можно не только в тестере стратегий, но и на самих графиках в свойствах этих советников.
Результаты данного оптимизационного тестирования и файл настроек вложены в архив советника.
Теперь Вы знаете как тестировать советника и как грамотно его оптимизировать. Успехов!
Неплохо было бы добавить в эту статью решение каких-то попутных проблем. Например, во время оптимизации и после, нет результата в окне оптимизации и нет графика оптимизации. Я так и не смог решить эту проблему, списал советник и удалил в корзину.