Тестирование и оптимизация советников форекс в мт4. Как научить советник прибыльно торговать на рынке Форекс? Подключитесь к вашему торговому счету в терминале

Не многие сегодня знают, то самый обычный тестер стратегий в терминале metetrader 4 (или 5 на ваш вкус) позволяет, потратив определенное время на оптимизацию найти наилучший сет настроек. Позволяющий с помощью торгового робота зарабатывать как можно больше прибыли и попадать в как можно меньшие просадки. Хорошая новость для многих из вас, состоит в том, что более не нужно рисковать на реальных счетах, запуская на них советника с имеющимся у вас на руках сетом настроек. Каждый из вас уже давно имеет возможность найти лучшую комбинацию из возможных или просто выбросить робота за отсутствием "полезности" для вашего кошелька. Смысл оптимизации сводится к следующему: роботу задаются настройки к каждому параметру по виду - "от и до", с которыми он прогоняется на периодах от одного года. В следствии чего в результатах оптимизации трейдер может наблюдать какие настройки приводят к наиболее продуктивным вариантам, а не искать свой сет, наобум подставляя параметры. И ежеминутно прогоняя его в тестере стратегий. Оптимизация позволяет за 1-5 часов понять имеет ли советник потенциал или нет и если этот потенциал есть - то использовать его на максимум. Разве ни этого хочет каждый трейдер? Давайте узнаем, как же проводить оптимизацию форекс советника.

Как и прежде необходимо найти специфический значок с лупой, обозначающий необходимый нам тестер стратегий, который мы и будем использовать для оптимизации советника. При нажатии на кнопку тестера (расположена она в верхней панели инструментов терминала метатрейдер), нам открывается дополнительное окно программы, находиться оно будет в самом низу. В первой графе нужно будет выбрать название оптимизируемого советника, в наших примерах, это будет советник R-Profit V.8 от нашего проекта. Во второй, вы сможете выбрать валютную пару, на которой будете тестировать форекс робота. Ну и конечно же, модель тестирования, временной интервал (таймфрейм), период тестирования (дата "от и до") и спред (рекомендуется оставлять на параметре "текущий"). Предлагаем взглянуть на рисунок ниже, для более полноценного представления.

Как бы ни казалось, но не все так просто, давайте рассмотрим весь процесс аккуратно и по шагам, чтобы уже ни у кого не возникало вопросов. Мы коснемся и загрузки котировок в ваш терминал метатрейдер и установки советника с сетом настроек и собственно самих настроек робота для качественной оптимизации (такие настройки тоже есть). Итак, прежде всего установка форекс советника в терминал , без нее нам и оптимизировать собственно было бы нечего. Для этого в новом метатрейдере необходимо произвести следующие действия: Файл -> Открыть каталог данных -> MQL4 -> Experts и уже в эту папку следует скопировать файл советника. Для загрузки сета настроек (обозначается в формате ".set") необходимо произвести тот же план действий, однако в папке MQL4 найти папку Presents и скопировать сет именно туда.

Давайте уделим несколько строк тому, что же такое сет и откуда он берется. Часто сет настроек вам предлагают разработчики вместе с самим торговым роботом. чтобы использовать его, достаточно переместить из навигатора fx-советник на рабочий график выбранной валютной пары и во всплывающем окне нажать на кнопку "входные параметры" и уже в данном разделе выбрать "загрузить" программа сразу же направит вас в папку Presents из которой вы и загрузите в советник необходимый вам сет настроек. Сам по себе set ничто иное как оптимизированные настройки, позволяющие советнику зарабатывать больше при меньших просадках (если разработчики конечно не поленились провести качественную оптимизацию. иначе следует сделать это самостоятельно). При его загрузке, все настройки мгновенно проставляются во входных параметрах робота, вручную вам остается только установить стартовый лот (здесь уже следует рассчитать риск менеджмент). Вот теперь мы плавно подошли к вопросу о том, как же самостоятельно создать прибыльный сет настроек, чтобы ваш советник не только не потерял доверенных ему в обращение средств, но и приумножил их настолько, насколько это вообще возможно, имеющимся у вас на руках торговым роботом.

