Оптимизация робота самостоятельно

Как оптимизировать Форекс советника самостоятельно для разных временных интервалов или других инструментов

Мы делаем оптимизации несколько раз в месяц — по мере необходимости. Также можно производить дооптимизации настроек гораздо чаще самостоятельно, если вас не устраивают рекомендованные настройки или вы хотите добиться более комфортной для вас работы Форекс советника (торгового робота), либо хотите попробовать его с другим встроенным индикатором, на новом временном интервале или на новом торговом инструменте.

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

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

optim-top

Подготовка к оптимизации

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

Во-вторых, для оптимизаций необходим точно такой же торговый терминал от того же самого брокера, на котором работает ваш торговый робот. Нужно подключаться к тому же торговому счету и открывать график той валютной пары (или товарного инструмента — золота, нефти), которые желаете оптимизировать. Если нет ограничений по счетам и инструментам, то можно использовать различные торговые счета и разные торговые инструменты. Например, мы не имели дело с инструментами «Bitcoin» или «доллар/рубль» или «кукуруза», а вы спокойно можете произвести оптимизацию для данных инструментов и, если найдете смысл запускать на них робота, то можете это сделать для робота Double Trader Extreme, который не имеет ограничений по инструментам и счетам. Если же робот имеет ограничения — то можно менять индикаторы, временные интервалы, расписание торговли и любые другие параметры из панели управления робота в рамках одного торгового инструмента / валютной пары.

Итак, приступим:

1. Установите торговый терминал MetaTrader 4 себе на компьютер.

Скачать его можно с сайта вашего брокера, список брокеров представлен здесь…

2. Подключитесь к вашему торговому счету в терминале.

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

account-connect

Введите логин (номер счета) и пароль от него, также выберите правильный торговый сервер брокера.

account-login

3. Откройте график оптимизируемого символа

Откройте новый график нужного инструмента, кликнув на нем правой кнопкой мыши и выбрав Окно графика.

set-update1

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

add-symbol

4. Загрузите вручную историю котировок с графика

Перед тем как загрузить историю реальных котировок брокера нужно отключить авто-прокрутку графика и установить максимально возможную историю котировок.

auto-scroll-off

В меню Сервис выберите пункт Настройки:

service-set

В настройках во вкладке Графики установите максимальное количество баров в истории и на графике 2 000 000 000.

set-max-charts

Нажмите ОК.

Загрузите правильные котировки для нужного тайм-фрейма

Затем на графике символа, именно на том временном интервале (тайм-фрейме), который планируется оптимизировать, нужно кликнуть мышкой и нажать клавишу Home на клавиатуре. Либо можно крутить колёсиком мышки вниз до упора, после чего должны подгрузиться предыдущие данные графика. Таким образом, нажимая несколько раз Home либо докручивая мышкой до начала графика и потом снова повторяя эти действия, можно загрузить максимально возможную историю котировок данного брокера, на которой можно нормально оптимизировать робота. Загрузка другими способами архива котировок (например с сервера MetaQuotes)  только навредит, так как они не будут правильными для этого брокера.

chart-scroll

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

5. Откройте «тестер стратегий»

В меню Вид выберите пункт Тестер стратегий:

tester1

Либо нажмите на кнопку тестера на верхней панели терминала (если она там есть):

tester2

Откроется окно тестера стратегий внизу терминала.

6. Выберите оптимизируемого робота и желаемые параметры торговли

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

tester3

Устанавливайте желаемое время оптимизации — дату начала и окончания.

7. Установка параметров оптимизации робота

После установки основных параметров можно нажимать на кнопку Свойства эксперта.

tester5

Откроется панель управления оптимизацией робота. В первой вкладке Тестирование нужно установить размер депозита и оптимизируемый параметр (обычно оптимизируем по Maximal Drawdown — максимальная просадка), также желательно включить Генетический алгоритм. Можно пробовать оптимизировать и по другим параметрам, если есть их понимание:

tester-set

Затем откройте сразу третью вкладку Оптимизация, где можно выбрать максимальную величину оптимизируемого параметра, который также необходимо здесь включить. Кроме того, здесь можно ускорить оптимизацию, установивив дополнительные ограничения (хотя обычно лучше начать с максимально возможным количеством результатов в итоге):

tester-set3

