Оптимизация советника: Заставь робота зарабатывать больше

03.04.2017
Автор: AcademyFX
2268
Оптимизация советника: Заставь робота зарабатывать больше

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

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

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

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

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

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

 

1 a081d

Тест советника с базовыми настройками

 

Теперь сама оптимизация:

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

 

2 8d345

Параметры, которые будут участвовать в оптимизации

 

  • выбираем по какому критерию будет вестись оптимизация. Указана максимальная прибыль;

 

 3 a56ce

Критерий, по которому будет вестись оптимизация

 

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

 

4 b2f58

График оптимизации

 

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

 

5 27cec

Окно с результатами оптимизации

 

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

 

7 27514

Форвард-тест с новыми настройками

 

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

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

 

Заключение

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

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

Добавить комментарий