Каждая стратегия, индикатор, либо советник тестируются на истории котировок, это ни для кого ни секрет, иначе как мы вообще могли бы делать выводы об эффективности или неэффективности используемых инструментов анализа? Поэтому самое первое что нужно сделать перед оптимизацией и самое главное, о чем забывает большинство новичков - загрузить в терминал метатрейдер архив котировок. Казалось бы для чего, ведь когда вы открываете график инструмента у вас уже есть котировки, но не все так просто. На периодах дольше 3-ех месяцев начинаются сбои и погрешности, где то и вовсе пропадают дни или недели. Говорить в подобной ситуации о качестве исторических данных, естественно не приходится, поэтому в результатах тестирования обязательно смотрите на показатель качество моделирования , который отображает насколько точно была воспроизведена история. Можно загружать котировки от брокера Dukascopy с его 99% моделированием, однако, это более сложный процесс и не столь обязательный. Имеющийся в нашем распоряжении сервис MetaQuotes предоставляет 90%-ое моделирование и этого вполне достаточно для качественной оптимизации. Итак, что же необходимо сделать.

Снова смотрим на верхнюю панель инструментов в нашем метатрейдере и ищем там кнопку "сервис", далее по списку: сервис -> архив котировок, после чего вам будет представлен список валютных пар, выбираете ту, на которой собираетесь оптимизировать советник и нажимаете на нее дважды, дабы появились списки таймфреймов. Необходимо выбрать минутные графики, независимо от того, на каком временном интервале вы планируете оптимизировать робота. Так как любой ТФ состоит из минутных графиков, то так вы получите максимально точное моделирование истории, что собственно нам и нужно. Собственно нажимаете "загрузить", ждете и в течении 2-3 минут все будет готово. Закрываете окно котировок. Предварительно, для большей точности, можно пройти по еще одному пути: сервис -> настройки -> графики, там вы увидите строчку "Макс баров в истории", проставьте 10 000 000, если там установлена другая цифра и нажмите "ОК". На этом подготовительные мероприятия окончены, остается парочка финальных этюдов, которые мы прямо сейчас с вами и разберем.

Итак, вернемся к началу. После того, как вы нажали на значок с лупой в верхней панели терминала Metatrader, внизу вам было открыто окно с тестером стратегий, где вы и будете тестировать форекс робота. Так же вы можете заметить там кнопку свойства эксперта , именно с нее и должно начинаться грамотное тестирование или оптимизация робота. Вам откроется следующее меню настроек (для каждого советника оно разнообразно в зависимости от функционала, мы как говорилось выше показываем на R-Profit V.8):

В списке переменных будут находится разнообразные параметры советника, от уровней стоп приказов, трала позиции или целей по сделке до всевозможных настроек управления риск менеджментом или позициями. Вариантов множество и они нисколько не повлияют на саму оптимизацию. Важно обратить внимание на последние три столбика: старт - шаг - стоп . Именно они и будут отвечать за ход оптимизации торгового робота. К примеру, мы хотим понять, какой стоп приказ будет наиболее оптимальным (при котором мы будем больше зарабатывать и меньше терять) и выставляем в указанных столбиках следующие показатели: 10 - 5 - 100. Что для программы будет означать следующее: во время оптимизации будут протестированы все варианты со стоп лосом от 10 пунктов, до 100 с шагом в 5 пунктов. То же касается любого другого параметра. Выставлять необходимо настройки для каждого параметра сразу, чтобы во время оптимизации учитывались все возможные комбинации настроек.

Ниже вы можете видеть вкладку результаты оптимизации, в которой и будут собраны результаты вместе с настройками советника, которые к ним соответственно привели. Вы можете выстраивать их по прибыльности, просадке и другим показателям оптимизации. Главное, что вам более не придется гадать, тестер сам покажет вам наиболее прибыльные или надежные настройки советника. По окончании оптимизации, достаточно нажать в результатах на понравившийся сет и он будет загружен в советник, откуда вы сможете сохранить его (не забудьте при сохранении указать путь в папку Presents, дабы потом с легкостью устанавливать сет в советник прямо на графике).

Желаем Вам успешного тестирования.

Ваш, Портал Форекс Трейдера!

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

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

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

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

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

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

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

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

Скачать его можно с сайта вашего брокера,

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

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

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

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

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

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

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

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

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

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

Нажмите ОК .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итог

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

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

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

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

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

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

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

Явление переоптимизации

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

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

