17.10.2021

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


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

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

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

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

Итак, советник выбран, теперь на панели тестера задаём остальные ключевые параметры - торговый инструмент (это тикер валютной пары, металла или CFD), таймфрейм, тип модели (желательно всегда выбирать «все тики»), дату тестирования и, самое главное, ставим галочку напротив пункта «оптимизация».

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

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

В представленном примере я решил «подогнать» три функции - CCI_per (основной индекс), MA_per (сигнальная скользящая) и CCI_close_per (индекс, по значениям которого сделка закрывается), поэтому галки стоят только напротив перечисленных переменных.

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

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

Затем переходим во вкладку «Тестирование» и задаём здесь величину начального депозита, разрешаем советнику открывать сделки в обе стороны (buy и sell), а также отключаем функцию «генетический алгоритм».

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

Практика показывает, что подобный подход зачастую мешает оценить результаты теста, поскольку переменные советника подбираются вразнобой, например, в первом прогоне CCI_per будет равен 25, во втором 55, а в третьем 15. Мне нравится, когда всё упорядочено, поэтому я отключаю данную функцию.

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

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

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

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

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

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

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

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

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

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

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

Не многие сегодня знают, то самый обычный тестер стратегий в терминале 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, дабы потом с легкостью устанавливать сет в советник прямо на графике).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В данном материале мы покажем, как выглядит оптимизация советников Форекс в МТ4, и как правильно её проводить.

Для проверки советника на прибыльность понадобиться выполнить такие действия:

  1. Пропустить выбранного торгового робота через тестер стратегий, который есть в каждом МТ4.
  2. Настроить оптимизацию советника Форекс и посмотреть, что из этого получилось.
  3. Протестировать робот на демо-счете.
  4. Попробовать применить советник на центовом счете.

Сразу отметим, что пункты 1, 2, 4 нужно выполнить обязательно . Что касается третьего пункта, то его выполнение не столь обязательно, так как тестирование на демо-счете занимает много времени. Вот почему некоторые трейдеры-новички предпочитают пропустить 3-й этап.

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

Тестер стратегий

В качестве примера мы выбрали семейство советников Ilan . Когда “Илан” и установлен в торговый терминал, выбираем актив EUR/USD . Потом нужно выбрать “все тики ”. Также понадобиться указать временной интервал в рамках, которого и будет проводиться наиболее точное тестирование. Мы выбрали часовой таймфрейм . Интервал тестирования июнь 2017 года.

Рисунок 1. Тестер советника Ilan 1.6 Dynamic.

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

Рисунок 2. Отчет торговли за месяц в тестере советников.

За месяц робот открыл всего 255 сделок. Чистая прибыль составила $21.18. Размер депозита $10 тыс. Максимальная просадка составила 6,57% от депо. Прибыльность советника 1.08. Причем оптимизация советника в МТ4 не проводилась.

Рисунок 3. Стейтмент торговли советника Илан.

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

Рисунок 4. Архив котировок.

Нам нужно выбрать нашу пару EUR/USD таймфрейм 1 минута:

Рисунок 5. Архив котировок EUR/USD таймфрейм 1 минута.

Теперь можно нажать на кнопку «Загрузить». После этого появится предупреждение о загрузке котировок. Жмем “ОК”. Через некоторое время процесс подгрузки котировок можно считать завершенным. Вот теперь все нормально. Нажимаем кнопочку «Загрузить» и ждем пока подгрузится история.

Переходим в тестер стратегии и жмем на кнопку “Старт”. Согласно данным из отчета, цифры несколько изменились:

Рисунок 6. Повторное тестирование советника Илан.

Было открыто 263 сделки. Чистая прибыль составила $19.52. Прибыльность та же 1.08. Максимальная просадка составила $658.43 или 6,57% от всего депозита. Вывод: особо ничего не изменилось, поэтому прибегнем к оптимизации советника Форекс в МТ4, чтобы извлечь максимально возможную прибыль.

Попытка оптимизации

Изначальные настройки робот Илан имеет такие:

Рисунок 7. Стандартные настройки робота Ilan 1.6 Dynamic.

Итак, как оптимизировать этот советник в МТ4? Попробуем изменить некоторые параметры настроек:

  • Max Trades с 10 на 20;
  • Lot Exponent c 1.4 на 1.5;
  • TotalEquityRisk с 20 на 50.

Рисунок 8. Оптимизация советника Ilan 1.6 Dynamic.

Жмём кнопку “ОК”. Затем стартуем по новой. Когда оптимизация Илан была завершена, то тестер показал следующие результаты:

Рисунок 9. Результаты торговли советника после оптимизации.

Всего было заключено 282 сделки. Читая прибыль составила $53,39. Прибыльность 1.10. Максимальная просадка 13.90% от общего значения счёта. Тестировался робот Илан с 01.06.2017 по 30.06.2017. То есть, это результаты за 30 дней.

А что, если протестировать его с начала года и до 30.06.2017 года? Однако нам нужно снова прибегнуть к оптимизации советников Форекс в МТ4 – изменить параметр DefaultPips (шаг между открытием новых ордеров) с 12 на 24.

После нажатия на “Старт” за более чем полгода роботу удалось достичь таких результатов:

Рисунок 10. Результаты торговли робота Илан за полгода.

Всего роботу удалось заключить 1479 сделок. Прибыль составила $357.77. Прибыльность 1.10. Максимальная просадка составила 77.16 % или $7863.44 при изначальном депозите $10 тыс. Для всех роботов-сеточников такая большая просадка - это нормальная практика . Если Вас не устраивает такая оптимизация советников Форекс, можете открыть тестер стратегий и попробовать изменить параметры настроек автоматического робота Илан. Возможно, Вам удастся вывести более удачную оптимизацию.

Заключение

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

В качестве заключения отметим, что сеточный советник Ilan 1.6 Dynamic абсолютно рабочий торговый инструмент для получения прибыли на рынке Форекс. Главное, чтобы оптимизация советника в МТ4 была проведена грамотно. Применять его можно в рамках центового счета. Но понадобиться изменить в большую сторону параметр Lots , скажем до 0.2-0.3, а то и выше. Всё зависит от размера депозита. В любом случае рекомендуем проверить эту настройку в тестере , и только потом торговать на реальном счете.

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

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

  • выбрать советника и задать его входные параметры
  • выбрать финансовый инструмент и его период
  • выбрать один из трех способов моделирования баров
  • задать временной диапазон для оптимизации (необязательно)

Для тестирования и оптимизации советников в терминале используется специальное окно "Тестер" . Все вышеперечисленные настройки производятся во вкладке "Настройка" этого окна.

В поле окна "Тестер - Советники" следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

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

При этом появится новое окно с тремя вкладками:

Тестирование

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

В этой вкладке также выбираются типы открываемых позиций: Only Long - открывать только длинные позиции; Only Short - только короткие; Long and Short - открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

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

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

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

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

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

При оптимизации входные параметры советника задаются в полях "Старт", "Шаг" и "Стоп". В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию. Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле "Значение". Количество прогонов эксперта напрямую зависит от этих параметров. Данные, записываемые в поле "Значение", не влияют на оптимизацию советника и необходимы лишь для его тестирования .

Существует возможность загрузить уже сохраненный набор входных параметров (включая значения "Старт", "Шаг" и "Стоп"). Это можно сделать, нажав кнопку "Загрузить" и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.

Оптимизация

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

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

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

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

Финансовый инструмент и его период

Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент.

Финансовый инструмент задается в поле "Символ", а таймфрейм - в поле "Период". Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

Методы моделирования

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

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

При настройке оптимизации можно выбрать один из трех методов моделирования исторических данных:

  • По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  • Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
    Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
  • Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от "контрольных точек", потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.

В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска оптимизации. Однако пользователь может задать собственное значение спреда для оптимизации в поле "Спред".

Временной диапазон

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

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


© 2024
mamipizza.ru - Банки. Вклады и депозиты. Денежные переводы. Кредиты и налоги. Деньги и государство