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

Особенности тестирования советников в MT4

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

Подготовка советника к тестированию в MetaTrader 4. Загрузка истории котировок

Для тестирования советника в торговом терминале MetaTrader 4 необходимо, прежде всего, загрузить историю котировок тех финансовых инструментов, с которыми планируете работать. При этом загружаются котировки минутного интервала. Это позволяет точнее аппроксимировать ценовые движения внутри бара в режиме тестирования торговых стратегий на больших тайм фреймах (H1, H4, D).

Что бы загрузить минутные данные, следует установить в терминале MetaTrader 4 размер исторических данных (меню «Сервис ->Настройки):

В поле «Макс. баров истории» во вкладке «Графики» следует установить вручную число, согласно следующих расчетов: минутные данные одного года содержат 525600 баров. Соответственно, понадобится более 5 млн. баров для 10-летней истории. Для вступления в силу значения новых параметров, необходим перезапуск программы.

Данные истории загружаются в модуле программы «Архив котировок» (пункт «Сервис ->Архив котировок»).

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

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

При этом в окне входных параметров следует указать длительность пересчитываемого временного в минутах (M15-15; H1-60; …). Согласование необходимо повторить для всех временных интервалов.

Алгоритм тестирования советника в торговом терминале MT4

Для тестирования советников используется модуль «Тестер стратегий» (пункт «Вид ->Тестер стратегий»):

Необходимо указать в окне тестера стратегий следующие настройки:

    анализируемый советник, а так же свойства

    необходимость визуализации процесса тестирования

    (в случае неустановленной опции «Использовать дату» тестирование будет проведено на всех исторических данных)

    необходимость проведения оптимизации параметров советника

Выбор советника и параметров тестирования в тестере стратегий

Необходимо в списке «Советники» выбрать советник для тестирования. В списке торгового терминала в папке «experts» находятся все скомпилированные эксперты. Кнопка «Свойства эксперта» позволяет открыть список дополнительных настроек советника. В графе «Тестирование» можно посмотреть и задать общие параметры советника:

Вы можете установить здесь валюту депозита, начальный размер торгового счета, характер торговых сделок: все сделки – Short и Long, только позиции на покупку – Only Long, только позиции на продажу – Only Short. Параметры оптимизации будут рассмотрены ниже.

Ниже приведена вкладка «Входные параметры», которая содержит основные переменные, оказывающие влияние на алгоритм работы эксперта:

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

Настройки «Период» и «Символ» тестера стратегий

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

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

В выпадающем списке «Модель» необходимо выбрать пункт «Все тики». Этот способ обеспечивает точную эмуляцию ценовой динамики внутри бара и делает процесс тестирования более достоверным.

Временной диапазон тестирования

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

Эффект визуализации тестирования

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

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

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

После завершения процесса тестирования на экране появятся окна новых вкладок: «Результаты», «График», «Журнал» и «Отчет».

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

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

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

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

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

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

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

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

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

Чистая прибыль означает разница между начальным и конечным состоянием баланса счета.

Фактор восстановления (соотношение прибыли к максимальной просадке) – это важный показатель работы советника и его эффективности. При эффективной работе фактор восстановления должен быть более трех.

Так же, важными характеристиками советника являются средняя прибыльная/убыточная сделка. Оптимальным вариантом является соотношение средней прибыли к средним убыткам 1:3, а также превышение числа убыточных сделок над прибыльными на уровне 1:2. То есть, должна расти прибыль, а убытки быстро фиксироваться.

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

Визуализация тестирования советника в терминале MT4

Тестер стратегий позволяет трейдеру просмотреть торговые события непосредственно на графике, которые возникали в период анализа советника. Имеется два способа визуализации: во время теста советника и после проведения теста.

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

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

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

Оптимизация советника в терминале MT4

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

Параметры оптимизации советника настраиваются в свойствах эксперта:

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

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

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

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

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

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

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

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

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

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