Для того, чтобы защитить себя от такого явления рекомендуется не ставить советник сразу на реальный счет, а прогнать его уже с новыми настройками на другом историческом участке (на котором оптимизация не выполнялась). То есть действовать предлагается в такой последовательности:

  • сперва выполняем оптимизацию, выбираем лучшую комбинацию настроек. Работать будеv с историей за последние полгода-год, для оптимизации выбираем временной промежуток в 3-4 месяца;
  • затем советник с новыми настройками тестируем на 2-месячном участке рынка, который при оптимизации не использовался;
  • кривую роста депозита сравниваем с той, какой она была до оптимизации. Если кривые более-менее подобны, то проблемы переоптимизации трейдер избежал, если же разница в доходности существенна, нужно либо проводить поиск оптимальных параметров и тестирование на более длинном промежутке времени (это сильно зависит от типа советника), либо увеличить шаг/уменьшить число оптимизируемых параметров;
  • если бот новый и ранее не использовался на реальном счету, можно попробовать его на центовом счете и только после этого подключать его к основному.

Влияет ли тип счета на результаты теста советника

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

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

Причины переоптимизации

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

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

  • если в процессе оптимизации было совершено мало сделок, то доверять таким результатам однозначно не стоит. Понятие «мало» довольно расплывчато, для скальпера, работающего на m15, сотня сделок за пару месяцев – мало, но та же сотня за 2 месяца для бота на Н4 – нормальное явление. В это вопросе все индивидуально и учитывать нужно принцип работы советника, для скальпера обычно достаточно куска истории в 2-3 месяца, а вот бот, торгующий на дневках, лучше тестировать за последние пару лет;
  • желание достичь идеала может вылиться в то, что трейдер задает слишком малый шаг в оптимизируемых параметрах. В итоге у советника сужается пространство для маневра (если оптимизируемых параметров много) и демонстрировать высокий результат уже не получается. Если оптимальная комбинация настроек ищется среди 2-3 параметров, то такой подход вполне оправдан.

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

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

Лучший критерий хорошо оптимизированного советника – форма кривой роста депозита. Идеальная форма – прямая линия, растущая по направлению справа-налево, понятно, что в реальности без просадки не обойтись, но общая форма должна сохраняться именно такой. Без значительных всплесков ни в одну ни в другую сторону.

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

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

Рабочий таймфрейм у него m15, советник мультивалютный, так что предпочтений по валютным парам нет. Для начала (чтобы была база для сравнения), прогоним советник с базовыми настройками на периоде в месяц с небольшим, с начала февраля по 9 марта, январь в тесте не учитывался из-за обилия праздничных дней. Результаты теста сразу показывают все слабые места сеточника – прибыль составила чуть больше 20%, но и просадка превышает 80%. При оптимизации задача стоит в повышении прибыльности, также можно попробовать уменьшить просадку.

Сперва выбираем параметры, которые больше всего влияют на работу советника, в нашем случае это величина тейк-профита (по умолчанию она равна всего 11 пунктам), стартовый шаг между ордерами (25 п), а также коэффициент, вводящийся при расчете расстояния между остальными ордерами.

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

В результате оптимизации получаем массу результатов, так как основной критерий у нас – прибыльность, то выбираем соответствующие настройки. Правда, максимальная просадка при оптимизации превысила 80%.

Проверка результатов

Для проверки полученных результатов выполняем тест советника на участке истории с января по начало марта 2016 года с оптимизированными настройками. По сравнению с базовыми до 50 увеличился ТР и коэффициент умножения стал равным 1,2.

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

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

Всегда ли может помочь оптимизация

В предыдущем примере советник и с базовыми настройками показывал прибыль, нужно было только увеличить ее. Разберем случай, когда робот торгует с отрицательным результатом, показывая убытки. Для примера взят советник Nostradamus, при тесте на m30 с начала года он снизил объем стартового депозита на 5,7%, учитывая количество сделок, а их было больше 1000, с настройками у него явно не все в порядке.

Для оптимизации были выбраны такие параметры как величина ТР и SL, а также PipStep, именно они сильнее всего влияют на результаты торговли. К сожалению, автор советника не дает возможности изменять параметры индикаторов (в алгоритме используется Параболик и МА), так что ограничимся только этими настройками.

