Как оптимизировать форекс советник на истории

Как оптимизировать форекс советник

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

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

Оптимизация форекс советников для начинающих

Что такое оптимизация

что такое оптимизация советников

Не секрет, что ручные торговые системы со временем устаревают и перестают приносить ту прибыль, которую приносили в прошлом. При этом старые убыточные стратегии начинают вдруг хорошо себя показывать. Всему виной цикличность рынка, когда одни торговые условия сменяются другими. То же самое происходит и с советниками. Рыночные условия перестают подходить под стратегию, заложенную в алгоритм советника и тот начинает терять деньги. Что же делать в такой ситуации, просто удалить советник и забыть про него? К счастью, в этом случае нам на помощь приходит оптимизация. Так что же это такое? По сути это просто подгонка параметров советника под текущие рыночные условия, корректировка стратегии, ее адаптация к изменившимся условиям. Как трейдеры корректируют свои ручные торговые системы под текущий рынок, так и алготрейдеры корректируют свои советники. Изменения, адаптация – неотъемлемая часть процесса торговли. Тот, кто не изменяется вовремя – остается за бортом, такова жизнь трейдера.

Выбор модели

выбор модели оптимизации форекс роботов

Итак, мы с вами определились, что оптимизация все-таки важная и даже необходимая деталь в торговле при помощи советников. К тому же, повторюсь, вы уже знаете, как закачивать котировки, устанавливать в терминал и тестировать советники, в курсе, что такое «сеты» или set-файлы. Теперь настало время открыть терминал и провести оптимизацию. Когда я рассказывал про тестирование советников, я рассказал вам о трех моделях тестирования и их особенностях. Рекомендую оптимизировать советников по модели «все тики». Это наиболее точная модель и вероятность того, что вы сделаете что-то неверно станет меньше. Приведу пример теста советника по трем моделям для сравнения конечных результатов, чтобы вы наглядно могли убедиться в моих словах:

Модель «по ценам открытия»

цены открытия

Модель «контрольные точки»

контрольные точки

Модель «все тики»

все тики

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

Вкладка тестирование

Вкладка тестирование

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

  • «Balance»— отбор ведется по конечной величине баланса депозита;
  • «Profit Factor»— отбор ведется по конечному соотношению совокупной суммы прибыльных сделок к совокупной сумме убыточных сделок (т.е. прибыльность, как минимум, должна быть больше 1);
  • «Expected Payoff»— отбор ведется по итоговому математическому ожиданию, т.е. среднему показателю прибыли на одну сделку. (Математическое ожидание, как минимум, не должно быть равно или меньше размера спреда);
  • «Maximal Drawdown»— отбор ведется по минимумам достигаемых размеров максимальной просадки. Другими словами, Maximal Drawdown — это наибольшая сумма средств, на которую уменьшался депозит от соответствующего локального максимума. По сути, данный показатель говорит о реальной цене риска. Например, если максимальная просадка превышает размер первоначального депозита — стоит сильно задуматься о пересмотре размера депозита.
  • «Drawdown Percent»— отбор ведется по относительной просадке, т.е. процентный размер максимальной просадки в отношении к размеру текущего депозита. Использование данного параметра в качестве основного выходного полезна, когда советник торгует нефиксированными размерами лота или же например включена функция прогрессирующего лота.

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

Вкладка входные параметры

Входные параметры

Оптимизацию советников принято проводить также как и тестирование с выключенным мани менеджментом, лотом 0.1. Для этого нужно найти в параметрах советника соответствующий блок и выставить фиксированный лот 0.1. Таблица на вкладке входные параметры содержит 4 столбца – сам параметр, его текущее значение, начальное значение для оптимизации, шаг и конечное значение для оптимизации. Что это все значит? Например, мы хотим на определенном отрезке времени подобрать оптимальный для советника стоплосс. Для этого мы задаем начальное значение стопа (старт), скажем, 10 пунктов. Задаем конечное значение, например 60 – со стопом больше, чем 60 внутри дня делать нечего. Мы можем задать хоть миллион, но к выбору  этих значениям нужно подходить с умом, иначе это сильно увеличит время, затраченное на оптимизацию. И последнее – шаг. Если мы укажем шаг 10, например, получим следующий перебор выбранного параметра: 10, 20, 30, 40, 50, 60. Тут тоже стоит подойти с точки зрения логики, нет смысла выставлять шаг 1 или шаг 10 (5). Вполне подойдет шаг 2, что также сэкономит ресурсы.

А что же делать, если параметров много?

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

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

Вкладка оптимизация

Вкладка оптимизация

Эта вкладка также призвана экономить время оптимизации. Тут вы можете выставить свои правила отсева результатов, причем еще на этапе самой оптимизации. Например, ограничить максимальное непрерывное количество убыточных сделок четырьмя, а максимальную просадку 10-ю процентами. Тогда в результатах оптимизации будут отображены только результаты, удовлетворяющие этим параметрам.

Выбор отрезка для оптимизации

выбор отрезка при отимизации forex роботов

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

Подход новичка