Практическое использование МТС

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

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

  • Результат оптимизации оценивается:
  • Высокой общей прибылью
  • Минимальной просадкой
  • Большим количеством прибыльных сделок
  • Минимальным риском
  • Оптимальным сочетанием вышеприведенных целей

Алгоритм Советника, как правило, не предусматривает “человеческого вмешательства ”, что предполагает в нем наличие блоков для формирования сигнала на вход, выход и мани менеджмента:

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

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

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

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

  • Важных глобальных новостей
  • Политических событий
  • Сезонности

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

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

Оптимизация - это поиск и подбор качественных настроек Советника с помощью компьютерных технологий, реализованных в терминале MetaTrader 4. Эта технология превращает многочасовой и монотонный “ручной” труд трейдера по поиску наилучших параметров в легко выполнимую “минутную” задачу.

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

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

В начале процесса, трейдер должен провести подготовительный этап:

  • Запустить тестер стратегий из-под меню «Вид» или комбинацией клавиш быстрого доступа Ctrl+R
  • Скачать/обновить архив котировок (клавиша F2) валютных пар, участвующих в тесте
  • Выбрать Советник и настроить параметры, совпадающие с рабочим инструментом (валютной парой), таймфреймом, спредом и периодом истории

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

Запуск оптимизации Советника состоит из четырех шагов, в ходе которых определяются цели, задаются пределы, шаг изменения параметров.

Шаг 1: настройка параметров вкладки “Тестирование”

В правом нижнем углу окна тестера стратегий нажмите опцию «», в открывшемся окне перейдите на вкладку “Тестирование”

  • Выберите размер депозита и валюту депозита - По умолчанию выставлено 10 000 USD. Оба параметра не критичны для оптимизации, но не стоит занижать стартовую сумму, особенно при использовании Советников с использованием стратегией сеток. В рассматриваемом примере оптимизируется, как раз такая стратегия - VR Smart Grid , поэтому принимаем настройки по умолчанию
  • Укажите вид разрешенных при тестировании и оптимизации ордеров: покупки/продажи (long&short), только покупки (long) только продажи (short) - По умолчанию разрешены оба вида сделок, трейдеры редко используют “однобокие” стратегии, поэтому оставляем настройки без изменений
  • Определите цель оптимизации параметров стратегии

На вкладке тестирования трейдер должен определиться, на что ориентироваться, улучшая входные параметры Советника:

  • Balance – эта опция стоит первой по умолчанию, из-за наиболее частого ее использования тестерами. Она дает простой и понятный способ выбрать лучшие параметры индикаторов, позволяющие достичь максимального приращения баланса на указанном историческом промежутке торгов;
  • Profit Factor – второй по популярности оптимизируемый параметр, более подходящий для систем со встроенным уровнем, мани менеджмента. Трейдер может отдать этому методу улучшения стратегии приоритет, если алгоритмом Советника предусмотрено изменение уровней тейк-профита и стоп-лосса. В этом случае прогоны оптимизации должны выдать наилучшее соотношение прибыли и убытка;
  • Expected Payoff – метод, позволяющий максимально избегать убыточных сделок, рекомендуется использовать при скальпинге или внутридневных стратегиях, так как присутствует побочный эффект уменьшения количества сделок;
  • Maximal Drawdown – оптимизация будет стремиться снизить просадку, но результаты поисков приведут к консервативной стратегии с низкой прибылью;
  • Drawdown Percent – этот метод схож с предыдущим, но подбор параметров стремится уменьшить просадку по каждой сделке. Побочные эффекты снижения прибыли приведут к уменьшению количества сделок;
  • Custom – оптимизация параметров, заданных пользователем

В рассматриваемом примере оптимизируется Советник VR Smart Grid, логика работы которого состоит в открытии сеток ордеров, поэтому трейдеру подойдет только первый пункт оптимизации – задать поиск параметров для получения максимального приращения баланса.

  • Подключите генетический алгоритм оптимизации стратегии

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

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

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

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