Несмотря на то, что алгоритм несложен, времени оптимизация может занять немало, так что шаг при поиске оптимальных настроек выберем достаточно большой. Поиск удачной комбинации будет проводиться в таком интервале: ТР – от 10 до 50 (шаг 10), SL – от 10 до 50 (шаг 10), Pipstep – от 6 до 10 (шаг 2).

Оптимизация выполнялась также на 3-месячном отрезке графика, в период с октября по декабрь 2015 года. Максимальная прибыль составила свыше 80% от стартового депозита при настройках ТР – 40 п, SL – 20 п, Pipstep – 10.

При тесте оптимизированными настройками на временном интервале с начала этого года существенного улучшения не произошло. Советник в течение 2 с небольшим месяцев торгует с прибылью, стремящейся к нулю, по состоянию на 9 марта прибыль с начала года составила $46,99, т.е. 0,47% от стартового капитала. Формально эффект от оптимизации есть, вместо убытка получили прибыль на том же промежутке времени, но прибыть эта просто смехотворна, а форма кривой изменения депозита не особо то и изменилась.

После использования улучшенных настроек видно, что значительно уменьшилось количество сделок. Это объясняется тем, что увеличился шаг между ордерами сетки, а значит и число одновременно открытых ордеров снизилось. Если сначала число сделок было равно 1098, то после оптимизации – всего 301.

Этот пример – подтверждение того, что оптимизация не панацея, и если советника в прошлом демонстрировал неплохие результаты, то нет никакой гарантии, что оптимизация в тестере МТ4 сохранит ту же эффективность в будущем.

Какую модель выбирать при оптимизации

По большому счету оптимизация – то же тестирование советника, но с разными наборами настроек. Тестирование некоторых роботов выполняется почти мгновенно, но есть и такие алгоритмы, в которых тест за 2-3 месяца занимает минут 5 и больше. Если нужно только пару раз прогнать советник на нескольких парах, то ничего страшного в этом нет, но при оптимизации таких проходов может быть больше 100, так что процесс растягивается на часы.

Если выбрать в тестере стратегий модель контрольные точки либо по ценам открытия, то процесс ускорится, но это сильно скажется на точности. Дело в том, что когда выбрана модель все тики, то тестер учитывает все колебания цены внутри рабочего таймфрейма, т.е. если советник тестируется на Н1, то учитываться будет и поведение цены на m1.

Модель по контрольным точкам учитывает данные только с ближайшего к выбранному таймфрейму (то есть при тесте на Н1 учитываться будут только данные с m30), а метод по ценам открытия подходит только для советников, которые открывают сделки во время открытия новой свечи. В подавляющем большинстве случаев единственный правильный вариант – использование модели «все тики» для достоверного результата.

Сравнение результатов при использовании разных моделей выполним на примере советника 4НBox Breakout. При тестировании по всем тикам было заключено 60 сделок, итог – убыток $52,3.

Выставляем в тестере модель «контрольные точки» и получаем тот же результат, что и при модели «по всем тикам». Это объясняется тем, что сделки данный советник заключает только на закрытии четырехчасовой свечи, поэтому поведение цены внутри 4-часовой свечи не особо важно, время теста сокращается примерно в 3-5 раз.

Но вот при использовании модели «по ценам открытия» получаем совершенно другую картину. Число сделок сокращается до 35 и кривая изменения депозита имеет совсем другие очертания. Если бы эта модель использовалась при тестировании и оптимизации советника, результаты были бы далеки от реальности.

Подведение итогов

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

При оптимизации главное – не скромничать с выбором куска исторических данных (хотя и здесь есть свои нюансы, если для скальпера достаточно и нескольких месяцев, то для долгосрочной торговли счет идет уже на годы). Также не следует пытаться подобрать идеальную комбинацию всех настроек робота, достаточно 3-4, сильнее всего влияющих на торговлю. В противном случае трейдер рискует получить идеальный результат на истории, но разочароваться при реальной торговле.

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

Всем привет. Представьте ситуацию, решили собрать компьютер по комплектующим. Купили самую дорогую видеокарту, материнскую плату, оперативки 32Gb и тд. Собрали все в системный блок и работаете, что называется как есть, без драйверов. Как думаете, будет ли такой компьютер, удовлетворять ваши ожидания? Думаю что нет. Прежде чем работать на нем, ему нужно установить хотя бы драйвера, я уж не говорю о более глобальных настройках.

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

