Как оптимизировать советник форекс в mt4?
Как правильно оптимизировать советников в тестере стратегий МетаТрейдер 4 – подробно для начинающих
Как правильно оптимизировать советников в тестере стратегий терминала МетаТрейдер 4? Зачем вообще нужна оптимизация, и что это такое – оптимизация параметров советников для достижения прибыльной торговли валютой на Форекс? Ответы на эти и другие вопросы Вы сможете узнать, прочитав данный материал.
Тестер стратегий торгового терминала MetaTrader 4 имеет две важные функции. Это, непосредственно, тестирование советников и их оптимизация, суть которой заключается в подборе наиболее оптимальных параметров советников. Обычно трейдер оптимизирует (совершенствует) входные параметры роботов для того, чтобы сделать его максимально прибыльным при минимальных рисках.
Процесс оптимизации советника представляет собой его множественное тестирование с различными входными параметрами в автоматическом режиме программой МетаТрейдер 4.
При этом, простая оптимизация – это ничто иное, как подгонка параметров эксперта под историю, то есть под условия рынка и движение цены, которые были в прошлом.
Если прооптимизировать робота – советника на истории и сразу же поставить его торговать, радуясь, что результаты оптимизации были “красивыми”, надеяться на такие же результаты торговли советника в реальном режиме не стоит. Ведь, по сути, была проведена не настоящая оптимизация, а ПОДГОН параметров.
Правильная и качественная оптимизация советника, которая называется форвард – тестом, включает в себя два этапа. На первом этапе советник оптимизируется (правильнее – подгоняется) на некотором историческом отрезке, который называется тестовый (исторический) период.
Результаты подгонки представляются в таблице в виде входных параметров эксперта. С наиболее удачными параметрами робота запускают торговать на новом временном отрезке, где он не подгонялся, и не знает, как себя вести. Такой отрезок называется форвардным периодом.
Если и на этом отрезке результаты тестирования (уже не оптимизация!) хорошие, значит, эксперта можно ставить торговать на реальный счет.
Тестовый и форвардный промежутки для экспертов, работающих на различных тайм-фреймах, отличаются. Для экспертов, тестируемых на периоде:
- – H1: рекомендуемый исторический период – 2 года, форвардный – пол года;
- – M30: 1,5 года и 4 месяца;
- – M15: 1 год и 3 месяца.
Тестировать советники на меньших тайм-фреймах не рекомендуется. Для лучшего понимания тестового и форвардного периодов, рассмотрим их в виде рисунка:
То есть, если сегодня 30 ноября 2011 года, и мы решили прооптимизировать советника на периоде M15, с тестовым промежутком 1 год и форвардным 3 месяца, то конец тестового промежутка у нас будет 30 августа 2011 года, а его начало – 30 августа 2010 года.
Рассмотрим процесс тестирования и оптимизация советников более подробно:
Шаг 1. Настройка тестера. Открываем тестер стратегий через меню торгового терминала, раздел Вид. Во вкладке Советник выбираем советника, которого собираемся оптимизировать.
Из открывающего списка поля Символ выбираем необходимую валютную пару. Модель – По ценам открытия.
Далее – период, для которого имеются настройки оптимизации, и устанавливаем исторический промежуток, на котором будет прогоняться советник (чтобы лучше рассмотреть скрин, кликните по нему):
Запуск тестера стратегий.
Теперь необходимо закачать архив котировок валют. Пользователи терминала имеют доступ к котировкам с наименьшим периодом 1 минута. Перед тем, как их закачать, настраиваем возможности закачки данных. Для этого в меню терминала в вкладке Сервис открываем пункт Настройки. В полях Максимум баров истории и Максимум баров в окне ставим предельно допустимые значения.
После этого качаем сами котировки при помощи меню Сервис – Архив котировок – Символы – валютный инструмент – период.
Оптимизация советника – как улучшить эффективность торгового эксперта?
В одной из прошлых статей мы рассматривали различные способы тестирования Форекс советников, а сегодня мы поговорим о том, как оптимизировать советник при помощи стандартной торговой платформы MetaTrader4, которую используют многие брокеры MT4.
Если вы торгуете при помощи советника, то хотя бы раз в полгода необходимо проводить его оптимизацию, то есть осуществлять поиск оптимальных параметров: стоп-лосса, тейк-профита и других параметров, изменение которых может повлиять на увеличение прибыльности советника или уменьшение его просадок.
Что такое оптимизация советника?
Оптимизация позволяет методом подбора выявить, какие значения того или иного параметра показывают наилучшие результаты на определенном историческом отрезке. С первого взгляда кажется, что, подобрав необходимые параметры на истории, вы получите Грааль, который поможет вам зарабатывать миллионы.
Однако это не совсем так, рынок Форекс постоянно меняется, и очень часто прибыльный советник на истории превращается в убыточный советник на реальном счете.
Чтобы этого не произошло, необходимо изменять только те параметры, которые не идут вразрез с правилами торговой стратегии, заложенной в основу советника.
Например, если размер тейк-профита, предлагаемый разработчиками торгового эксперта, равен 100 пунктов, можно посмотреть, каким станет итоговый результат, если изменить значение тейк-профита на 80, 120, 140 и т. д.
Таким образом, оптимизацию нужно рассматривать как вспомогательный инструмент, который упрощает задачу по поиску параметров для вашей торговой системы. Вам не нужно тратить время, вручную просматривая графики, достаточно запустить тестер стратегий в MT4, и он переберет все возможные варианты и комбинации параметров, а вам останется только выбрать среди них наиболее оптимальные.
Как оптимизировать советник?
Оптимизация советника осуществляется в торговом терминале MT4, никаких дополнительных программ устанавливать не требуется.
В начале необходимо открыть тестер стратегий, нажав Ctrl+R, выбрать из списка советник, который вы хотите оптимизировать, валютную пару, режим моделирования и таймфрейм.
В нашем примере мы попробуем оптимизировать стандартный советник MACD Sample, который есть в каждом торговом терминале MT4. Но сначала необходимо загрузить котировки валютной пары, на которой ваш советник будет открывать сделки.
Для этого нажимаем F2 или заходим в Сервис – Архив котировок, выбираем валютную пару, например, EURUSD и скачиваем минутные котировки. После того, как загрузились котировки, необходимо еще раз их скачать, чтобы исключить вероятность возникновения каких-либо пробелов.
Выбирайте всегда качество моделирования «Все тики» – это наиболее точное и полное тестирование советника. Также необходимо поставить галочку напротив фразы «Использовать дату» и указать требуемый период тестирования – последний год, полугодие или квартал.
Некоторые трейдеры проводят оптимизацию советника каждую неделю, указывая в настройках временной отрезок, равный последним двум неделям, но какого-либо преимущества в торговле это не приносит. Не забудьте также поставить галочку напротив надписи «Оптимизация».
Далее нужно нажать «Свойства эксперта», во вкладке «Тестирование» указать размер депозита и выбрать оптимизируемый параметр, как правило, это «Баланс».
Во вкладке «Оптимизация» можно выставить ограничения оптимизации, например, при достижении минимального баланса или максимальной просадки, тестер прекратит проверку определенного параметра, что существенно сократит время оптимизации.
Во вкладке «Входные параметры» вы можете отметить галочкой те параметры, которые нужно оптимизировать. В графе «Значение» указаны настройки разработчиков, их менять не следует, а вот в графах «Старт», «Шаг» и «Стоп» нужно указать значения, которые позволят оптимизировать ваш советник. Например, вы можете оптимизировать советник по тейк-профиту.
В графе «Значение» советника MACD Sample напротив параметра Take Profit указано 50 пунктов, вы можете поставить в графе «Старт» – 30 пунктов, указать «Шаг» – 10 пунктов и «Стоп» – 80 пунктов. В результате тестер стратегий шесть раз протестирует советник с параметрами тейк-профита: 30, 40, 50, 60, 70 и 80 пунктов.
Следует отметить, что чем меньше шаг и больше выбранных параметров, тем дольше будет производиться оптимизация советника.
После того, как были выбраны все необходимые параметры, следует нажать на кнопку «Старт» в тестере стратегий, при этом оптимизация может занять достаточно продолжительное время.
Когда оптимизация советника подойдет к концу, появится вкладка «Результаты оптимизации», в которой можно посмотреть полученную прибыль по каждому прогону, матожидание, просадку и входные параметры с указанием выставленных ранее настроек. Чем выше матожидание и прибыль и ниже просадка, тем лучше. Сравнивая полученные результаты, можно выбрать параметр, который имел наилучшие показатели на истории.
Чтобы установить выбранные входные параметры в «Свойства эксперта», нужно кликнуть правой кнопкой мыши по оптимальному результату и выбрать в открывшемся списке «Установить входные параметры». Когда вы в следующий раз будете выполнять тестирование советника, то в «Свойствах эксперта» будут автоматически проставлены выбранные параметры.
Как проверить подлинность оптимизации?
Для проверки подлинности оптимизации советника используется следующий метод. Допустим, вы проводите оптимизацию советника за последний год.
Тогда вы оптимизируете советник, выставив временной отрезок, равный 10-ти месяцам, а полученные результаты тестируете еще раз за последние 2-3 месяца, на которых вы не оптимизировали советник.
Таким образом, оставляя 20% от временного отрезка, вы проверяете, будут ли работать подобранные вами параметры после проведения оптимизации.
Если оптимизированные параметры дадут более худший результат во время тестирования советника, чем изначальные настройки разработчиков, значит, оптимизация оказалась неуспешной, и нужно либо изменять какие-то другие параметры, либо оставить прежние настройки.
Теперь вы знаете, как производится оптимизация советников Форекс в MT4. В заключении хотелось бы отметить, что не всегда следует проводить оптимизацию, в некоторых случаях она может быть бесполезной или даже опасной для вашего депозита.
Поэтому необходимо, прежде всего, руководствоваться здравым смыслом и понимать особенности работы советника, а также хорошо разбираться в его настройках. Не нужно пытаться изменить то, в чем вы плохо разбираетесь, лучше оставить все как есть. Таким образом, оптимизацию советника следует проводить только в том случае, если он резко перестал приносить прибыль. Если вы покупали советник, то имеет смысл обратиться к его разработчикам, так как они время от времени занимаются его оптимизацией и могут вам предоставить актуальные настройки для нормальной работы советника. Смотрите также «Рейтинг советников Форекс для малых депозитов».
Оптимизация советника в Metatrader 4
Оптимизация советника — это подбор параметров стратегий, при которых советник не будет нести убытки на достаточной глубине истории. Чем глубже история на которой оптимизируется стратегия, тем стабильнее будет торговать советник в будущем.
При оптимизации советников форекс трейдеры сталкиваются с одной ошибкой, которая губительна для депозита – подгонка параметров советника под нетехническое поведение цены. При оптимизации всегда найдутся параметры, при которых на истории, например, заблаговременно будут совершатся сделки в направлении движения цены, вызванной новостями.
Предсказать средствами технического анализа в каком направлении будет двигаться цена после выхода новости с вероятностью более или менее 50% невозможно. Оптимизатор MT4 подберет множество вариантов, при которых прибыль на истории будет именно за счет получения прибыльных сделок на новостях.
В реальности же торговля с такими параметрами будет убыточной.
В предыдущих версиях советника до версии 2014.1, что бы исключить подогнанные под новости параметры мы каждый результат проверяли вручную – тестировали, открывали каждый график со сделками и выявляли подогнанные результаты оптимизации.
Процесс достаточно трудоемкий, учитывая, что портфель нам нужен из нескольких десятков стратегий.
Можно, конечно, оптимизировать советник за длительный период времени, например, за 10 лет для таймфрейма M15, тогда вероятность подгонки под новости значительно снизится и количество прибыльных и убыточных сделок на новостях будет примерно 50% на 50%, а перевес в сторону прибыльных сделок будет за счет технической зависимости поведения цены. Но на это потребуется недопустимо большое количество времени, что оптимизацию делает бессмысленной, так как за это время рынок изменится.
Так же отрицательным моментом оптимизации советника на длительном периоде является то что-то оптимизатор Metatrader 4 не показывает распределение прибыли по всему участку оптимизации. Например, прибыль может быть получена только за 2008 год, а все остальное время стратегия несет убытки. Что бы такого не было, опять-таки нужно каждый результат тестировать и проверять визуально.
Полученные таким образом результаты оптимизации без должного ручного анализа в реальной торговле применять нельзя.
Но, как показывает практика, большинство трейдеров не уделяют достаточного внимания обработке результатов оптимизации в силу сложности, трудоемкости и непонимания всех деталей.
Все хотят получить наилучшие параметры советника одним нажатием кнопки без приложения умственных усилий. К сожалению, одними средствами MT4 это невозможно.
Как правильно оптимизировать советник?
Чтобы исключить возможность неверного подбора параметров для советника SICURO-EXPERT я разработал методику, с помощью которой даже начинающий пользователь сможет подобрать правильные параметры на оптимизаторе с минимальным приложением усилий.
По моей методике оптимизация советника разделяется на 2 основные задачи:
- Обычная оптимизация советника на коротком участке рынка.
- Исключение полученных результатов, подогнанных под нетехническое поведение цены путем повторной оптимизации с теми же параметрами на другом участке.
Оптимизация советника по этой методике автоматически позволяет решить несколько проблем:
- Исключение подгонки,
- Равномерность распределения прибыли на всем участке оптимизации,
- Сокращение времени оптимизации.
Пользователю не нужно задумываться правильно ли он оптимизирует советник, методика сама отсеивает ненужные результаты.
Шаг первый оптимизация параметров на коротком участке рынка
По сути это обычная привычная для всех оптимизация параметров советника на встроенном оптимизаторе MT4.
Перейдите в тестер стратегий MT4, он же оптимизатор:
В раскрывающихся списках выберите:
- Советник: SICURO-EXPERT;
- Символ: EURUSD;
- Модель: Контрольные точки. Можно и все тики, но процесс будет очень долгим. Качество котировок на SICURO-EXPERT влияет не существенно, поэтому оптимизацию достаточно проводить на контрольных точках.
- Период: На ваше усмотрение. Формировать портфель можно для любого периода.
- Спред: Задавайте с запасом, например, если реальный спред 10 п., то устанавливайте 20. Оптимизатор не учитывает такие показатели как проскальзывания цены и время исполнения ордеров. Завышением спреда мы учтем эти потери.
Установите период оптимизации. Для этого рекомендую открыть график валютной пары и определить последний участок, на котором есть и тренд и флет.
Установите галочку напротив пункта «Оптимизация».
Перейдите в свойства эксперта. Выберите вкладку «Тестирование».
Задайте депозит. Это не депозит, который вы будете использовать в торговле, он должен быть достаточным что бы не происходило полного слива средств при оптимизации. При минимальном лоте 0,01 и размере контракта 100 000, параметр депозит можно указать $10 000.
Если у Вас нет достаточного опыта в оптимизации советников, снимите галочку напротив пункта «Генетический алгоритм». Генетический алгоритм значительно сокращает время оптимизации, но при неправильном подходе вы не получите необходимого разнообразия стратегий для формирования хорошего портфеля, адаптированного к различным поведениям рынка.
Нажмите кнопку «OK» и перейдите во вкладку «Входные параметры»:
Переключите советник в режим оптимизации.
В раскрывающемся списке параметра «Task» выберите пункт «Optimization_of_parametrs».
Задайте следующий параметр «maxDrawdown», ускоряющий оптимизацию. Глубина максимальной просадки зависит от различных параметров стратегии и индивидуальная для каждого пользователя. Точно вы сможете определить этот параметр, когда у вас будут результаты оптимизации.
При первом формировании портфеля «с нуля» при «RiskPerTrade=1» параметр «maxDrawdown» при оптимизации на участке от года и более можете установить 30, при оптимизации на участке 2-3 месяца равным 10-15.
В дальнейшем, когда у вас будут собственные результаты оптимизации, вы сможете уточнить этот параметр для повторных оптимизаций.
В параметре «Save_result_optimization» пропишите название файла с расширением «.csv» в который будут записываться результаты оптимизации.
Параметр «RiskPerTrade» можно установить равным 1, при заданных ранее «maxDrawdown=30», и депозите 10000. Если «RiskPerTrade» уменьшите до 0,1, как в видео, то и «maxDrawdown» уменьшайте до 3-х.
Параметр «Deposit» установите такой же, как и во вкладке Тестирование $1000;
Установите TimeFrame такой же, как и в настройках тестера.
В параметре «comment» можете указать свой комментарий, который при торговле будет присваиваться каждой сделке, совершенной советником:
Далее переходим непосредственно к подбору параметров.
На против параметров, которые будем подбирать необходимо поставить галочку, задать стартовое значение, шаг и конечное значение (стоп). Подробное описание параметров смотрите в видео.
После того как все параметры для оптимизации советника заданы, нажмите кнопку «OK» и запустите оптимизатор в тестере стратегий MT4, нажав кнопку «Старт».
После завершения процесса оптимизации переходите к следующему шагу – обработка результатов оптимизации и исключение стратегий, подогнанных под нетехническое поведение цены.
Стратегия BounceSHinZone – отскок внутри канала SICURO-CHANNEL от границ во флете.
Стратегия BounceSHoutZone – отскок внутри канала SICURO-CHANNEL от границ по тренду.
Описание стратегий на пересечении линий индикатора Sicuro-Index в видео по оптимизации советника.
Форекс Статьи
Не многие сегодня знают, то самый обычный тестер стратегий в терминале 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, дабы потом с легкостью устанавливать сет в советник прямо на графике).
Желаем Вам успешного тестирования.
Ваш, Портал Форекс Трейдера!
Оптимизация советника Форекс в МТ4
Многие читатели блога уже тестируют скальпинг советник Romum и пишут, что он успешно работает. В чем, впрочем, я и не сомневался -)
Но, так как я дал актуальные на момент публикации настройки только для депозитов в 100$ и 500$, а также конкретно для шести валютных пар, то стали возникать вопросы, типа — какие нужны настройки для других сумм депозитов?
Вопросы вопросами, но реальная проблема кроется в том, что задающие их, на самом деле, не понимают о чем спрашивают. Ведь дело не столько в сумме депо, сколько в актуальности настроек для рынка, в данный момент.
Да, я понимаю, оптимизация советника для многих дело темное и непонятное, поэтому обучение на эту тему уже назрело!
Сегодня рассмотрим настройки форекс советников, нуждающиеся в оптимизации, а в следующей статье будет практическое руководство по оптимизации советников в МТ4…
Оптимизация советников
Зачем оптимизировать советник
Думаю, сначала стоит пояснить из-за чего происходят сливы депозитов и почему советникам необходима регулярная оптимизация.
Безусловно, все кто работают с роботами, знакомы с тезисом, что все советники рано или поздно сливают депозит. Конечно, в основном громче всех об этом кричат «трейдеры», которые ожидали, что советник, как принтер, будет печатать им деньги пачками! -)
Но, на самом деле, вряд ли кто-то из них понимает, что причиной слива в 90% случаев виновен не советник, а их непосредственная халатность. Фраза «поставил и забыл, а советник заработает» — это не более чем маркетинговый ход продавцов советников.
Рынок является крайне непредсказуемой и изменчивой структурой.
Да, принцип движения цены остается одинаковым в независимости от того, какой вы актив выбрали, но изменчивость его состоит в том, что волны тренда и ширина флета могут изменяться.
Грубо говоря, если цена длительное время в день проходила по 100-200 пунктов, создавая широкие волны, не факт что в обозримом будущем она будет в день проходить 50-100 пунктов. Следовательно, ширина тренда и канал флета значительно сократятся.
Подобные изменения на рынке происходят довольно часто, но знают о них и замечают, лишь практикующие трейдеры.
Исходя из вышесказанного, думаю понятно, что «поставил и забыл», естественно приведет к слитию депозита, рано или поздно? Да, если ваш советник ушел в просадку или начал постепенно сливать депозит, то это уже сигнал — необходимо проводить оптимизацию параметров.
Как оптимизировать советник
Важно! Оптимизация советника – это подгонка параметров эксперта на прошлом историческом участке рынка, с целью адаптировать работу робота под изменившиеся рыночные условия.
Многие трейдеры (которые знают советники нужно настраивать), допускают одну огромнейшую ошибку — проводят оптимизацию всех без исключения параметров. На практике подобная оптимизация приводит к полному изменению логики открытия ордеров, а как следствие, полное отклонение от первоначальной стратегии.
Поэтому будет не лишним познакомиться с очередностью настройки параметров и краткой аргументацией, почему так, а не иначе…
Оптимизация тейк профита и стоп лосса
Как уже отмечалось, несмотря на то, что рынок принято считать изменчивым, его структура остается неизменной.
То есть, восходящий или нисходящий тренд, флет (боковое движение цены), и коррекция, как были все существование рынка Форекс, так и будут всегда.
Изменению поддается лишь ширина рыночных волн, волатильность и гэпы, которые зависят исключительно от внешних влияний на рынок.
В случае если на рынке произошли перемены и волны тренда стали короткими или же наоборот, флет сильно расширился, цена может банально не доходить до профита и выбивать ордера открытые советником, по стоп приказу.
Кстати, разработчики и оптимизаторы пытаются обойти эту проблему, рекомендуя вообще не выставлять stop loss в параметрах советников. Но, как показывает практика, это совсем не панация!
Но да, именно эти изменения рынка чаще всего приводят к убыткам, поэтому в советниках стоп лосс и тейк профит (take profit), следует оптимизировать в первую очередь.
Оптимизация трейлинг стопа
Оптимизация трейлинг стопа (Trailing Stop), а именно — функции перетягивания стоп приказа следом за ценой, оптимизируется ровно по той же причине, что и предыдущие параметры, так как основной причиной преждевременного срабатывания стоп лосса, является опять таки, волатильность рынка.
Ведь цена практически никогда не движется четко в одном заданном направлении. На её пути все время встречаются откаты (коррекция), вызванные высокой волатильностью.
Если цена начинает откатываться глубже, чем обычно, то функция трейлинга теряет свой смысл из-за того, что он будет постоянно преждевременно выводить нас с рынка.
Следовательно, оптимизация и этого параметра в советнике является также первоочередной.
Оптимизация параметров Мартингейла, усреднения, сетки
Если ваш советник построен на одном из трех перечисленных методов управлением капитала, значит необходимо делать оптимизацию отступов между ордерами, коэффициента умножения или усреднения.
Исходя из опыта, особое внимание стоит уделить расстоянию между ордерами Мартингейла или усреднения, поскольку сужение или расширение трендовой волны можно нивелировать путем грамотной расстановки ордеров.
Коэффициент умножения играет второстепенную роль, тем не менее, если волна рынка сильно расширилась, его снижение может поспособствовать улучшению стабильности и устойчивости робота к просадке.
Оптимизация фильтра
Кроме оптимизации вышеперечисленных параметров, следующим этапом необходимо прорабатывать период индикатора фильтра, который выступает в качестве дополнительного условия для открытия сделки.
Как правило, подобные фильтры отвечают за определения тенденции на рынке, а в случае сильного расширения флета, фильтр может не отличать тренд от широкого боковика.
Оптимизация сигнального индикатора советника
Сигнальный индикатор, на основе которого советник открывает сделку — это самый главный элемент стратегии советника.
Очень важно понимать, что точка входа в рынок при правильно поставленном стопе и профите имеет второстепенную роль, поскольку ее смещение на несколько пунктов, в ту или иную сторону, не оказывает критичного влияния на общий результат.
Тем не менее, при оптимизации сигнального индикатора, параметры после оптимизации советника, могут в корне отличаться от базовых.
Таким образом, на выходе трейдер получает полностью измененную логику работы советника, которая не имеет ничего общего с базовой идеей создания советника. Именно поэтому период сигнального индикатора необходимо оптимизировать в самую последнюю очередь.
В заключение надеюсь, что благодаря этому простому руководству вы уже понимаете, какие параметры советника, за что отвечают, по каким причинам и в какой очередности их следует оптимизировать? -)
В следующей статье рассмотрим, как правильно оптимизировать советник, а также распространенные методы оптимизации советников Форекс в МТ4.
Как научить советник прибыльно торговать на рынке Форекс?
Друзья, в сегодняшнем посте мы поговорим о том как нужно правильно оптимизировать советник, чтобы улучшить его результаты при автоматической торговле на рынке Форекс.
Подробнее рассмотрим, как нужно корректировать входные параметры торгового эксперта, как настроить и запустить процедуру оптимизации советника в терминале МетаТрейдер 4, как установить и сохранить оптимизированные параметры эксперта при дальнейшей работе с ним.
Итак, поехали :-). Как помните из предыдущей статьи как тестировать советник, мы протестировали стандартный эксперт MACD Sample из стандартными параметрами на истории котировок (за 2011 год) и получили неутешительные результаты. Сейчас же мы проведем оптимизацию этого советника и посмотрим, как изменится его эффективность торговли.
Для того чтобы выбрать оптимальные параметры для торгового работа, после проведения тестирования, в окне тестера стратегий нажимаем на кнопку «Свойства эксперта» / вкладка «Входные параметры».
Что мы здесь видим? Это список параметров и их значения, по которым торгует советник. Для того чтобы оптимизировать какой-то из них, нужно обозначить их галочками (рис. ниже).
Лот мы не выбираем, поскольку данный советник не использует никакой тактики мани менеджмента на Форекс, потому проставляем значение 0.1 для всех случаев.
Теперь давайте разберемся, что означают значения в полях «Старт», «Шаг» и «Стоп». Это параметры, которые советник будет прогонять (каждый по циклу) на заданной истории котировок, после чего Вы будете иметь возможность выбрать лучший вариант из сделанных прогонов, но об этом чуть позже.
Для примера, если вы поставите для параметра TakeProfit:
А для всех остальных параметров эксперта значение шаг и стоп будут равны 0, то оптимизация советника, в таком случае, будет проходить только для параметра тейк профит и выглядеть так:
Так эти значения «Старт», «Шаг» и «Стоп» проставляются для каждого параметра советника отдельно и тогда проводится оптимизация.
Идем дальше. Прописываем значение всем параметрам советника для прогонов (нагляднее на рисунке ниже):
- Параметр TakeProfit у нас будет прогонятся по порядку от значения 50 пунктов до 200 с шагом 1.
- Lots не оптимизируем, соответственно для колонок шаг и стоп оставляем 0.
- Трейлинг стоп от 10 до 100 пипсов.
- Для параметров MACDOpenLevel выставляем количество свечей от 3 до 30 с шагом 1. MACDCloseLevel от 2 до 30.
- И периоды для скользящей средней МАTrendPeriod от 20 до 100.
Есть! Установили :-). Теперь на вкладке «Тестирование» выбираем депозит (в нашем случае, 1000$) для которого будет проводится оптимизация советника, после чего нажимаем на кнопку «ОК».
После этого, обязательно ставим галочку «Оптимизация» и нажимаем «Старт».
Оптимизация советника займет несколько минут в зависимости какой мощности у Вас компьютер. Соответственно после завершения оптимизации, в окне тестера стратегий появляются дополнительные вкладки «Результаты оптимизации» и «График оптимизации».
В первой, Вы можете просмотреть результаты каждого прогона (у нас их получилось 4511), отсортировать их по прибыли, количестве сделок, просадке т.д. После того как проанализировали и выбрали для себя лучший вариант прогона, кликаем правой кнопкой мыши по строчке данного прогона и в открытом контекстном меню нажимаем «Установить входные параметры».
Если после этого зайдем на вкладку «Свойства эксперта», то увидим, что советник принял новые параметры, которые мы ему установили.
Как показано на рисунках выше, я отсортировал колонку с наибольшей прибылью (она составила – 1586$) и установил эти параметры для эксперта. Теперь нужно заново протестировать советник, чтобы получить реальный график и отчет эффективности его торговли за указанный период. Для этого снимаем галочку «Оптимизация» и нажимаем на кнопку «Старт».
Как видно на рисунке выше, из вкладки «График», оптимизация советника и его повторный тест показал значительно лучший результат (прибыль за указанный период (год) составила – 1586 дол.) по сравнению с предыдущим тестированием со стандартными параметрами (прибыль – 452$).
Теперь нужно сохранить оптимизированные настройки советника, для этого заходим на вкладку «Входные параметры» и нажимаем кнопку «Сохранить». В открывшемся окне, пишем название файла с настройками, выбираем папку в которой будем его хранить и сохраняем в специальном формате — .set.
После стандартного теста можно провести так называемый «форвард тест», т.е. тестирование за период с неизвестными для советника котировками.
Для примера, так как мы проводили тестирование за период и котировками за 2011 год, то для форвард теста возьмем весь доступный период 2012 года (котировки для робота, в этом случае, будут неизвестны).
Результаты, я уверен, будут отличаться существенно, и они будут более достоверны для анализа работоспособности советника на реальном счете.
Еще хочу добавить, что оптимизацию данного советника мы рассматривали как пример. Такие стандартные эксперты создаются, как правило, для различных тестов, так сказать для проверки идей торговли, и использовать их в реальной торговли категорически не рекомендуется.
Ну что же друзья трейдеры, завершаю этот пост, надеюсь теперь Вы без проблем сможете проводить тестирование и оптимизировать советник, анализировать получении результаты и принимать более рациональные решения для автоматической торговли на рынке Форекс. В дальнейших статьях буду публиковать интересные нестандартные советники, проводить детальную их оптимизацию и анализировать результаты торговли, для того чтобы не пропустить это обязательно подписывайтесь на обновления.
Видео обязательное для просмотра «Миф об оптимизации торговых советников»:
Всем пока. До встречи на форекс блоге
Настройка – Оптимизация советников – Автотрейдинг – Справка по MetaTrader 4
Оптимизация представляет собой последовательные прогоны одного и того же советника с различными входными параметрами на одних и тех же данных.
При этом можно подобрать такие параметры, при которых эффективность советника будет максимальной. Терминал обладает встроенными средствами, позволяющими автоматизировать этот процесс.
Прежде чем приступать к оптимизации параметров советника, необходимо произвести настройку. Это означает, что следует:
Для тестирования и оптимизации советников в терминале используется специальное окно “Тестер”. Все вышеперечисленные настройки производятся во вкладке “Настройка” этого окна.
Советник и его параметры
В поле окна “Тестер — Советники” следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.
После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки “Свойства эксперта”.
При этом появится новое окно с тремя вкладками:
Тестирование
В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.
В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.
Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье “Генетические алгоритмы — математический аппарат”.
Оптимизируемый параметр — некий показатель, значение которого определяет качество тестируемого набора входных параметров. Чем больше значение критерия оптимизации, тем лучше оценивается результат тестирования с данным набором параметров. Доступны следующие параметры для оптимизации:
- Balance — показателем оптимизированности является максимальное значение баланса;
- Profit Factor — показателем является максимальное значение фактора прибыльности;
- Expected Payoff — показателем является максимальное значение математического ожидания выигрыша;
- Maximal Drawdown — показателем является минимальное значение просадки;
- Drawdown Percent — показателем является минимальное значение относительной просадки (в процентах);
- Custom — при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.
Входные параметры
Здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Для изменения этих параметров нет необходимости изменять код эксперта. Количество входных переменных может варьироваться от эксперта к эксперту.
При оптимизации входные параметры советника задаются в полях “Старт”, “Шаг” и “Стоп”. В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию.
Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле “Значение”. Количество прогонов эксперта напрямую зависит от этих параметров.
Данные, записываемые в поле “Значение”, не влияют на оптимизацию советника и необходимы лишь для его тестирования.
Существует возможность загрузить уже сохраненный набор входных параметров (включая значения “Старт”, “Шаг” и “Стоп”). Это можно сделать, нажав кнопку “Загрузить” и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.
Оптимизация
Эта вкладка позволяет управлять ограничениями во время оптимизации. Если в процессе отдельного прогона будет достигнуто любое из условий, этот прогон советника прервется. Оптимизация продолжится со следующего прогона.
Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле “Значение” можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу “Enter”.
К ограничивающим параметрам относятся:
- Минимальный баланс — минимальное значение баланса в валюте депозита;
- Максимальная прибыль — максимальная прибыль в валюте депозита;
- Минимальный уровень маржи % — минимальный уровень маржи в процентах;
- Максимальная просадка % — максимальная просадка в процентах;
- Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
- Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
- Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
- Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.
Финансовый инструмент и его период
Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных.
При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER.
Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.
Финансовый инструмент задается в поле “Символ”, а таймфрейм — в поле “Период”. Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.
Внимание: если по инструменту имеются какие-либо данные за пределами последних 512 баров, произойдет автоматическое скачивание исторических данных до самого последнего имеющегося бара. Это может вызвать резкое увеличение входящего трафика.
Методы моделирования
Исторические данные в терминале сохраняются только как бары и представляют собой записи в виде OHLC. Эти данные могут использоваться для моделирования динамики цен при оптимизации советников. В некоторых случаях для тестирования/оптимизации такой информации бывает недостаточно.
Например, на дневных данных колебания цен внутри бара могут привести к срабатыванию советника. В то же время при оптимизации срабатывания может не произойти.
Иными словами, оптимизация советника на основе одних только баров иногда бывает неточной и может давать ложное представление об эффективности эксперта с выбранными параметрами.
Терминал позволяет оптимизировать советники с использованием различных методов моделирования исторических данных. При этом динамика цен эмулируется более точно. За счет использования исторических данных более мелких периодов можно представлять колебания цен внутри баров.
Например, при оптимизации советника на часовых данных, динамику цен внутри бара можно смоделировать на основе минутных данных. Таким образом, моделирование существенно приближает исторические данные к реальным колебаниям цен и делает оптимизацию советников более достоверной.
При настройке оптимизации можно выбрать один из трех методов моделирования исторических данных:
В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле “Спред”.
Временной диапазон
Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных.
Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования).
Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим.
Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.
Чтобы включить ограничение по датам, необходимо выставить флажок “Использование дат” и указать требуемые значения в полях “От” и “До”. После того как произведены все настройки, можно нажать кнопку “Старт” и начать тестирование. После начала тестирования в нижней части окна можно просмотреть ориентировочное время завершения этого процесса.
Настройка
Оптимизация представляет собой последовательные прогоны одного и того же советника с различными входными параметрами на одних и тех же данных. При этом можно подобрать такие параметры, при которых эффективность советника будет максимальной. Терминал обладает встроенными средствами, позволяющими автоматизировать этот процесс. Прежде чем приступать к оптимизации параметров советника, необходимо произвести настройку. Это означает, что следует:
Для тестирования и оптимизации советников в терминале используется специальное окно «Тестер». Все вышеперечисленные настройки производятся во вкладке «Настройка» этого окна.
Советник и его параметры #
В поле окна «Тестер — Советники» следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.
После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки «Свойства эксперта».
При этом появится новое окно с тремя вкладками:
Тестирование
В этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации.
В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.
Также можно включить генетический алгоритм оптимизации. Подробное описание этого алгоритма можно найти в статье «Генетические алгоритмы — математический аппарат».
Оптимизируемый параметр — некий показатель, значение которого определяет качество тестируемого набора входных параметров. Чем больше значение критерия оптимизации, тем лучше оценивается результат тестирования с данным набором параметров. Доступны следующие параметры для оптимизации:
- Balance — показателем оптимизированности является максимальное значение баланса;
- Profit Factor — показателем является максимальное значение фактора прибыльности;
- Expected Payoff — показателем является максимальное значение математического ожидания выигрыша;
- Maximal Drawdown — показателем является минимальное значение просадки;
- Drawdown Percent — показателем является минимальное значение относительной просадки (в процентах);
- Custom — при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.
Входные параметры
Здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Для изменения этих параметров нет необходимости изменять код эксперта. Количество входных переменных может варьироваться от эксперта к эксперту.
При оптимизации входные параметры советника задаются в полях «Старт», «Шаг» и «Стоп». В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию. Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле «Значение». Количество прогонов эксперта напрямую зависит от этих параметров. Данные, записываемые в поле «Значение», не влияют на оптимизацию советника и необходимы лишь для его тестирования.
Существует возможность загрузить уже сохраненный набор входных параметров (включая значения «Старт», «Шаг» и «Стоп»). Это можно сделать, нажав кнопку «Загрузить» и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.
Оптимизация
Эта вкладка позволяет управлять ограничениями во время оптимизации. Если в процессе отдельного прогона будет достигнуто любое из условий, этот прогон советника прервется. Оптимизация продолжится со следующего прогона.
Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле «Значение» можно изменить имеющийся параметр, после ввода нового значения нажмите клавишу «Enter».
К ограничивающим параметрам относятся:
- Минимальный баланс — минимальное значение баланса в валюте депозита;
- Максимальная прибыль — максимальная прибыль в валюте депозита;
- Минимальный уровень маржи % — минимальный уровень маржи в процентах;
- Максимальная просадка % — максимальная просадка в процентах;
- Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
- Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
- Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
- Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.
Финансовый инструмент и его период #
Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.
Финансовый инструмент задается в поле «Символ», а таймфрейм — в поле «Период». Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.
Внимание: если по инструменту имеются какие-либо данные за пределами последних 512 баров, произойдет автоматическое скачивание исторических данных до самого последнего имеющегося бара. Это может вызвать резкое увеличение входящего трафика.
Методы моделирования #
Исторические данные в терминале сохраняются только как бары и представляют собой записи в виде OHLC. Эти данные могут использоваться для моделирования динамики цен при оптимизации советников. В некоторых случаях для тестирования/оптимизации такой информации бывает недостаточно. Например, на дневных данных колебания цен внутри бара могут привести к срабатыванию советника. В то же время при оптимизации срабатывания может не произойти. Иными словами, оптимизация советника на основе одних только баров иногда бывает неточной и может давать ложное представление об эффективности эксперта с выбранными параметрами.
Терминал позволяет оптимизировать советники с использованием различных методов моделирования исторических данных. При этом динамика цен эмулируется более точно. За счет использования исторических данных более мелких периодов можно представлять колебания цен внутри баров. Например, при оптимизации советника на часовых данных, динамику цен внутри бара можно смоделировать на основе минутных данных. Таким образом, моделирование существенно приближает исторические данные к реальным колебаниям цен и делает оптимизацию советников более достоверной.
При настройке оптимизации можно выбрать один из трех методов моделирования исторических данных:
- По ценам открытия (быстрый метод на сформировавшихся барах)
Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится! - Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах. - Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от «контрольных точек», потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.
В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле «Спред».
Временной диапазон #
Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных. Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования). Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим. Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.
Чтобы включить ограничение по датам, необходимо выставить флажок «Использование дат» и указать требуемые значения в полях «От» и «До». После того как произведены все настройки, можно нажать кнопку «Старт» и начать тестирование. После начала тестирования в нижней части окна можно просмотреть ориентировочное время завершения этого процесса.
https://znanie16.ru/baza-znanij/kak-optimizirovat-sovetnik-foreks-v-mt4.html
https://www.metatrader4.com/ru/trading-platform/help/autotrading/tester_optimization/tester_optimization_parameters