В случае оптимизации Советника алгоритм не будет доводить до конца тестового периода стратегии со «слившимися» еще на старте параметрами.

Шаг2: настройка вкладки «Входные параметры»

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

  • В левом столбце отметьте параметры, которые будут изменяться и подбираться после запуска оптимизации. Параметры отмечаются галочкой.
  • Заполните столбец: Старт - Поставьте в ячейке “Старт” цифру меньше, чем в графе “Значение”, чтобы оптимизация начала проверку всех вариантов: периодов индикаторов, уровней стоп-лосса и тейк-профита, вариантов модификаций, заложенных внутри торговой системы
  • Установите значение столбца “Шаг” - В графе “Шаг” интервал изменения (перебора) выбранных оптимизируемых параметров. Для индикаторов наиболее распространенный вариант этого значения - единица. При таких настройках каждое историческое тестирование Советника (прогон) будет отличать от предыдущего на 1.

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

  • Поставьте ограничение оптимизации в графе “Стоп” - Цифра графы стоп должна превышать цифру ячейки «Значение». Это “отсечка”, определяющая параметры конечного прогона, достигнув которых тест оптимизации будет остановлен. Устанавливая эти ограничения, трейдер должен исходить из логики стратегии.

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

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

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

В рассматриваемом примере Советник VR Smart Grid имеет множество входных параметров, однако наиболее важными являются следующие блоки:

  • Настройки изменения лотности - пользователь может доверить оптимизатору выбор между фиксированным значением каждой сделки в сетке или динамичным изменением ее размера
  • Манименеджмент Мартингейла - оптимизация выберет из предложенных разработчиком 5 алгоритмов увеличения каждой последующей инвестиции в сетке
  • Ограничение размера максимальной единичной сделки - оно “закроет строительство сетки”
  • Тип и шаг торговли
  • Манименеджмент , определяющий максимально возможные потери по депозиту, размеры фиксации профита и трейлинг стопа

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

Выставив галочки, означающие оптимизацию только нужных параметров, выбираем на старте и финише (колонка “Стоп”) значения, которые отличаются в меньшую и большую сторону от заложенных параметров в графе “Значение”. Также нужно учитывать их размерность при выборе шага перебора.

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


Шаг 3: вкладка «Оптимизации»

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

  • Минимальный баланс – выбран в долларах
  • Максимальная прибыль – берется равной начальному депозиту, чтобы отключить «прогон» при достижении 100% профита
  • Минимальный уровень маржи – взят 30%, это уровень стоп-аута у некоторых брокеров, при достижении которого сделки закрываются автоматически
  • Максимальная просадка – логично сочетается с минимальным уровнем маржи, в сумме составляя 100%
  • Непрерывное количество убыточных и прибыльных сделок , обычно выбраны нереальные значения

Любое значение можно включить или отключить, поставив отметку слева.

В приведенном примере оптимизации Советника VR Smart Grid , трейдеру нет смысла ограничивать сетку по серии прибыльных или убыточных сделок подряд, как и уровень прибыли, поэтому включаем в блок только настройки убытка:

Шаг 4: выбор исторического участка для оптимизации параметров стратегии

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

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

  • Точка отсчета должна совпадать с периодом снижения результативности стратегии, его поможет определить анализ кривой эквити отчета-стейтмента, полученного из «Истории счета».

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

  • Длина отрезка должна быть не менее трех календарных месяцев
  • Отрезки должны содержать явный растущий тренд, флет, падающий тренд
  • Желательно продлить период тестирования, чтобы добиться пропорциональной длины зон флэта, трендов вверх и вниз

Шаг 5: Запуск оптимизации

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

Анализ результатов оптимизации

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

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

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

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

Результаты оптимизации

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

Прогоны сведены в таблицу, в столбцах которой отображены:

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