Далее отрывайте вкладку Входные параметры, где находятся основные параметры. В этой вкладке необходимо выбрать желаемый индикатор и установить соответствующие ему параметры для оптимизации. Также здесь нужно выбрать какие именно параметры будут оптимизироваться, а какие наоборот будут постоянными. По сути можно оптимизировать любые параметры, но некоторые просто очевидно остаются одинаковыми и не нуждаются в оптимизации. Также, например, бессмысленно тратить время на оптимизирование параметра Период МА-фильтра, если этот МА-фильтр отключен. Кроме того, нужно понимать, что при выборе разных индикаторов, они используют разные параметры для работы и их нужно выбирать соответственно. Какие именно параметры за что отвечают вы можете ознакомиться в Руководстве пользователя роботами…

tester-parameters

Можно сохранить все настройки для тестера на будущее в файл, нажав кнопку Сохранить и придумав новое имя файла.

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

8. Процесс оптимизации

После установки всех желаемых параметров, нужно включить режим Оптимизация и нажать Старт.

test-start

Если процесс оптимизации не начался, то возможна ошибка из-за слишком большого количества оптимизируемых параметров. Чтобы проверить это, нужно открыть вкладку Журнал внизу тестера стратегий:

tester-fail

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

optim-started

9. Выбор результатов оптимизаций

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

Откройте вкладку Результаты оптимизации. В ней будут отображены множество вариантов параметров и результаты их использования. Отсортируйте по нужному вам параметру (например, Прибыль или наоборот, Просадка):

result-optimisation

Затем нужно применить понравившиеся параметры, исходя из предпочтений оптимизатора и поставленных ранее задач — нажмите правой кнопкой мыши на нужном результате и выберите во всплывающем меню Установить входные параметры:

set-parameters

Автоматически откроется вкладка Настройки тестера стратегий, в которой можно нажать Старт и прогнать выбранные параметры оптимизации на любом выбранном временном интервале (например на более продолжительном периоде или включая более ранний или поздний интервал), для нахождения оптимального результата торговли). Если результат прогона не устраивает, выбирайте и устанавливайте другие входные параметры из вкладки Результаты оптимизации. Для тестового прогона на истории нужно убедиться, что птичка рядом с параметром Оптимизация снята.

После прогона выбранных параметров в тестере, можно изучить результат в графическом виде во вкладке График либо в цифровом формате во вкладке Отчет:

tester-chart

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

settings-button

и далее нажать Сохранить.

Затем придумать название SET-файла и нажать еще раз кнопку Сохранить:

save-set-file

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

Итог

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

При возникновении вопросов можете оставлять комментарии — инструкция будет дополняться и улучшаться по мере необходимости.

