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

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

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

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

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

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

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

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

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

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

  • сперва выполняем оптимизацию, выбираем лучшую комбинацию настроек. Работать буде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, сильнее всего влияющих на торговлю. В противном случае трейдер рискует получить идеальный результат на истории, но разочароваться при реальной торговле.

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

Как правильно оптимизировать торговый советник Форекс самостоятельно, если Вас не устраивают стандартные настройки, либо Вы желаете добиться его более комфортной работы или хотите работать на других временных интервалах с использованием иных индикаторов, торговых инструментов и так далее?

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

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

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

Чем слабее будет ваша техника, тем дольше и хуже будет идти процесс оптимизации.

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

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

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

Видео: Как оптимизировать выбранный Вами советник в терминале MT5

Итак, если Вы думаете, как правильно оптимизировать торговый советник Форекс для терминала MT4 или 5 , значит, непосредственно торговая платформа уже установлена на Ваш ПК и этому вопросу (установке МетаТрейдера), мы уделять внимания не будем.

Начать необходимо с подключения в терминале к Вашему торговому счету. Для этого активируйте во вкладке «Файл» пункт «Подключиться к торговому счету».


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


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


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

Зайдите в меню «Сервис» и активируйте пункт «Настройки». Далее в открывшемся окне, зайдите во вкладку «Графики» и установите в «истории» и в «окне» максимальное количество баров. Нажмите «ОК».


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

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

Перед тем, как оптимизировать торговый советник, его необходимо протестировать. Итак, выберете пункт «Тестер стратегий» во вкладке меню «Вид».

Тоже самое можно сделать, активировав (при наличии) на верхней панели кнопку тестера.


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


Не забудьте установить желаемое время оптимизации советника Форекс для терминала MT4, 5, то есть дату начала и завершения.

После того как установите основные параметры оптимизации, переходите к установкам параметров самого советника. Для этого активируйте «Свойства эксперта».


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



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

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

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

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

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


Может случиться так, что торговый советник не начнет тестироваться. Причиной тому может стать ошибка, вызванная слишком большим количеством оптимизируемых параметров. Это можно проверить, если открыть вкладку «Журнал», расположенную внизу тестера.

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


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

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


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


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

Если результат Вас устроил, то его можно для дальнейшего применения сохранить в SET-файле – активируйте вкладку «Настройки», нажмите «Свойства эксперта» и затем «Сохранить». В появившемся окне назовите свой SET-файл и еще раз сохраните.

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

ВИДЕО ОБЗОР:
Как правильно оптимизировать торговый советник

Привет Всем!

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

Итак, поехали:-). Как помните из предыдущей статьи , мы протестировали стандартный эксперт MACD Sample из стандартными параметрами на истории котировок (за 2011 год) и получили неутешительные результаты. Сейчас же мы проведем оптимизацию этого советника и посмотрим, как изменится его эффективность торговли.

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

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

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

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

Для примера, если вы поставите для параметра TakeProfit:

Старт — 5 пунктов

Шаг — 1 пункт

Стоп – 200

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

Первый цикл — он прогоняет со значением параметра TakeProfit — 5 пунктов (это один прогон).

Второй цикл — с значением 6 пунктов (так как шаг у нас 1 пункт, это уже второй прогон)

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

Так эти значения «Старт », «Шаг » и «Стоп » проставляются для каждого параметра советника отдельно и тогда проводится оптимизация.

  • Параметр 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 года (котировки для робота, в этом случае, будут неизвестны). Результаты, я уверен, будут отличаться существенно, и они будут более достоверны для анализа работоспособности советника на реальном счете.

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

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

Видео обязательное для просмотра «Миф об оптимизации торговых советников»:

Сегодня рассмотрим вопросы тестирования и оптимизации советников в торговом терминале МТ4.

Откроется тестер стратегий в котором мы и будем производить тестирование нашего советника Ilan16c_PipStepExponent_MFI_lock.

В самой верхней левой вкладке тестера стратегий выбираем «Советник».

Во вкладке рядом, в выпадающем списке, ищем наш советник и кликаем по его названию двойным щелчком мышки.

Во вкладке ниже выбираем символ — валютную пару, по которой хотим протестировать советника. Пусть у нас будет USDJPY.

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

Ставим галочку на «Использовать дату» — устанавливаем интервал. Пусть у нас будет интервал с начала 2015 года и до 2015.11.23.

Следующий пункт «Визуализация».

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

Скорость тестирования ставим на максимум — передвигаем ползунок до упора вправо.

Также доступны кнопки «Пауза/Плей» и «Пропустить до».

Переносим свой взгляд в тестере вправо.

Делаем выбор временного периода — на котором будем производить тестирование робота. Пусть у нас будет M5.