Настраиваем параметры для оптимизации

В маркете, скачал советник BF Scalper EA (не знаете как устанавливать советники, читайте статью Как установить и запустить торгового советника в MetaTrader 4 (MT4)). Что это за зверь и по какому принципу работает не знаю, да это и не важно. На его примере будем разбираться с настройками и оптимизацией.

Для начала, прогоним тест с предустановленными настройками. Автор пишет, что его робот, хорошо торгует на паре GBPUSD, таймфрейм М15. Запускаем дату от 01.01.2019 до 28.02.2019 и посмотрим какой график доходности получится.

Не плохо. Со $100, советник заработал еще $178. На истории советник отработал очень даже хорошо и это вдвойне нас устраивает. Если бы советник отработал даже на истории в минус, то вообще на него смотреть смысла не было бы.

И все же, нет предела совершенству. Будем оптимизировать советник и пытаться улучшить результаты. Для этого, в окне тестера стратегий, нажимам «Свойства эксперта». Перед нами три вкладки:

  • Тестирование;
  • Входные параметры;
  • Оптимизация.

Во вкладке «Тестирование» установим интересующий начальный депозит в $100. Торговать советник будет и на покупку и на продажу, поэтому в поле «Позиции» выберите «Long & Short».

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

  • Balance;
  • Profit Factor;
  • Expected PayOff;
  • Maximal Drawdown;
  • Drawdown Percent;
  • Custom.

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

Вкладка «Входные параметры», включает в себя переменные, которые будем оптимизировать.

Установите галочку на против поля, которое хотите оптимизировать. В моем случае были выбраны StopLoss и TakeProfit. Столбец «Значение», оставляем без изменений. В этом столбце расположено значение, предустановленное при предыдущем тестировании, по умолчанию. Нас интересуют столбцы:

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

На скрине ниже выбрано для переменной StopLoss, начало оптимизации 20 пп, с шагом 5 пп, пока не дойдем до 50 пп. Аналогично с TakeProfit.

В советнике, оптимизировать можно любой параметр: StopLoss, TakeProfit, Максимальную просадку и тд.

Вкладка «Оптимизация» включает в себя ограничения. Работает по принципу описанному выше. К примеру, мы не хотим чтобы максимальная просадка во время работы советника, доходила до 30%. Устанавливаем галочку в поле «Максимальная просадка» и вводим значение 30. Во время оптимизации советника, любой проход который будет включать просадку 30%, автоматически останавливается и тест начинается со следующими параметрами.

С настройками все, теперь начинаем оптимизацию.

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

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

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

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

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

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

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

Теперь, можно перейти в «Настройки» → «Свойства эксперта» → «Входные параметры» и нажать кнопку «Сохранить». Выберите названия для сохранения полученных параметров и нажмите Ок, файл сохранится с расширением.set, который можно передать для использования на другом терминале с этим советником.

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

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

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

С бэк тестом закончили, теперь переходим к форвард тесту.

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

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

Форвард тест показал, что с оптимизированными параметрами, советник за последний месяц хорошенько слил бы наш депозит. Что делать? Варианта два: либо вновь оптимизировать и пытаться найти лучшие параметры, либо отказаться от советника и искать другой.

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

Финансовый рынок изменчив – уровни волатильности постоянно меняются, одни валютные пары, которые ранее находились в тренде, останавливаются на длительную консолидацию (которая может продолжаться и более года), другие, ранее флетовавшие, начинают долгосрочный тренд. Так было всегда и будет в будущем. Зависит ли прибыльность советников от смен тенденций рынка? Однозначно, ДА! Один и тот же робот может показывать в разное время совершенно разные торговые результаты. К тому же, если советник Форекс хорошо торгует на одной валютной паре, это еще не значит, что он даст такой же хороший результат не другой.

Как помочь своему роботу зарабатывать больше и приспособить его для торговли в разных условиях рынка и на разных валютных парах? В этом вам поможет оптимизация!

Пошаговый алгоритм оптимизации торгового эксперта

Итак, во всем известной нам платформе МТ4 есть отлично продуманный блок для тестирования торговых стратегий. Все мы называем его одним словом – «тестер». При правильном использовании тестер становится уникальным инструментом для настройки и оптимизации торговых параметров робота. И сейчас мы по порядку опишем алгоритм оптимизации EA с помощью стандартного тестера в mt4.