Если Советник тестировался на предмет достижения максимального баланса депозита – выставленного параметра Balance на вкладке «Тестирование» (меню – “Свойство эксперта”) первые прогоны – самые максимальные по приросту прибыли. Это будет видно по второму столбику:

  • Прибыль
  • Всего сделок – количество сработавших ордеров, помогает трейдеру оценить соотношение частоты сделок и полученной прибыли

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

  • Прибыльность – параметр, показывающий коэффициент соотношение прибыли к убытку

Идеальным соотношением является величина 2, когда прибыль превышает убыток вдвое, но реальные показатели находятся в пределах от 1 до 1,5. Меньше единицы – убыток выше прибыли, выбор таких параметров может привести к потере депозита.

  • Матожидание – вероятность получения прибыльной сделки, чем этот параметр выше, тем лучше
  • Просадка – отображена в двух столбиках, отражающих числовое значение в $ и относительное в процентах

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

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

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

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

Запустите программу Excel на компьютере, создайте новый или войдите в уже существующий файл, открыв новый лист Книги. Выгрузите содержимое буфера обмена, наведя предварительно курсор на левую верхнюю ячейку. Вставку можно провести с помощью клавиш Ctrl+V или опять воспользоваться меню, вызываемом правой клавишей мыши.

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

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

Применение выбранного прохода для последующего тестирования Советника

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

  • В открывшемся поле тестера первой вкладки «Настройки» нажмите «Старт»

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

После нажатия кнопки «Старт» запускается стандартный процесс тестирования Советника, в ходе которого тестер «пополняется» дополнительными вкладками: “Результаты”, “График”, “Отчет” и “Журнал”.

  • Результаты содержат таблицу с детальными характеристиками каждой сделки, доступную для сохранения в виде файла html или копированию и выгрузки в Exсel

  • График показывает изменение баланса и гистограмму размера лота (объема сделки)

  • Отчет – самая важная часть для оценки прогонов Советника, содержащая количественную и относительную оценку результатов прогона по стандартам Metatrader 4

  • Журнал логов – технический отчет выставленных и закрытых в автоматическом режиме ордеров

Выбор наилучшего прохода

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

Не ограничивайтесь тестами первых двух или трех вариантов пакета настроек – тестируйте минимум 25%, а лучше 50% полученных результатов оптимизации. Сохраните для каждого из них график оптимизации и отчет. Проведите качественно-моделированный, визуальный и численный анализ отобранных вариантов по окончании процедуры тестирования.

На последнем этапе оставьте несколько пакетов настроек Советника для финального испытания робота на демонстрационных торгах.

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

Числовой анализ прогонов по вкладке отчет

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

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

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

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

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

Чтобы получить объективную оценку теста на малых «нештатных» для применения стратегии таймфреймов, трейдер должен выбрать достаточно длинный отрезок испытаний (от 1000 свечей) и учесть следующие особенности:

  • Выбирать активные участки (европейской, американской) сессии
  • Останавливать робота в период выхода важных экономических новостей
  • Принимать во внимание 20% снижение результативности на малых таймфреймах

Финальный этап теста позволит выбрать наверняка правильный набор новых параметров Советника.

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

Новые настройки для конкретного Советника в формате *.set можно получить от разработчика или на специализированных форумах в разделе Presets или “пресеты”. Новые настройки можно установить напрямую в текущую версию работающую версию Советника, но из соображений безопасности лучше прибегнуть к проверке работы новых шаблонов в тестере стратегии или демо счете.

Подготовка оптимизации и тестирование файлов *.set

  • Сохраните полученные пресеты в папке Presets

Запустите программу Metatrader 4 и нажмите опцию «Каталог данных » из меню «Файл ». В открывшемся окне войдите в папку MQL и поместите скачанные файлы перестов в директорию Presets.


  • Перезапустите Metatrader 4 и откройте тестер стратегий (Ctrl+R)
  • Зайдите во вкладку «Свойства эксперта» и настройте вкладку тестирования по вышеизложенной ранее методике
  • Откройте вкладку “Входные параметры”, сохраните текущие значения, нажав кнопку “Сохранить”