Теперь давайте откроем настройки советника — нажимаем «Свойства эксперта».

Тут мы видим стандартные настройки советника Ilan16c_PipStepExponent_MFI_lock — с ними и потестируем. Вы можете изменить настройки эксперта как захотите и уже потом его протестировать. Любой советник можно тестировать неограниченное количество раз и .

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

Пусть депозит начальный у нас будет 10000 USD, а позиции: покупки и продажи (Long & Short) — так всегда в стандарте в МТ4 должно быть.

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

Этот процесс пригодится и для оптимизации торгового эксперта. Архив котировок по какому-либо инструменту нужно закачать всего один раз.

Как загрузить архив котировок в MT4?

В самом верхнем меню терминала нажимаем «Сервис» и далее «Архив котировок». Или просто жмём F2.

Откроется окно с архивами котировок по доступным инструментам.

Ищем в списке наш символ (нашу валютную пару) USDJPY и кликаем по её названию двойным щелчком мышки, а затем кликаем двойным щелчком мышки на «1 Минута».

Нажимаем кнопку «Загрузить». Начнётся процесс закачки всех котировок по USDJPY — для всех таймфреймов.

Всё — все котировки по USDJPY закачены — теперь можно качественно тестировать и оптимизировать советников на всех тиках.

Закрываем это окно и пробуем протестировать наш советник Ilan16c_PipStepExponent_MFI_lock — нажимаем кнопку «Старт».

Подгружаются котировки из архива котировок.

Что в итоге? Слив всего депозита .

Как видно, стандартные настройки нам явно не подходят — прийдётся оптимизировать данного советника.

Примечание: можно сохранить на свой компьютер любой отчёт — заходим в подвкладку тестера стратегий «Отчет», где у нас отображаются все данные о пройденном тесте, и кликаем в этом окне правой кнопкой мышки, а затем «Сохранить как отчет» — отчёт будет сохранён в формате HTML.

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

Также, проставляем напротив параметров с галочками их «Старты», «Шаги» и «Стопы» — простыми словами, лимит значений от и до с шагом.

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

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

— Balance: показателем оптимизированности является максимальное значение баланса;
— Profit Factor: показателем является максимальное значение фактора прибыльности;
— Expected Payoff: показателем является максимальное значение математического ожидания выигрыша;
— Maximal Drawdown: показателем является минимальное значение просадки;
— Drawdown Percent: показателем является минимальное значение относительной просадки (в процентах);
— Custom: при выборе данного параметра в качестве критерия оптимизации будет учитываться значение функции OnTester() в советнике. Данный параметр позволяет пользователю использовать любой собственный показатель для оптимизации.

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

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

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

К ограничивающим параметрам относятся:

— Минимальный баланс: минимальное значение баланса в валюте депозита;
— Максимальная прибыль: максимальная прибыль в валюте депозита;
— Минимальный уровень маржи %: минимальный уровень маржи в процентах;
— Максимальная просадка %: максимальная просадка в процентах;
— Непрерывный убыток: максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
— Непрерывное количество убыточных сделок: максимальное количество убыточных сделок в одной серии;
— Непрерывный выигрыш: максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
— Непрерывное количество прибыльных сделок: максимальное количество прибыльных сделок в одной серии.

После всех изменений нажимаем на кнопку «ОК».

Ставим галочку на «Оптимизация» и нажимаем «Старт».

Пошёл процесс оптимизации — как видно из скриншота, будет 10 496 проходов, с временем оптимизации почти 175 часов . Но мы столько ждать то не будем — как только мы увидим отличный вариант/варианты (например, с солидной прибылью и приемлемой просадкой) мы можем остановить оптимизатор.

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

Думаю 10 положительных проходов оптимизатора будет достаточно для примера. Останавливаем оптимизатор — вкладка «Настройки», кнопка «Стоп».

Итак, что мы видим? У нас есть несколько хороших проходов, но самый лучший из них самый верхний — самая высокая прибыль и самая маленькая просадка из всех 10 проходов. Эти настройки мы возьмём.

Настройки в советник из оптимизатора можно внедрить двумя способами: кликнуть по нужному проходу двойным щелчком мышки (левой кнопкой) либо нажать на нужный проход правой кнопкой мышки и далее «Установить входные параметры».

Помните наш советник слил весь депозит? Ну а теперь нажимаем кнопку «Старт» и тестируем советник с новыми оптимизированными настройками.

Здорово, правда? Отличные оказались настройки .

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

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

Чтобы внедрить какой-либо файл с настройками в советник в тестере стратегий, нажмите на кнопку «Свойства эксперта» и далее «Загрузить» — укажите путь к файлу, выберите нужный файл мышкой и нажмите «Открыть». Настройки будут интегрированы в советник — после этого не забудьте нажать на кнопку «ОК» в свойствах эксперта.

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