Итак, вот подход, используемый многими новичками. Берется короткий доступный период истории (часто не длиннее пары месяцев, чтобы ждать было недолго) и нажимается кнопочка «старт». После завершения выбирается тот проход, который дал больше всего «бабла». Все, сет устанавливается на реал и новичок готовит мешок для денег, часто при этом еще хвастаясь своим «граалем». А затем, конечно же, происходит слив.

Популярный подход

Этот подход – самый распространенный среди не новичков. Выбирается два участка истории, участок оптимизации и участок форвард-теста. При этом участок оптимизации находится перед участком форвард-теста, без разрывов в днях. Как правило, под оптимизацию выбирают первые две трети выбранного участка истории, а на форвард выделяют оставшуюся одну треть. На участке оптимизации подбираются лучшие варианты, а на форвард периоде, который советник еще «не видел», происходит отбор хороших настроек. Выбор участка истории определяется на усмотрение трейдера. При этом чем больше участок, тем более приспособлены настройки к разным неожиданностям рынка, тем дольше он будет зарабатывать при одних и тех же настройках, тем позже сеты устареют. Но при этом тем меньше будет общая прибыль советника. Чем короче период оптимизации, тем больше настройки приспособлены к определенному периоду рынка, определенным торговым условиям, но тем больше его эффективность при этих условиях, больше прибыль. Можно проводить оптимизацию раз в неделю, а можно раз в пять лет – кому что больше по вкусу. Но есть один минус в старании трейдеров найти оптимальные параметры для короткого участка – никогда не знаешь наверняка, когда настройки устареют. Можно угадать с сетом и всю будущую неделю советник будет торговать прибыльно, а может случиться и так, что в понедельник же характер рынка изменился и советник всю неделю будет сливать. Лично меня эта лотерея как-то не вдохновляет, и я не стремлюсь при оптимизации гнаться за максимальной эффективностью.  Вместо этого я подбираю сеты «на года».

Кроме того, бытует мнение, что далее, чем на три года назад смотреть бессмысленно. Я не могу оспорить это утверждение фактами, но все же выбираю период оптимизации не меньше 6 лет с участком форвард-теста не менее двух. Мне так спокойнее.

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

Вуду подход

Часто встречал в интернетах такой вуду подход, который выдается за подход для настоящих профи. Участок истории делится на два равных участка. На каждом из них отдельно проводится оптимизация, сохраняются 10-20 вариантов удачных настроек. Затем настройки из первого и второго участка сравниваются и те, которые примерно похожи, принимаются за оптимальные. Это полный бред, отнимает вагон времени и не несет никакой смысловой нагрузки. Используя данный вуду-метод, вы убьете кучу часов на ерунду и в конец посадите свое зрение.

Мой подход

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

Итак, предположим, у нас есть кусок истории в 15 лет (не меньше 10), скажем, с 2000 года до 2015. Разбиваем этот кусок на следующие периоды: 2000-2003 – это наш кусок бэквард-теста, 2003-2012 – период оптимизации, 2012-2015 – форвард-тест. После оптимизации мы проводим как обычно форвард тестирование, отбирая 10-20 наиболее удачных сетов. После этого выбранные сеты прогоняем на участке бэквард-теста. Результаты должны быть похожи на полученные при форварде. Те сеты, которые выдержали тест, остаются для дальнейшего сравнения. Далее прогоняем тест по оставшимся сетам на всем куске истории и выбираем тот, результаты которого лучше остальных. В итоге остается один наиболее приспособленный сет настроек.
Как отбирать сеты на первом этапе – форвард-тесте? Очень просто: самое главное для нас на этом этапе – вид кривой баланса. В идеале она должна быть прямой линией, идущей из левого нижнего в правый верхний угол. При этом нет смысла смотреть все подряд лучшие сеты – часто они практически одинаковые. Отбирать стоит из лучших сетов только различающиеся по количеству сделок.

Если отличается торговля на реале и в тестере

форекс торговля в тестере и в реале

Итак, мы получили заветные сет файлы для нашего советника. При этом ставить на реальный счет советник пока рано. Настало время проверить наши сеты на демо счете. В принципе, 20-30 сделок по одной паре точно хватит, чтобы понять, удался ли сет. Кроме того, есть смысл проверить, совпадают ли сделки на демо со сделками за тот же период в тестере. Для этого делают тест и сравнивают показания. Если сделки хотя бы примерно совпадают, то все нормально. Не стоит ждать сделок пипс в пипс и секунда в секунду, также если каких-то сделок не будет хватать, тоже не страшно. Важна общая картина, общее сходство. В реальных условиях работа советника всегда будет немного отличаться от теста – по проскальзывание, то советник не вошел из-за слишком высокого спреда, то реквоты или еще что-то. Но картина не должна конечно отличаться кардинально! Если вы видите на тесте совершенно не такую, как на реале картину, то оптимизировать такой советник бесполезно – какой бы красивый сет вы ни подобрали, торговать советник будет все равно по-другому.

Заключение

оптимизация forex советников заключенмие

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

Тема на форуме

С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru

В помощь Трейдеру, Новичкам, Советники Форекс , , , , ,