17 Отзывов

  1. Артем

    Мой брокер дает очень маленький период истории. Хочу сделать оптимизацию на истории котировок от FxPro и Forex.com, но при запуске Тестер стратегий сообщает «Робот не лицензирован для торговли на данном счете.© RobotsForex.ru». Как быть?

  2. Виталий

    Сейчас, обретя уже определённый опыт в оптимизации советников, хочу добавить следующие тонкости, о который Вы в своём описании не упомянули:
    1) как у Вас написано, для оптимизаций устанавливаем модель «По ценам открытия». Это позволит нам быстро получить настройки для дальнейшего тестирования. Однако ДЛЯ ФОРВАРД-ТЕСТОВ ОБЯЗАТЕЛЬНО УСТАНАВЛИВАЕМ МОДЕЛЬ «ВСЕ ТИКИ»! Это позволит более точно подобрать наиболее прибыльные параметры.
    2) Перед форвард-тестом при помощи модели «Все тики», необходимо сказать архив котировок, для этого открываем меню «Сервис» -> «Архив котировок», выбираем нужный инструмент, период, тайм-фрейм (M1 — обязательно, остальные — по желанию), нажимаем «Загрузить», ждём. После скачивания проводим форвард-тесты.
    Данный метод тестирования позволяет получить результаты с точностью 90%. Однако надо признать, результат всё равно далёк от точности.
    3) Для получения результатов с точностью до 99,9% необходимо использовать дополнительные программы, которые, увы, платные. Первая — Tickstory — стоит 30$, довольно проста в использовании, но и она даёт погрешности, особенно при плавающем спреде. Есть бесплатная версия программы, но она работает с терминалом MT4 до 725 билда
    Наиболее точные результаты даст другая программа — Birts’s TickData Suite, её стоимость — 99$, плюс дополнительно подписка на получение котировок на 3 месяца, пол-года или год. В итоге стоимость программы составит от 135$ до 200$.
    Существует и бесплатная стародревняя версия программы, которая сделана ещё в виде скриптов и все действия надо производить вручную, к тому же она работает в терминалом MT4 аж с 409-м билдом от 2011 года! Если сумеете раздобыть этот билд для своего брокера, то считайте 99$ сэкономили.
    Так что, как видите, всё далеко не так просто в оптимизациях, и если хотите высокой точности и качества, то придётся хорошенько попотеть!

    1. Максим Консультант

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

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

  3. Светлана

    Здравствуйте, занимаюсь оптимизацией форекс советника Double Trader. Скажите, могу я для основы загрузить ваш set-файл что бы самому не выставлять значения? Я видела там у вас при загрузке в тестере поля нужные для оптимизации тоже заполнены и стоят напротив галочки

    1. Дмитрий Поддержка

      Светлана, да конечно. Изначально так и было задумано! Загрузив наш set файл даже новичок сможет оптимизировать наши форекс советники. Все нужные параметры и их разброс отмечены галочкой.

  4. Олег

    Здравствуйте! Всё-таки по периоду тестирования. Сколько месяцев надо брать для теста, например на 15 мин? Оставлять ли 1-2 месяца для форвард теста? Например. Сейчас 1 дек. На Июль-авг-сент тестируем. Окт-ноябрь — форвард тест? Или как?

    1. Дмитрий Поддержка

      Олег, для форварда достаточно 2-3 недель, и 1 месяц для бек-теста. Для 15 минут используем для тестирования отрезок не более 3 месяцев.

  5. Александр

    Добрый день ! Есть такие вопросы:
    1. Какие параметры нужно оптимизировать в первую очередь (все параметры оптимизировать одновременно не получится (выпадает ошибка)) ?
    2. Какое значение должны принимать в этот момент второстепенные параметры ?
    3. Могли бы вы сделать видеоинструкцию по детальной оптимизации параметров, то есть как это делает ваш специалист ?

    1. Дмитрий Поддержка

      Александр, 1) В первую очередь оптимизируются параметры уже отмеченные галочкой.
      2) Можно сохранить их значение по умолчанию.
      3) В будущем планируем выпустить несколько вебинаров на данную тему.

    1. Дмитрий Поддержка

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

  6. Виталий

    Хочу добавить одну рекомендацию от себя. Поскольку разработчики рекомендуют депозит из расчёта «100 долларов на 1 инструмент при лотности 0.01», то и оптимизацию проводить с такими же параметрами, а именно: выставляем депозит 10000$, в свойствах робота ставим 1 полный лот и проводим оптимизацию согласно описания выше. Затем, когда будем сохранять полученный результат, не забываем вернуть обратно 0.01 лот (ну или 0.1 в зависимости от брокера). Таким образом мы получим меньше «мусора» и будем точнее видеть относительную прибыль и просадку в процентах во время тестов.

    1. Давид

      Виталий, здравствуйте! Поясните Вашу рекомендацию, пожалуйста. Делаем оптимизацию на 10000, ставим 1 лот. Затем получаем результат. Потом сохраняем этот сет-файл. И меняем лотность на 0.01 после загрузки на окно валютной пары сохраненного сет-файла? Или же меняем, а затем сохраняем? Имеет ли это значение? Если есть еще у Вас дельные советы, выложите, пожалуйста. Ведь за полгода наверняка есть чем поделиться. Спасибо.

  7. Lio

    Здравствуйте. Не понятно одно, когда делается оптимизация выбирается отрезок времени так?
    А бак и форвард тест не нужно делать роботу или достаточно делать подгон последней истории? Как часто нужно делать оптимизации? Можно ли робота оставлять например на год со свежими настройками? Или сольёт? Плохо что нет стопа, защиты или какого то порога например от депо когда он останавливается и ждёт что бы ему вправили мозг ))) Тогда и понятно бы было что требуется заново оптимизировать настройки…..

    1. Дмитрий Поддержка

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

Оставить отзыв