Теперь Вы знаете как тестировать советника и как грамотно его оптимизировать. Успехов!

Как правильно оптимизировать советник? - вопрос на который не существует пока точного ответа. Здесь я расскажу как я это делаю в metatrader 4. В статье я предполагаю что Вы уже знаете

Для начала разберёмся с техническими тонкостями оптимизации. Оптимизация это подбор наилучших параметров работы советника. "Наилучших" - понятие расплывчатое, кто то скажет риск должен быть минимален, для кого то важнее прибыль в процентах, для других высокий профит фактор. Наилучшие параметры это уже вопрос больше религии, кто во что больше верит. Лично я верю что можно подобрать оптимум(самые наивыгоднейшие параметры) по множеству критериев сразу. Но платформа MT4 пока что в этом плане ограничена и позволяет оптимизировать только по одному критерию, т.е. если мы ставим оптимизировать чистую прибыль, то генетический алгоритм пытается подобрать такие параметры при которых прибыль максимально, не глядя на просадку, и прочие показатели. Это очень похоже на джина, который вроде формально выполняет желание, но всегда криво и не так как нужно. В оптимизации советников очень важно экспериментировать и набираться опыта, оптимизировать как можно больше систем, на разных интервалах, следить что меняется, как меняются лучшие параметры. Тогда с опытом Вы будете лучше разбираться в работоспособности и живучести советников.

  • 1. Естественно депозит. На этапе оптимизации депозит ставят максимально большим, чтобы депозит не стал ограничением в работе советника, пускай и убыточного, работу над ошибками в системе делают именно так.
  • 2. Long/Short - параметр который разрешает открывать и BUY и SELL ордера. МТ4 позволяет запретить открытие любого из типов ордеров. Не рекомендую использовать этот параметр, т.к. в эксперте могут возникнуть логические ошибки. В любом эксперте!
  • 3. Оптимизируемый показатель - то о чём я говорил выше. Если выставить balance то генетический алгоритм будет пытаться максимизировать баланс, не смотря на другие показатели. Из всех представленных показателей оптимизации я рекомендую использовать ProfitFactor, он наиболее оптимально для большинства систем подберёт параметры.
  • 4. Вкл/выкл Генетический алгоритм. Генетический алгоритм ОЧЕНЬ существенно ускоряет поиск оптимальных параметров. Существует целый раздел в Машинном обучении, который поможет Вам подробно разобраться что же такое генетический алгоритм. Я лишь скажу что без него идёт прямой перебор параметров, который может затягиваться на года, в то время как генетический алогиртм ищет оптимальные параметры за 1-2 дня максимум.

Поехали дальше, вторая вкладка


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

  • 1. Старт - с этого значения параметр начинает свой перебор в сочетании с другими параметрами. Т.е. если здесь напротив TP_1 выставить 100 то при оптимизации занчение TP_1=100 будет минимальным, никогда советник не выставит ниже 100 пунктов TP_1. Аналогично и для других параметров.
  • 2. Шаг перебора параметра. Если напротив TP_1 шаг установить 20, то генетический алгоритм будет перебирать поочерёдно значения 100, затем 120, затем 140, затем 160, НО никогда не будет перебирать 145 или 167, шаг не позволит столь детализироваться в подборе параметров.
  • 3. Стоп- это максимальное значение параметра в переборе. Если напротив TP_1 выставить 1000 то в переборах параметров TP_1 никогда не будет больше 1000, только меньше.
  • 4. Ну и последнее - Должна стоять галочка(где показано стрелкой) чтобы этот параметр подбирался. Если галочка у параметра не стоит то параметр приравнивается к колонке "Значение"

Самый важный параметр - Шаг. Его правильное значение позволяет максимально сократить время оптимизации. Я рекомендую брать размах(Максимальное значение параметра и минимальное) параметра и делить его на 5-8, получившееся значение вписывать в шаг при оптимизации. На примере Вы знаете что Тейкпрофит в колонке Старт лучше поставить минимальным примерно 5 пунктов. Но в то же время в колонке Стоп Вы понимаете что стратегия не долгосрочная и больше 200 пунктов ставить не имеет смысла. Тогда шаг выставляете 20 пунктов. И уже затем когда Вы понимаете что система Вас устраивает и Вам нужно более детализировано оптимизировать параметры и Вам известно, допустим, что оптимальный тейкпрофит колеблется в диапазоне 25-45 пунктов, тогда Вы можете провести ещё одну оптимизацию с более мелким шагом но и более узким диапазоном значений.

Ну и наконец третья вкладка


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