TradeWinner.ru - Форекс для новичков и профи
Лучший сайт о Форексе: индикаторы, советники, скрипты, торговые системы и стратегии. Полезные материалы для начинающих трейдеров. Инвестирование, ПАММ-счета
Россия 000000 Россия +7 000 000 00 00

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

Тестирование и оптимизация советников в MT5 немного отличается от процесса тестирования и оптимизации экспертов в предыдущей торговой платформе МТ4.

Давайте разложим всё по полочкам.

Как тестировать советника в MT5?

Запускаем торговую платформу MetaTrader 5 и в самом верхнем меню нажимаем на «Вид», а затем «Тестер стратегий». Либо жмём комбинацию клавиш Ctrl+R.

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

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

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

Дальше указываем символ и период графика — пусть у нас символом будет валютная пара GBPUSD, а период графика будет M30.

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

Далее идёт Форвард-период — оставим как есть «No».

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

На первой части периода проводится оптимизация советника. После этого отбираются лучшие прогоны (10% при полном переборе параметров или 25% при генетическом алгоритме), и только они запускаются на форвард-периоде. Результаты лучших прогонов при оптимизации на обоих периодах затем можно сравнить на вкладках «Результаты оптимизации» и «Результаты форвард тестирования».

Следующим пунктом идёт настройка режима торговли. Предусмотрены два режим торговли:

— Обычный режим.

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

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

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

Имитация задержки осуществляется для всех торговых запросов, отсылаемых из терминала (выставление ордеров, изменение стоп-уровней, и т.д.). Задержка исполнения осуществляется по следующему принципу: случайным образом выбирается число от 0 до 9, и на такое число секунд осуществляется задержка; если выбранное число равно 9, то случайным образом выбирается еще одно число из такого же диапазона и прибавляется к первому. Таким образом, вероятность задержки исполнения на 0-8 секунд составляет 90%, а вероятность задержки на 9-18 секунд составляет 10%.

Мы оставим тут всё как есть — оставим режим торговли «Обычный».

Справа есть ещё одна вкладка «Режим генерации тиков».

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

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

Мы выберем «Все тики».

Выбираем начальный депозит и кредитное плечо — установим начальный депозит в 10000 долларов, а кредитное плечо выставим равным 1:500.

Далее «Визуализация». Эта опция позволяет включать/выключать режим визуального тестирования. Данный режим не работает при оптимизации советников.

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

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

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

Поля «Старт», «Шаг» и «Стоп» понадобятся нам тогда, когда мы начнём оптимизировать эксперта.

Ну что? Начинаем тестирование . Попробуем прогнать нашего советника MACD Sample в тестере стратегий со стандартными настройками — возвращаемся в главную вкладку тестера «Настройки» и нажимаем кнопку «Старт».

Вот, что получилось.

Как тестировать и оптимизировать советник в торговом терминале MT5? - Testirovanie-i-optimizacija-sovetnikov-v-MT5_16

Весьма неплохо я скажу — просадка всего 4.59% и график симпотичный, но прибыль то маленькая вышла — 894,61 USD практически за 1 год при депозите в 10000 USD. Будем оптимизировать, попробуем найти вариант получше — лот не будет принимать участие в оптимизации — 0.1 лота оставим.

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

Как тестировать и оптимизировать советник в торговом терминале MT5? - Testirovanie-i-optimizacija-sovetnikov-v-MT5_17

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

Итак, давайте начнём оптимизацию нашего советника.

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

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

Доступны следующие критерии оптимизации:

— Максимальный баланс: показателем оптимизированности является максимальное значение баланса;
— Баланс + максимальная прибыльность: показателем является максимальное значение произведения баланса на прибыльность;
— Баланс + максимальное матожидание выигрыша: показателем является произведение баланса на матожидание выигрыша;
— Баланс + минимальная просадка: в данном случае помимо значения баланса учитывается уровень просадки: (100% — Просадка)*Баланс;
— Баланс + максимальный фактор восстановления: показателем является произведение баланса на фактор восстановления;
— Баланс + максимальный коэффициент Шарпа: показателем является произведение баланса на коэффициент Шарпа;
— Пользовательский критерий оптимизации: при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

Критерий оптимизации пусть останется Balance max — максимальный баланс.

Переходим в подвкладку тестера стратегий «Параметры» и ставим галочки напротив тех параметров советника, которые хотим включить в оптимизацию.

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

Теперь снова переходим в главное окно тестера и нажимаем на кнопку «Старт» — включаем оптимизацию.

Начался процесс оптимизации.

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

Для удобства наблюдения выставьте Прибыль по убыванию вниз.

Прошло уже около 400 прогонов и есть несколько нормальных профитных вариантов — остановим оптимизатор и прогоним советник с новыми настройками.

Попробуем самый первый вариант в списке. Кликаем по нему правой кнопкой мышки, а затем нажимаем на «Запустить одиночное тестирование».

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

Как тестировать и оптимизировать советник в торговом терминале MT5? - Testirovanie-i-optimizacija-sovetnikov-v-MT5_25

А давайте попробуем, например, третий вариант сверху.

Ну вот — отличный получился график. По сравнению с самым первым тестом со стандартными настройками прибыль стала больше — 1275.02 USD, а максимальная просадка уменьшилась до 2.63%. Это и есть оптимизация.

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

При желании данный файл можно загрузить в любой терминал МТ5 для искомого советника, когда захотите (для этого есть кнопка «Загрузить» — она видна на скриншоте ниже).

Задавайте свои вопросы, если это необходимо. Успехов!

RoboForex (РобоФорекс) - 50%-й Profit Share бонус при первом пополнении депозита
Рейтинг: 5.0, полученный в результате 2 голосов.
Пожалуйста, подождите...
RoboForex (РобоФорекс) - Prime-счета с VIP-условиями торговли для клиентов
Комментарии
  1. Alex
  2. Сергей
Написать комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните КАПЧУ *