Эти Настройки уже присутствуют в директории Presets , но дополнительное сохранение позволит пользователю обозначить уникальное имя файла

  • Вернитесь к окну входных параметров и нажмите кнопку «Загрузить ». выбрав папку Preset, куда до этого были помещены полученные новые файлы *.set Советника. Замените на них текущие настройки.

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

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

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

Хранение и использование архива настроек с помощью файлов set

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

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

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

  • Погрешностью базовых условий тестирования и оптимизации

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

  • Проблемой доверия результатам тестирования пресетов

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

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

Как часто надо делать оптимизацию

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

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

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

Заключение

Оптимизация – необходимая и обязательная процедура корректировки параметров стратегии, чтобы подстроить индикаторы Советника под цикличные изменения рынка. Благодаря программным решениям, реализованным в тестере Metatrader 4, этот процесс сегодня не сложен.

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

Сегодня рассмотрим практическое пособие по оптимизации советников в MetaTrader 4 . Или, как выразился один читатель блога — «культуру общения с советниками» -)

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

И, как догадываетесь, причина не в стратегии, а в поведение рынка, так как он, в свою очередь, зависит от множества факторов, как например, сессии: количество игроков, новости и пр...

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

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

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

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

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

1. Оптимизация без форвард теста

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

На практике: трейдер использующий этот подход, проводит оптимизацию советника в МТ4 на прошлом , историческом участке рынка, начиная с определённого дня и по сегодняшний день.

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

2. Оптимизация с форвард тестом

Оптимизация с форвард тестом — это оптимизация параметров эксперта в прошлом, с контролем полученных настроек в будущем.

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

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

Метод оптимизации с форвард тестом выдаст более качественные настройки, чем без форвард теста, но все же лучше пойти еще дальше, так как на кону стоит ваш депозит, сами понимаете -)

3. Оптимизация с форвард и бэк тестом

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

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

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

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

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

Для этого в верхней строке меню войдите в «Сервис» и выберите «Архив котировок». Затем найдите необходимую валютную пару и загрузите минутные котировки М1, все остальные таймфреймы загрузятся автоматически.

После того, как откроется окно тестера, нужно выставить следующие настройки:

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

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

Во вкладке «Тестирование» выставьте:

  1. Значение своего депозита;
  2. Позиции Long&Short оставьте, ведь наш советник открывает ордера, как в buy, так и в sell;
  3. Ниже, в «Оптимизация» выберите, какой именно параметр будете оптимизировать. Обычно в советнике оптимизируется Profit Factor, то есть количество убыточных сделок по отношению к прибыльным;
  4. Поставьте галочку (если не стоит), в поле «Генетический алгоритм», это также сбережет вам время на оптимизацию.

Здесь всё расписывать смысла нет, так как настройки Romum описаны в статье о нём, а какие параметры советника оптимизировать в первую очередь можете прочитать в

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

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

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

Всё, жмём на кнопку «Старт» и тестер начнет оптимизацию советника.

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

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

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

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

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

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

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

И еще, несмотря на все меры, важно понимать — оптимизация советников в МТ4 не является той самой панацеей , которая спасёт вас от слива, на все 100 процентов.

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

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

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

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

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

В поле окна "Тестер - Советники" следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /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 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.

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

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

Оптимизация позволяет методом подбора выявить, какие значения того или иного параметра показывают наилучшие результаты на определенном историческом отрезке. С первого взгляда кажется, что, подобрав необходимые параметры на истории, вы получите , который поможет вам зарабатывать миллионы. Однако это не совсем так, рынок Форекс постоянно меняется, и очень часто на истории превращается в убыточный советник на реальном счете. Чтобы этого не произошло, необходимо изменять только те параметры, которые не идут вразрез с правилами торговой стратегии, заложенной в основу советника. Например, если размер тейк-профита, предлагаемый разработчиками торгового эксперта, равен 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 пунктов. Следует отметить, что чем меньше шаг и больше выбранных параметров, тем дольше будет производиться оптимизация советника.

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

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

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