Качаем котировки

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

Для этого во вкладке «Настройки», выберите подраздел «история котировок», а во всплывшем окне, нужную вам валютную пару.

Скачивать необходимо котировки М1, с использованием которых торговая платформа потом самостоятельно сформирует необходимый для тестирования таймфрейм. Конечно, если форекс-советник работает на М15, было бы логичным скачать котировки для М15. Однако, как показывает практика, такие котировки будут не точными, а тесты не корректными.

Как правило, для одной валютной пары котировки М1 занимают около 3 гигабайт пространства на диске «C». Так что, если вы решили использовать при оптимизации сразу несколько валютных пар, возможно, для того чтобы провести оптимизацию одной, будет необходимо удалить с корневого каталога котировки предыдущей пары. Их вы найдете в подкаталоге «History» папки «Tester».

Выбор модели котировок, по которым будет проводиться оптимизация советника – все тики, по ценам открытия, или контрольные точки.

Самый точный метод оптимизации – это оптимизация по тикам. Его обычно и выбирают для точной настройки форекс-советника. Однако, этот метод занимает наибольше количество времени. Оптимизация по тикам может длиться более суток!!! Как сократить это время? Для начала попробуйте метод – «контрольные точки», а наилучшие результаты оптимизации, которые вам удалось достичь – проверяйте в тестере по методу «Все тики». Это значительно сократит время оптимизации!

Установливаем правильный размер спреда

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

Устанавливаем сумму виртуального депозита для тестов


Устанавливаем сумму депозита для оптимизации

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

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

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

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

Какой подход будет правильным?

Правильным будет делать оптимизацию на меньшем промежутке истории, например с 2010 по 2015. А самые лучшие параметры, которые выдаст оптимизатор, проверить в тестере стратегий в нынешнее время, то есть с 2016 г. по 2017 г. Если они подходят – отлично, вы справляетесь со своей задачей!

Иными словами, вы оптимизируете параметры EA за предыдущие годы и проверяете, насколько они актуальны для торговли в нынешнее время. То есть, делаете два теста – бэкт-ест и форвард-тест. Самый лучший из форвард-тестов – это и будет результат вашей работы, то есть – самым лучшим результатом вашей оптимизации.

Какие параметры EA необходимо оптимизировать?

И, наконец, о параметрах, которые необходимо «оптить». Их вы видите в настройке форекс-советника в тестере стратегий.

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

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

То есть, отмечать все пункты в настройке EA для оптимизации нет никакой необходимости. Наоборот – это значительно затруднит работу МТ4 и замедлит процесс оптимизации.

Для примера, возьмем ночного скальпера Generic , обзор которого вы можете найти на нашем портале. Судя по переменным ручной настройки, наиболее правильным будет выбрать для оптимизации параметры индикаторов, которые торговый эксперт использует для заключения сделок, и размер SL и TP. Их и отмечаем галочкой:

Start , Step и Stop

Start, Step и Stop – три компонента, которые отвечают за эффективность перебора оптимизатором торговых параметров.

Start – отвечает за то, начиная от какого значение переменной будет начинаться перебор параметров.

Step – какой шаг в переборе он будет делать.

Stop – до размера какого значения оптимизатор будет перебирать параметр.

В данном случае, чем больше вы установите значение параметров Start, Step и Stop, тем быстрее будет работать оптимизатор, но тем грубее вы получите результаты.

Итак, после того, как мы прогнали советник на оптимизаторе, осталось выбрать самые лучшие из полученных результатов в соотношении – лучший профит-фактор, минимальная просадка и максимальный профит (при среднем значении сделок):

Проверяем результаты оптимизации

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

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

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

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

График прибыльности советника с автоматическим выбором лота

Результаты нашей оптимизации считаем отличными. Можно ставить робота для реальной торговли!

Проблемы с оптимизацией?

Некоторые параметры советников не подлежат оптимизации. Если вы сделали все согласно нашему алгоритму, а торговый советник отказывается оптимизироваться, значит его оптимизация специально сделана недоступной автором EA. Или же код торгового эксперта имеет ошибки, которые препятствуют корректной работе оптимизатора МТ4.

Что делать в таком случае?

Остается только ручная подборка параметров. То есть, вам необходимо сделать все то же самое что делает тестер МТ4, только вручную.

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

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