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

Рейтинг лучших брокеров для торговли акциями за 2023 год:
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

В этой статье раскрыты следующие темы:

Форекс Статьи

Как правильно оптимизировать советники. Полный курс

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

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

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

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

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

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

Оптимизация советника. Подготовка.

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

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

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

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

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

Как научить советник прибыльно торговать на рынке Форекс?

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

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

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

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

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

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

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

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

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

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

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

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

Идем дальше. Прописываем значение всем параметрам советника для прогонов (нагляднее на рисунке ниже):

  • Параметр TakeProfit у нас будет прогонятся по порядку от значения 50 пунктов до 200 с шагом 1.
  • Lots не оптимизируем, соответственно для колонок шаг и стоп оставляем 0.
  • Трейлинг стоп от 10 до 100 пипсов.
  • Для параметров MACDOpenLevel выставляем количество свечей от 3 до 30 с шагом 1. MACDCloseLevel от 2 до 30.
  • И периоды для скользящей средней МАTrendPeriod от 20 до 100.

Есть! Установили :-). Теперь на вкладке « Тестирование » выбираем депозит (в нашем случае, 1000$) для которого будет проводится оптимизация советника, после чего нажимаем на кнопку « ОК ».

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

Оптимизация советника займет несколько минут в зависимости какой мощности у Вас компьютер. Соответственно после завершения оптимизации, в окне тестера стратегий появляются дополнительные вкладки « Результаты оптимизации » и « График оптимизации ».

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

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

Как показано на рисунках выше, я отсортировал колонку с наибольшей прибылью (она составила – 1586$) и установил эти параметры для эксперта. Теперь нужно заново протестировать советник, чтобы получить реальный график и отчет эффективности его торговли за указанный период. Для этого снимаем галочку « Оптимизация » и нажимаем на кнопку « Старт ».

Как видно на рисунке выше, из вкладки « График », оптимизация советника и его повторный тест показал значительно лучший результат (прибыль за указанный период (год) составила – 1586 дол.) по сравнению с предыдущим тестированием со стандартными параметрами (прибыль – 452$).

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

После стандартного теста можно провести так называемый «форвард тест», т.е. тестирование за период с неизвестными для советника котировками. Для примера, так как мы проводили тестирование за период и котировками за 2011 год, то для форвард теста возьмем весь доступный период 2012 года (котировки для робота, в этом случае, будут неизвестны). Результаты, я уверен, будут отличаться существенно, и они будут более достоверны для анализа работоспособности советника на реальном счете.

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

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

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

Оптимизация советника в Metatrader 4

Практическое занятие № 1 по формированию портфеля стратегий.

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

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

В предыдущих версиях советника до версии 2014.1, что бы исключить подогнанные под новости параметры мы каждый результат проверяли вручную – тестировали, открывали каждый график со сделками и выявляли подогнанные результаты оптимизации. Процесс достаточно трудоемкий, учитывая, что портфель нам нужен из нескольких десятков стратегий. Можно, конечно, оптимизировать советник за длительный период времени, например, за 10 лет для таймфрейма M15, тогда вероятность подгонки под новости значительно снизится и количество прибыльных и убыточных сделок на новостях будет примерно 50% на 50%, а перевес в сторону прибыльных сделок будет за счет технической зависимости поведения цены. Но на это потребуется недопустимо большое количество времени, что оптимизацию делает бессмысленной, так как за это время рынок изменится.

Так же отрицательным моментом оптимизации советника на длительном периоде является то что-то оптимизатор Metatrader 4 не показывает распределение прибыли по всему участку оптимизации. Например, прибыль может быть получена только за 2008 год, а все остальное время стратегия несет убытки. Что бы такого не было, опять-таки нужно каждый результат тестировать и проверять визуально.

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

Как правильно оптимизировать советник?

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

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

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

Оптимизация советника по этой методике автоматически позволяет решить несколько проблем:

  1. Исключение подгонки,
  2. Равномерность распределения прибыли на всем участке оптимизации,
  3. Сокращение времени оптимизации.

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

Шаг первый оптимизация параметров на коротком участке рынка.

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

Перейдите в тестер стратегий MT4, он же оптимизатор:

В раскрывающихся списках выберите:

  • Советник: SICURO-EXPERT;
  • Символ: EURUSD;
  • Модель: Контрольные точки. Можно и все тики, но процесс будет очень долгим. Качество котировок на SICURO-EXPERT влияет не существенно, поэтому оптимизацию достаточно проводить на контрольных точках.
  • Период: На ваше усмотрение. Формировать портфель можно для любого периода.
  • Спред: Задавайте с запасом, например, если реальный спред 10 п., то устанавливайте 20. Оптимизатор не учитывает такие показатели как проскальзывания цены и время исполнения ордеров. Завышением спреда мы учтем эти потери.

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

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

Перейдите в свойства эксперта. Выберите вкладку «Тестирование».

Задайте депозит. Это не депозит, который вы будете использовать в торговле, он должен быть достаточным что бы не происходило полного слива средств при оптимизации. При минимальном лоте 0,01 и размере контракта 100 000, параметр депозит можно указать $10 000.

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

Нажмите кнопку «OK» и перейдите во вкладку «Входные параметры»:

Переключите советник в режим оптимизации.

В раскрывающемся списке параметра «Task» выберите пункт «Optimization_of_parametrs».

Задайте следующий параметр «maxDrawdown», ускоряющий оптимизацию. Глубина максимальной просадки зависит от различных параметров стратегии и индивидуальная для каждого пользователя. Точно вы сможете определить этот параметр, когда у вас будут результаты оптимизации. При первом формировании портфеля «с нуля» при «RiskPerTrade=1» параметр «maxDrawdown» при оптимизации на участке от года и более можете установить 30, при оптимизации на участке 2-3 месяца равным 10-15. В дальнейшем, когда у вас будут собственные результаты оптимизации, вы сможете уточнить этот параметр для повторных оптимизаций.

В параметре «Save_result_optimization» пропишите название файла с расширением «.csv» в который будут записываться результаты оптимизации.

Параметр «RiskPerTrade» можно установить равным 1, при заданных ранее «maxDrawdown=30», и депозите 10000. Если «RiskPerTrade» уменьшите до 0,1, как в видео, то и «maxDrawdown» уменьшайте до 3-х.

Параметр «Deposit» установите такой же, как и во вкладке Тестирование $1000;

Установите TimeFrame такой же, как и в настройках тестера.

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

Далее переходим непосредственно к подбору параметров.

На против параметров, которые будем подбирать необходимо поставить галочку, задать стартовое значение, шаг и конечное значение (стоп). Подробное описание параметров смотрите в видео.

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

Описание стратегий на пересечении линий индикатора Sicuro-Index в видео по оптимизации советника.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизация робота самостоятельно

Как оптимизировать Форекс советника самостоятельно для разных временных интервалов или других инструментов

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

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

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

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

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

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

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

Скачать его можно с сайта вашего брокера, список брокеров представлен здесь…

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

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

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

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

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

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

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

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

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

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

Нажмите ОК.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можно сохранить все настройки для тестера на будущее в файл, нажав кнопку Сохранить и придумав новое имя файла.

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

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

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

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

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

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

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

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

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

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

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

Если результаты устраивают, то их можно сохранить в SET-файл для дальнейшего использования торговым роботом: Во вкладке Настройки нажать на кнопку Свойства эксперта

и далее нажать Сохранить.

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

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

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

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

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

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

  • Amarkets.org — выгодные условия торговли на Форекс (подробнее об условиях), реальный доступ к рынку
  • Alpari.ru — только для опытных инвесторов и агрессивных инвестиций
  • Roboforex.com — здесь открыл свой счет для копирования торговых сигналов
  • 5 видеокурсов в одном — по инвестированию в интернет — «Пентаграмма прибыли»

Это были общие настройки тестера стратегий.
А ниже показано окно настроек советника Свойства эксперта.

Соответственно на вкладке тестирование вы указываете предполагаемый объем депозита, направление тестирования (покупка, продажа, покупка-продажа) и оптимизируемый параметр — обычно это доход.
На вкладке входные параметры вы указываете «Значение» если производите тестирование настроек + визуализацию тестирования. И «Старт», «Шаг», «Стоп» если производите оптимизацию советника. Причем если напротив названия параметра стоит галочка — он будет учитываться при оптимизации. Если нет — не будет.

Стратегия оптимизации советника Forex

1 — Устанавливаем советник
2 — Включаем тестер стратегий и выбираем советник в поле «Советник»
3 — Выбираем пару на котировках которой будем тестировать
4 — Открываем «Свойства эксперта»
4.1. — На вкладке «Тестирование» указываем оптимизируемый параметр — доход/объем депозита и указываем приблизительный стартовый объем депозита
4.2. — На вкладке «Входные» параметры сначала выделяем галочкой все пункты настройки. Ставим минимальное значение, шаг и максимальное значение.
4.3. — На вкладке «Оптимизация» в ходе самостоятельного изучения пробуем менять параметры
5 — После изменения свойств эксперта ставим галочку «Оптимизация»
6 — Выбираем промежуток дат, на которых будет происходить оптимизация
7 — Нажимаем кнопку Старт, ждем пока произойдет оптимизация, получаем результат в виде таблицы. В таблице в порядке убывания будут указаны строки с максимальным доходом слева и соответствующими параметрами советника справа.
8 — Вам остается лишь скопировать параметры советника из правой части таблицы и вставить их в «Свойства эксперта», вкладку «Входные параметры», столбец — «Значение». И снять все галочки со всех параметров во вкладке «Входные параметры»
9 — После изменения значений в свойствах, снимаете галочку с «Оптимизации», ставим галочку «Визуализация» и наслаждаемся тем, что видим как и где советник делает ставки и соответственно зарабатывает вам деньги.

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

Андрей Малахов,
профессиональный инвестор, финансовый консультант

Понравилась статья? Поделитесь с друзьями в социальных сетях!

Оптимизация торгового советника в MetaTrader 4

Что такое оптимизация торгового советника в MetaTrader 4: зачем нужна оптимизация форекс экспертов, как оптимизировать торгового робота в МТ4.

Что такое такое оптимизация торгового советника в МТ4?

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

Зачем нужна оптимизация торгового эксперта?

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

Как оптимизировать советник форекс в MetaTrader 4?

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

Оптимизация эксперта проводится автоматически на исторических котировках, которые предоставляет брокер или ДЦ. Это позволяет значительно сократить временные затраты трейдеров-программистов по модифицированию MQL-роботов при изменении характера рынка.

Оптимизация торгового советника в MetaTrader 4

Полезные статьи по теме

Эксперты журнала FORTRADER

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

Как правильно оптимизировать торговый советник для терминала MT4 или 5?

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

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

Как правильно оптимизировать торговый советник? Подготовительный процесс

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

РЕКОМЕНДУЕМ: ТОП 2 ЛУЧШИХ БРОКЕРА НА 2020 ГОД

Не требуется верификация! Фиксированные выплаты! обзор/отзывы | НАЧАТЬ С 10$ 2014 год. Дарит безрисковую сделку. обзор/отзывы | ИНВЕСТИРОВАТЬ С 5$

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

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

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

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

С чего начать оптимизацию торгового советника Форекс в MT4 или 5?

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

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

Далее авторизуйтесь и не забудьте выбрать правильный брокерский сервер.

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

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

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

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

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

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

ЛУЧШИЕ ФОРЕКС БРОКЕРЫ, ПО ДАННЫМ РОССИЙСКОГО РЕЙТИНГА НА 2020 ГОД:

ТОП 2 ЛУЧШИХ БРОКЕРА БИНАРНЫХ ОПЦИОНОВ 2020 года:

Настройки параметров при оптимизации торгового советника в терминале MT4 и 5

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

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

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

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

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

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

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

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

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

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

Учимся правильной оптимизации советника на примере робота — «Золотой жук»

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

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

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

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

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

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

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

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

РЕКОМЕНДУЕМ ПРОВЕРЕННЫХ ФОРЕКС БРОКЕРОВ, РАБОТАЮЩИХ ПОРЯДКА 20 ЛЕТ!

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

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

Читать The X: Тестирование и Оптимизация

Описание

Мы уже писали о том, что The X — это проект, который стал очень популярным за 5 лет.

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

Функциональные особенности эксперта и описание настроек мы уже писали в нашей статье The X — Универсальный советник для форекс MT4 MT5 Полная инструкция

Недавно мы опубликовали статью для тех, кто хотел создать свои сигналы с нашим роботом: Программирование стратегий в открытом коде!

В этой статье мы расскажем о том, как оптимизировать параметры советника и получить желаемый результат.

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

Введение

Мы не будем рассказывать о том, как тестировать или оптимизировать советники в терминале мт4 и мт5! Мы уже говорили об этом в нашей статье: Тестирование и оптимизация советников

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

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

Начиная с версии 18.008 мы привели названия всех переменных к одинаковому имени в версии для мт4 и мт5. Это сделано для того, чтобы Вы могли переносить файлы настроек с одного терминала на другой!

Мы покажем примеры торговых стратегий на основе THE X.

Помните: The X это конструктор торговых стратегий. Группируя и применяя разные сочетания функций, Вы можете получить абсолютно разные результаты.

Вы должны понимать, что чудес не бывает. И наш советник лишь инструмент для торговли на форекс. Форекс — Это 100 % риск!

Набор настроек зависит от Вашего депозита и лимита просадки. Валютной пары и спецификации контракта. Долгосрочная торговля или пипсовка!

Здесь и далее я буду использовать такие значения:

0-10-100 = означает, что параметры для оптимизации такие:

  1. Старт значения оптимизации = 0
  2. Шаг оптимизации параметра = 10
  3. Стоп значение параметра при оптимизации = 100

Все параметры, которые измеряются в пунктах (Стоплосс, тейкпрофит, дистанция . ) Я использовал из 4-х значной котировки.

  1. Например EURUSD = 1.2001 означает, что у брокера 4-х значные котировки. и 1 = 1 пункт!
  2. Если я написал 10, это означает , что я имею ввиду 10 пунктов.
  3. Если у Вашего брокера 5-значные котировки, тогда Вам необходимо умножать мои рекомендации на 10!
  4. Например EURUSD = 1.20015 означает, что у брокера 5-х значные котировки. и 1 = 1 пункт!
  5. Если я написал 10, это означает , что я имею ввиду 10 пунктов. Но Вы должны устанавливать значения 100

Помните ответ на вопрос!

В чем указываются значения в параметрах в пунктах или пипсах?

В пунктах! понятие Пункт взято из значения переменной Point()

  • Если у Вас 5\3 значный брокер, тогда 1 пункт = 0.00001\0.001
  • Если у Вас 4\2 значный брокер, тогда 1 пункт = 0.0001\0.01

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

Наши советники имеют одинаковый алгоритм сигналов и функций.

Но ввиду отличий терминалов MT5 и МТ4 могут быть погрешности в исполнении.

Тестер стратегий в терминале MT5, на текущий момент, самый технологичный и точный.

Самой важной особенностью терминала MetaTrader 5 и Strategy Tester является возможность тестировать на реальных тиках. Спред и стоп уровни в MetaTrader 5 плавающие. Это означает то, что тестирование в тестере стратегий MT5 максимально приближено к условиям реальной торговли.

Мы не будем останавливаться на тестировании и оптимизации в терминале MetaTrader 4! Вы уже знаете как в нем тестировать. А процесс оптимизации похож на процесс мт5 (Настройки и запуск)

Но главной особенностью тестера стратегий от МТ5 — это конечно же возможность оптимизировать в облаке MQL5 Cloud Network

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

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

Помните: Каждая валютная пара и брокер имеют свои условия торговли (Спред, своп, комиссия, способ расчета, исполнение, тип счета), поэтому результаты оптимизации могут отличаться!

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

Настройка тестера стратегий:

  1. Выберите советника из списка.
  2. Установите ту валютную пару, для которой будете проводить тест.
  3. ТФ лучше выбрать М1. (TimeFrame будет задавать советник из своих настроек)
  4. Дата оптимизации — можете выбрать текущий год! Помните! Результаты в прошлом, не могут гарантировать прибыль в будущем! Оптимизация каждые пол года — самый практичный диапазон!
  5. Forward можно установить на 1 месяц. Но мы советуем получать чистые результаты. А потом уже проводить Forward Test
  6. Депозит (Deposit) лучше установить тот, с которого вы начнете свою торговлю. Не нужно устанавливать слишком маленький баланс. А также слишком большой!
  7. Кредитное плечо выставляйте то, на котором будете торговать.
  8. Оптимизация Slow Complete algorithm
  9. и обязательно! Every tick, based on real ticks!

Включение возможности оптимизации в облаке

Я настоятельно рекомендую включать ОБЛАКО ОПТИМИЗАЦИИ!

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

MetaTrader 5: Настройка оптимизации и сохранение SET файла

Вы можете скачать наши Файла для оптимизации для The X

Для оптимизации эксперта Вам необходимо открыть Оптимизатор MT5:

Выбираем режим Complete Optimization (Новая версия терминала MetaTrader 5)

После этого мы должны настроить наш Strategy Tester для оптимизации:

  1. Выбираем эксперта для оптимизации.
  2. Выбираем торговый символ (валютную пару) На которой мы хотим получить результаты.
  3. Таймфрейм (В нашем эксперте есть возможность оптимизировать ТФ каждого индикатора, поэтому этот пункт можно пропустить)
  4. Период оптимизации (Можно оптимизировать на протяжении последнего года, нет смысла оптимизировать на протяжении 10 лет!)
  5. Обязательно выбираем модель Every Tick based on real ticks!
  6. Выбираем тип оптимизации = Полный перебор параметров (Slow complete optimization)
  7. Переводим в настройки входных параметров Inputs.

Загружаем наш файл для оптимизации или настраиваем параметры на свое усмотрение!

Клик правой кнопкой мыши — Загрузить (Load)

Выбираем путь , куда Вы сохранили наши файлы и выбираете файл с количеством знаков в цене у Вашего брокера (4-значный или 5-значный брокер)

Настраиваем оптимизированные параметры:

После загрузки Вы увидите Наши варианты оптимизации

  1. Установите или снимите галочки на тех параметрах, которые Вы хотите оптимизировать. ( По умолчанию я настроил файл так, чтобы Вы могли оптимизировать по всем важным параметрам )
  2. Старт (Start) — Начальное значение параметра для оптимизации.
  3. Шаг (Step) — Шаг изменения параметра при каждом прогоне оптимизатора.
  4. Стоп (Stop) — Конечное значение параметра для оптимизации.
  5. Нажмите Start для начала оптимизации! Это может занять от 1 часа до 1 недели! Вы также можете использовать облачных клиентов для оптимизации!
  1. Помните! Чем больше параметров и шагов для оптимизации, тем больше времени необходимо для завершения тестирования и оптимизации!
  2. Значение (Value) — Это зафиксированное значение параметра. Советник будет брать это значение, если этот параметр не оптимизируется. Или при тестировании!

Выбор результата и сохранение Set файла

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

  1. Перейдите в вкладку результаты оптимизации (Optimization results)
  2. Выберите понравившейся результат
  3. Запустите одиночное тестирование
  4. Посмотрите на результат:

После этого перейдите в Вкладку Настройки 1 (Inputs) и сохраните SET FILE 2 (Клик правой кнопкой мышки)

Сохраняйте Файл Настроек там, где Вы будете хранить все важные файлы!

Загрузка файла настроек (Set File) в нашего эксперта на реальном графике:

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

Помните! Оптимизация это грубый метод поиска настроек и результаты оптимизации не могут дать гарантию прибыли в будущем в реальном времени!

Я рекомендую проверять систему сначала на демо счете Вашего брокера с этими настройками.

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

И только после продолжительных тестирований Вы можете торговать на больших депозитах!

  1. Загрузите нашего эксперта на график.
  2. Перейдите в Вкладку Параметры (Inputs).
  3. Нажмите Загрузить (Load).
  4. Откройте папку, где хранятся ваши файлы настроек.
  5. Выберите нужный файл и нажмите Открыть.

Если Вы все сделали правильно, то на графике появится наша панель EAPADPRO с зеленым смайлом!

Если Вы что-то не так установили или установили неправильно, Вы можете прочитать варианты отказа советника торговать: EAPADPRO работает ли советник?

MetaTrader 4: Настройка оптимизации и сохранение SET файла

Вы можете скачать наши Файла для оптимизации для The X

Внимание: Тестер стратегий терминала MetaTrader 4 является неточным и не учитывает плавающий спред и задержки исполнения, поэтому его результаты являются только примерными!

Для оптимизации эксперта Вам необходимо открыть Оптимизатор MT4

После этого мы должны настроить наш Strategy Tester для оптимизации:

  1. Выбираем эксперта для оптимизации.
  2. Выбираем торговый символ (валютную пару) На которой мы хотим получить результаты.
  3. Обязательно выбираем модель Every Tick !
  4. Период оптимизации (Можно оптимизировать на протяжении последнего года, нет смысла оптимизировать на протяжении 10 лет!)
  5. Таймфрейм (В нашем эксперте есть возможность оптимизировать ТФ каждого индикатора, поэтому этот пункт можно пропустить)
  6. Устанавливаем галочку на Оптимизация (Optimization)
  7. Переводим в настройки входных параметров Inputs.

Загружаем наш файл для оптимизации или настраиваем параметры на свое усмотрение!

Клик правой кнопкой мыши — Загрузить (Load)

Выбираем путь , куда Вы сохранили наши файлы и выбираете файл с количеством знаков в цене у Вашего брокера (4-значный или 5-значный брокер)

Настраиваем оптимизированные параметры:

После загрузки Вы увидите Наши варианты оптимизации

  1. Установите или снимите галочки на тех параметрах, которые Вы хотите оптимизировать. ( По умолчанию я настроил файл так, чтобы Вы могли оптимизировать по всем важным параметрам )
  2. Старт (Start) — Начальное значение параметра для оптимизации.
  3. Шаг (Step) — Шаг изменения параметра при каждом прогоне оптимизатора.
  4. Стоп (Stop) — Конечное значение параметра для оптимизации.
  5. Нажмите Start для начала оптимизации! Это может занять от 1 часа до 1 недели! Вы также можете использовать облачных клиентов для оптимизации!
  1. Помните! Чем больше параметров и шагов для оптимизации, тем больше времени необходимо для завершения тестирования и оптимизации!
  2. Значение (Value) — Это зафиксированное значение параметра. Советник будет брать это значение, если этот параметр не оптимизируется. Или при тестировании!

Выбор результата и сохранение Set файла

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

  1. Перейдите в вкладку результаты оптимизации (Optimization results)
  2. Выберите понравившейся результат
  3. Примените настройки для тестирования.

Запустите одиночное тестирование:

После этого перейдите в Вкладку Настройки (Inputs) и сохраните SET FILE

Сохраняйте Файл Настроек там, где Вы будете хранить все важные файлы!

Загрузка файла настроек (Set File) в нашего эксперта на реальном графике:

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

Помните! Оптимизация это грубый метод поиска настроек и результаты оптимизации не могут дать гарантию прибыли в будущем в реальном времени!

Я рекомендую проверять систему сначала на демо счете Вашего брокера с этими настройками.

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

И только после продолжительных тестирований Вы можете торговать на больших депозитах!

  1. Загрузите нашего эксперта на график.
  2. Перейдите в Вкладку Параметры (Inputs).
  3. Нажмите Загрузить (Load).
  4. Откройте папку, где хранятся ваши файлы настроек.
  5. Выберите нужный файл и нажмите Открыть.

Если Вы все сделали правильно, то на графике появится наша панель EAPADPRO с зеленым смайлом!

Если Вы что-то не так установили или установили неправильно, Вы можете прочитать варианты отказа советника торговать: EAPADPRO работает ли советник?

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

Оптимизация по всем параметрам можно провести за 2-3 дня.

Это достаточно долго, Но Вы получите результаты всех проходов.

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

При написании статьи мы будем руководствоваться примерами.

Допустим мы получили результаты по нашей оптимизации.

Выбираем столбец Profit и сортируем результаты по самому большой прибыли.

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

После завершения тестирования мы получим результаты, с которыми можем согласится.

И если они нам подходят, тогда Мы можем сохранить набор настроек!

Помните: Результаты тестирования только на 99% правдивы. На реальных счетах у Вас могут быть задержки исполнения приказов, Проскальзывания, Отключения электричества и другие факторы.

Мультивалютное тестирование и оптимизация в терминале MetaTrader 5

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

Настраиваем оптимизацию по символам:

Запускаем оптимизацию и получаем результаты:

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

Как Вы видите по результатам оптимизации по валютным парам. Этот набор настроек дает хороший результат только на 4 валютах из 11!

В нашем советнике для MT5 есть возможность работы одновременно с 10 и более валютными парами и одинаковыми настройками.

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

+ Вы можете узнать результат работы советника, который одновременно торгует на 10 валютных парах.

Для этого воспользуйтесь параметрами:

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

Если тестирование не начинается и ВЫ получаете ошибку:

Значит Вы указали неправильное название валютной пары!

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

Функциональные блоки нашего эксперта

Блок 1: Торговые сигналы и фильтры

В нашем советнике более 20 торговых стратегий, основанных на стандартных индикаторах терминала MetaTrader.

Почему Мы используем стандартные индикаторы?

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

Изменяя параметры внутри кода, Вы получаете пользовательский индикатор. По логике — пользовательский индикатор на 90 % состоит из стандартных индикаторов!

Мы написали более 5 000 советников по пользовательским индикаторам и можем с уверенностью сказать: не имеет смысла.

Работа на стандартных индикаторах прогнозируемая и в 90% случаев более прибыльная.

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

Индикаторы и сигналы это главное, с чего надо начать нашу оптимизацию и тестирование!

На момент написания этой статьи у нас 20 сигналов:

  1. NoSignal=0,//No Signal
  2. Ma=1,//Moving Average
  3. MACD=2, //Moving Average Convergence/Divergence (MACD)
  4. STOCH=3,//Stochastic Oscillator
  5. RSI=4,//RSI
  6. CCI=5,//Commodity Channel Index (CCI)
  7. WPR=6,//Williams Percent Range (WPR)
  8. BB=7,//Bollinger Bands
  9. Envelopes=8,//Envelopes
  10. Alligator=9,//Alligator
  11. OsMA=10,//Moving Average of Oscillator (OsMA)
  12. AO=11,//Awesome Oscillator (AO)
  13. ISH=12,//Ichimoku
  14. AC=13,//AC
  15. BAR=14,//BAR BEAR\BULL
  16. ADX=15,//ADX
  17. ADXWilder=19,//ADX Wilder
  18. ZigZag=17,//ZigZag
  19. MFI=20,//Money Flow Index
  20. Fractals=21,//Fractals

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

Это стандартные торговые стратегии!

У Вас появятся 100 000 000 вариантов использования стандартного индикатора, но вы же понимаете, что мы не можем добавить их в советник!

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

В нашем советнике можно комбинировать 1 сигнал и до 5 фильтров.

Отличие сигнала и фильтра:

  1. Сигнал — происходит тогда, когда есть все условия для сигнала, например факт пересечения линий МА. Или появление новой точки ZigZag .
  2. Например : Пересечение уровня 70 для индикатора RSI это сигнал. А если RSI выше уровня 70, то это уже фильтр.
  3. Сигнал — это то, что появляется в момент поступления котировок, фиксируется на баре. Советник принимает факт совершения сигнала.
  4. Например: Включился свет. Это сигнал потому, что свет только что включился. При включении света , человек проснулся. Это сигнал.
  5. Открытие позиций происходит по факту совершения сигнала, линии пересеклись , тогда открывается позиция. Если линии были пересечены ранее, то это не сигнал. Сигнал уже прошел.
  1. Фильтр — Это текущее положение индикатора, например текущее положение линий МА относительно друг друга. Или текущая последняя вершина ZIGZAG
  2. Фильтр — это то, что на данный момент показывает индикатор. Это не факт совершения сигнала. Это текущее положение индикатора.
  3. Например: Свет горел. Это фильтр потому, что свет уже был включен и он уже горит. При включенном свете человек уже не спит. Это фильтр.
  4. Фильтрация сигналов происходит по текущему значению индикатору. Если Быстрая МА выше медленной МА, то это фильтр на то, что должны открываться только BUY.

Советы по оптимизации параметров сигналов:

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

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

На этапе программирования и создания советника, наши первые пользователи составляли для нас «хотелки» и пожелания. Мы выполнили просьбы и сделали 5 фильтров.

Варианты оптимизации блока сигналов

Параметр IndSigToTrade — можно оптимизировать от и до! всего будет 20 переборов этого параметра. Это не так уж и много, Но Вы можете выбрать лучший результат по той или иной стратегии.

Оптимизация значений: 1 — 20 или Moving Average — Fractals

Параметр TF_IndSigToTrade1 — также можно оптимизировать от и до. Но мы советуем ставить TimeFrame , на которых вы обычно торгуете.

  1. Помните: Чем выше TimeFrame , тем меньше сигналов будут появляться. Чем выше TimeFrame , тем долгосрочнее будут стратегии.

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

Не имеет смысла оптимизировать.

  1. Но включать этот параметр я рекомендую только на долгосрочной торговле и использовании больших стоплоссов и тейкпрофитов.
  2. При использовании безубытка и трейлингстопа и получении убытка в пределах спреда, Вам не удастся торговать прибыльнее при включении этого параметра!
  3. Например: Если Ваша стратегия включает StopLoss = 2000 пунктов и TakeProfit = 500 пунктов , и получении 100 убытков и 1 прибыли.
  4. При перевороте стратегии вы получите 100 выигрышей и 1 убыток.
  5. Но это все относительно. Каждую теорию нужно тестировать! Чудес не бывает!

Параметр ClosePositionifChangeOWNSignal — позволяет закрывать открытые позиции при изменении главного сигнала.

Не имеет смысла оптимизировать.

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

Параметр OWNSIGNAL_shift — это очень важный параметр! Он регулирует получение сигнала с закрытого или текущего бара.

Не имеет смысла оптимизировать.

  1. Я рекомендую оставить его по умолчанию.
  2. 1 — получение сигналов с уже закрытого и полностью сформировавшегося бара.
  3. 0 — Получение сигнала с текущего бара, который только формируется.
  4. Подробная статья о том, как использовать SHIFT сигнала.

Параметры Filter N optionsимеют такие же логические объяснения, как и сигналы. Поэтому мы не будем их повторять, но скажем следующее:

  1. Вы можете использовать фильтры других индикаторов, отличаемых от сигналов!
  2. Вы можете использовать тот же индикатор, что и в сигнале, но устанавливать TimeFrame выше, чем TimeFrame сигнала. Например TF сигнала = M15, а TF фильтра = H1
  3. Фильтр снижает количество сигналов и открытых позиций!
  4. Один фильтр может не работать с другим сигналом. Все зависит от настроенных стратегий. Некоторые фильтры и сигналы могут конфликтовать друг с другом.
  5. Например: Mooving Average показывает сигнал на BUY , а Фильтр по RSI показывает в этом момент только SELL. Такие конфликты встречались!
  6. Если у Вас не открывается позиция с применением фильтра, отключите фильтр и исследуйте этот вопрос. Возможно 2 индикатора конфликтуют!

Блок 2: Signal options

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

Эти параметры являются вспомогательными и я не рекомендую их оптимизировать!

Параметр Show_alert_without_opening_positions — позволяет отключать реальное открытие позиций. Вместо этого советник выводит информацию на экране при поступлении сигнала.

Не имеет смысла оптимизировать.

  1. Советник не открывает позицию.
  2. Выводится информация о сигнале с рассчитанными параметрами
  3. Вы можете разрешить или запретить открытие позиций по этому сигналу

Параметр OpenBarControlOnly используется только для модели тестирования в виде Open Prices Only.

Не имеет смысла оптимизировать.

  1. Позволяет включать работу советника по открытым барам на реальном графике!
  2. При включении этого параметра, весь алгоритма советника исполняется только при открытии нового бара 1 раз.
  3. Результаты при включении этого параметры похожи на результаты тестирования в режиме Open Prices Only

Параметр ControlNewBarforSIGNAL — Параметр , который включает обработку сигнала только 1 раз на новом баре.

Не имеет смысла оптимизировать.

  1. Позволяет существенно снизить нагрузку на компьютер при оптимизации советника.
  2. Увеличивает скорость тестирования в тестере стратегий.
  3. Используется только при параметр SHIFT > 0

Параметр ReverseSignal — переворачивает общий сигнал к открытию позиций.

Оптимизация значений: True — False

  1. В отличие от Signal_Reverse позволяет перевернуть общий сигнал к открытию, включая сигналы и фильтры

Блок 3: Opening Filter options

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

Параметр TypeTradeBUYSELL — включает возможность торговать только в одном направлении.

Не имеет смысла оптимизировать.

  1. Полезен тогда, когда Вы управляете советником вручную, например при анализе новостей.
  2. Или когда пользуетесь дополнительными средствами для определения сигналов. Например линиями тренда.
  3. Включать эту функцию я рекомендую только тогда, когда Вы уверены в том, что тренд имеет направление!

Параметр MinuteToOpenNextPosition — запрет на открытие дополнительной позиции по сигналу.

Не имеет смысла оптимизировать.

  1. позволяет тонко управлять настройками торговли по сигналам, когда трейдер уверен в силе сигнала.
  2. Используется вместе с опциями ONlyOnePosbySignal=false
  3. Ограничивает открытие позиций по одному и тому же сигналу

Параметр OpenOppositePositionAfterStoploss — открывает противоположную позицию, если предыдущая позиция была закрыта по стоплоссу (в убытке).

Не имеет смысла оптимизировать.

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

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

Можно оптимизировать этот параметр True False при использовании OnePosPerDirection =true

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

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

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false
  2. Я не рекомендую менять этот параметр.

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

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false
  2. Я не рекомендую менять этот параметр.

Параметр OnlyAlternateSignals — позволяет открывать позиции только в противоположном направлении от последней закрытой позиции..

Не имеет смысла оптимизировать.

  1. Очень сильно снижает количество сигналов.
  2. Я не рекомендую менять этот параметр.

Параметр MAX_BUY_POSITION MAX_SELL_POSITION — позволяет ограничивать количество одновременно открытых позиций..

Не имеет смысла оптимизировать.

  1. Работает только при ONlyOnePosbySignal=false.
  2. Я не рекомендую менять этот параметр.
  3. Этот параметр создан для торговли в разных направлениях без ограничения на количество сигналов.
  4. Позволяет ограничивать одновременное открытие позиций по одному сигналу или нахождение открытых позиций в рынке.

Параметр MaxSpreadToNotTrade MinSpreadToNotTrade — позволяет ограничить открытие позиций по сигналом при частом изменении спреда брокером.

Не имеет смысла оптимизировать.

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

Блок 4: Close options

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

Параметр ClosePosifChange — закрытие противоположной позиции при смене сигнала на открытие.

Оптимизация значений: True — False

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

Параметр CloseChangeOnlyInProfit — позволяет закрывать только прибыльные позиции.

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

Оптимизация значений: True — False

  1. Позволяет зафиксировать прибыль при смене сигнала от индикатора.
  2. Работает только при ClosePosifChange=true

Параметр ClosePosition_After_X_Minutes — закрытие позиции через определенное время.

Оптимизация значений: Рекомендую устанавливать числа, кратные вашему ТФ.

Например: при использовании советника на TimeFrame M15 установите значения : старт 0, шаг 15, стоп 75.

  1. Для четких фиксация времени торговли.
  2. Позволяет закрывать позиции, которые были открыты по сигналу. Например через 15 минут после открытия
  3. Зависит и работает от параметра CloseChangeOnlyInProfit :
  4. Если CloseChangeOnlyInProfit = true , тогда позиции закрываются только если они имеют прибыль.

Блок 5: Pending orders options

В этом блоке собраны параметры работы с отложенными ордерами.

Параметр StopOrderUSE — позволяет открывать отложенные или лимитные ордера вместо позиций.

Оптимизация значений: False — Use Stop Orders

  1. Позволяет дополнительно фильтровать сигналы по дистанции срабатывания!
  2. Use Stop Orders: Если советник получил сигнал и мы открыли отложенный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в нашем направлении и зацепила отложенный ордер, тогда сигнал считается подтвержденным.
  3. Use Limit Orders: Если советник получил сигнал и мы открыли лимитный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в противоположном направлении и зацепила лимитный ордер, тогда сигнал считается отскоком. Вы должны быть уверенным, что будет отскок.
  4. Я не рекомендую оптимизировать по Use Limit Orders
  5. Значение Use Stop Orders имеет смысл использовать только для долгосрочной торговли.

Параметр StopOrderDeltaifUSE — дистанция установки отложенного или лимитного ордера.

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

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 100, стоп 1000.
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 10, стоп 100.
  3. Например: Вам необходимо подтверждение сигнала открытия, и среднее движение цены в период, например 100 баров = 1000 пунктов, тогда старт 0, шаг 50, стоп 500.
  4. Позволяет дополнительно фильтровать сигналы по дистанции срабатывания!
  5. Use Stop Orders: Если советник получил сигнал и мы открыли отложенный ордер на дистанции 100 пунктов. Если цена прошла 100 пунктов в нашем направлении и зацепила отложенный ордер, тогда сигнал считается подтвержденным.

Параметр StopOrderDayToExpiration — удаляет отложенный ордер, если он не сработал установленное количество дней.

Не имеет смысла оптимизировать.

Параметр StopOrderBarToExpiration — удаляет отложенный ордер, если он не сработал установленное количество баров (Зависит от Вашего таймфрейма!).

Варианты оптимизации: старт 0, шаг 1, стоп 10

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

Параметр ReInstallStopOrdersNewSignalAppears — Переустанавливает отложенной ордер при обновлении сигнала.

Не имеет смысла оптимизировать.

  1. Позволяет устанавливать отложенный ордер каждый раз при появлении нового сигнала.
  2. Я не рекомендую менять этот параметр

Блок 6: Trading options

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

Не имеет смысла оптимизировать.

Блок 7: Stops options

Блок работы с стоплоссом и тейкпрофитом

Параметры ForcedModifySLTP, SetMinStops, Include_Commission_Swap я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр VirtualStops — включает возможность установки виртуальных стоплоссов и тейкпрофитов. Без фактической модификации позиций (стоплосс и тейкпрофит в позиции будет = 0)

Оптимизация значений: True — False

  1. Все уровни стоплосс и тейкпрофита хранятся в глобальных переменных и на графике!
  2. Происходит виртуальное исполнение стоплосса и тейкпрофита
  3. Имеет смысл применять только тогда, когда Вам необходимо устанавливать очень маленькие (меньше минимально возможного уровня на сервере) стоп уровни.
  4. Позволяет скрыть от брокера Ваши уровни стопов, тем самым мешая понять логику вашей стратегии.

Параметр StopLoss — Стоплосс позиции.

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

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 100, стоп 1000.
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 10, стоп 100.
  3. Зависит от Ваших лимитов на каждую позицию.
  4. Чем больше стоплосс, тем длиннее время удержания позиции. И возможность надеяться на то, что цена вернется в сторону открытой позиции.
  5. Чем меньше стоплосс, тем быстрее будут закрываться ложные сигналы.
  6. Не имеет смысла использовать маленький стоплосс , которые меньше, чем дистанция усреднения Distance

Параметр TakeProfit — Тейкпрофит позиции.

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

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500.
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Можно устанавливать тейкпрофит в расчете Стоплосс/2 или Стоплосс/3.
  4. Чем больше тейкпрофит , тем длиннее время удержания позиции. Вы можете упустить прибыль позиции, если она не достигнет цели тейкпрофита.
  5. Чем меньше тейкпрофит , тем быстрее будут закрываться прибыльные сигналы.
  6. Не имеет смысла использовать маленький тейкпрофит, которые меньше, чем дистанция дополнительного открытия DistanceAdditionalOpening

Блок 8: Lots options

Блок работы с фиксированным лотом и автолотом.

Параметры MaxLot, RiskRate я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр Lots — регулирует объем позиции.

Оптимизация значений: Зависит от Вашего депозита. Например: При шаго лота в 0.01 и депозите 1000 $: старт 0.01, шаг 0.01 стоп 0.1

  1. Этот параметр лучше оптимизировать после оптимизации остальных параметров стратегии.
  2. При увеличение лота Вы увеличиваете прибыль, полученную с одной позиции.
  3. При увеличении лота, Вы можете слить депозит.
  4. Не имеет смысла оптимизировать при DynamicLot =true
  5. Рассчитывайте лот так, чтобы при открытии позиции с этим лотом, У вас было использовано только 1-2 % от баланса., Например:
  • Для открытия одной позиции лотом 0.01, Вам требуется 10 долларов свободной маржи.
  • При использовании стоплосса в 100 пунктов (где цена 1 пункта = 0.1 доллара) Вы получите убыток 10 долларов. Это 1 % от 1000 $

Параметр DynamicLot и LotBalancePercent — регулирует авто расчет лота позиции.

Оптимизация значений: DynamicLot=true и LotBalancePercent с параметрами : старт 0.1 шаг 0.1 стоп 1

  1. Этот параметр лучше оптимизировать после оптимизации остальных параметров стратегии.
  2. Позволяет увеличивать лот при получении прибыли в геометрической прогрессии.
  3. Может повлиять на итоговую прибыль.
  4. Не рекомендую использовать значения больше 1 %.

Параметр Martin — Включает Мартингейл при закрытии по стоплоссу.

Оптимизация значений: старт 0.1, шаг 0.2, стоп 2

  1. Имеет смысл использовать, только при значении StopLoss>0
  2. Если Martin меньше 1, тогда каждая следующая позиция и ее лот будет меньше, чем предыдущая.
  3. Значения меньше 1 имеет смысл использовать только тогда, когда Lots позиций больше, чем минимальный лот на сервере.
  4. Если Martin больше 1, тогда каждая следующая позиция и ее лот будет больше, чем предыдущая.
  5. Чем выше значение Martin , тем опаснее торговля советником.
  6. Мартингейл это очень простая и опасная стратегия.
  7. Рекомендую проверить и почитать о нашей стратегии торговли по мартингейлу : Two Sides

Блок 9: Averager options

Блок работы с открытием против тренда. Усреднение позиций.

Параметры OnlyModify, я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр AverageUSE — Включает функции усреднения. Только при AverageUSE=true можно оптимизировать другие параметры!

Оптимизация значений: True — FALSE

  1. Усреднение позиций может загружать Ваш депозит дополнительными позициями.
  2. Стратегия усреднения требует баланс, который больше, чем стандартный депозит (без усреднения) минимум в 3 раза.
  3. Усреднение позиций это попытка сопровождения убыточной позиции в прибыль.
  4. При использовании рекомендованного депозита, позволяет увеличить количество прибыльных сделок до 70-90%
  5. При использовании усреднения, советник будет пытаться вывести ложный сигнал в прибыль. При этом другие сигналы будут игнорироваться до тех пор, пока серия усреднения не закроется.

Параметр TakeProfitALL — Модифицирует тейкпрофит всех позиций на 1 уровень

Оптимизация значений: 10-50-1000 (старт = 10, шаг = 50, стоп = 1000)

  1. Служит дополнительной защитой позиций, Если у Вас отключили свет.
  2. Имеет смысл, если ВЫ не используете Дополнительное открытие AdditionalOpening=false

Параметр Distance — Дистанция, на которой открываются дополнительные позиции против тренда!

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

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500.
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Еще один способ оптимизации этого параметра, это использование среднего спреда по выбранной валютной паре. Этот метод используется в нашем советнике TickSniper
  4. Например: Средний спред по валютной паре = 3 пункта, тогда дистанция усреднения = 50 * 3 = 150 пунктов. При этом оптимизацию можно задавать так: 100-25-250
  5. Подробнее о рекомендациях, относительно дистанции усреднения: Averager для мт4 и мт5
  6. Чем выше значения дистанции, тем дольше советнику требуется времени, чтобы вывести серию позиций в общую прибыль
  7. Чем меньше значение дистанции усреднения, тем больше нагрузка на ваш баланс. Тем больше будут открываться позиций. Тем быстрее можно получить прибыль, но при этом будет большая нагрузка на ваш торговый счет!

Параметр DistanceMartin — Увеличение дистанции Distance на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях, 1-0.1-2

  1. Этот параметр следует оптимизировать только в том случае, если Вам необходимо увеличить дистанцию при каждой новой позиции из серии.
  2. Если Distance слишком маленький, тогда DistanceMartin позволяет увеличивать шаг сетки усреднения.
  3. Если DistanceMartin меньше 1, тогда шаг сетки усреднения и Distance будут уменьшаться при открытии каждой дополнительной позиции усреднения!
  4. Если DistanceMartin больше 1, тогда шаг сетки усреднения и Distance будут увеличиваться при открытии каждой дополнительной позиции усреднения!

Параметр LotsMartin — Увеличение лота на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях, 1-0.1-2

  1. Позволяет уменьшить время на то, чтобы серия позиций вышла в прибыль.
  2. Может давать нагрузку на Ваш торговый счет и баланс.
  3. Рекомендуется использовать только при достаточном объеме баланса!
  4. Если LotsMartin меньше 1, тогда лот следующего усреднения будет уменьшаться при открытии каждой дополнительной позиции усреднения!
  5. Если LotsMartin больше 1, тогда лот следующего усреднения будет увеличиваться при открытии каждой дополнительной позиции усреднения!

Параметр MaxOrdersOpen — Ограничение на количество дополнительных позиций усреднения против тренда!

Оптимизация значений:Только в крайних случаях, 0 — 1 — 10

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

Блок 10: Additional opening

Блок работы с открытием по тренду. Дополнительное открытие.

Параметры OnlyModifyAdditionalOpening, я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр AdditionalOpening — Включает функции дополнительного открытия по тренду. Только при AdditionalOpening=true можно оптимизировать другие параметры!

Оптимизация значений: True — FALSE

  1. Дополнительное открытие позиций позволяет получить больше прибыли, если сигнал был очень прибыльным.
  2. Дополнительная позиция может получить убыток и снизить прибыль от первоначальной серии.
  3. Позволяет строить сетку позиций в сторону прибыли
  4. Имеет смысл использовать вместе с Безубытком или Трейлингстопом

Параметр StopLossALL — Модифицирует стоплосс всех позиций на 1 уровень

Оптимизация значений: 10-50-1000 (старт = 10, шаг = 50, стоп = 1000)

  1. Служит дополнительной защитой позиций, Если у Вас отключили свет.
  2. Имеет смысл, если ВЫ не используете Усреднение AverageUSE=false

Параметр DistanceAdditionalOpening — Дистанция, на которой открываются дополнительные позиции по тренду!

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

  1. Например: Если это валютная пара EURUSD и Вы торгуете на периоде M30 и среднее движение цены в период , например, 50 баров = 7500 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 25, стоп 500.
  2. Например: Если это валютная пара XUGUSD и Вы торгуете на периоде M1 и среднее движение цены в период , например, 50 баров = 100 пунктов, тогда устанавливаете этот параметр для оптимизации так: старт 0, шаг 5, стоп 100.
  3. Еще один способ оптимизации этого параметра, это использование среднего спреда по выбранной валютной паре.
  4. Например: Средний SPREAD по валютной паре = 3 пункта, тогда дистанция усреднения = 50 * 3 = 150 пунктов. При этом оптимизацию можно задавать так: 100-25-250

Параметр LotsMartinAdditionalOpening — Увеличение лота на каждой дополнительной позиции!

Оптимизация значений:Только в крайних случаях, 1-0.1-2

  1. Может давать нагрузку на Ваш торговый счет и баланс.
  2. Рекомендуется использовать только при достаточном объеме баланса!
  3. Если LotsMartinAdditionalOpening меньше 1, тогда лот следующей дополнительной позиции будет уменьшаться при открытии каждой дополнительной позиции!
  4. Если LotsMartinAdditionalOpening больше 1, тогда лот следующей дополнительной позиции будет увеличиваться при открытии каждой дополнительной позиции!

Параметр MaxOrdersOpenAdditionalOpening — Ограничение на количество дополнительных позиций по тренду!

Оптимизация значений:Только в крайних случаях, 0 — 1 — 10

Блок 11: BreakEven WithoutLOSS options

Блок включения безубытка.

Параметр MovingInWLUSE — Включает функции установки стоплосса в безубыток. Только при MovingInWLUSE=true можно оптимизировать другие параметры!

Оптимизация значений: True — FALSE

Параметр LevelWLoss — Уровень установки стоплосса в прибыль. Параметр LevelProfit — Значение прибыли в пунктах, когда начинает работать безубыток

Оптимизация значений: 0-5-50

  1. Параметр LevelProfit всегда должен быть больше, чем LevelWLoss
  2. Вы можете установить оптимизацию LevelProfit в значения 25-5-100, а значение LevelWLoss в 0-5-50
  3. Чем Выше значение LevelProfit тем больше нужно позиции пройти в прибыль, чтобы советник установил безубыток. Это защита от маленького безубытка, но ВЫ можете упустить прибыль.
  4. Чем больше разница между LevelProfit и LevelWLoss , тем менее чувствителен порог срабатывания безубытка.

Блок 12: Standard Trailing options

Блок включения стандартного трейлингстопа.

Параметры IfProfTrail и TrailingStep и SaveTPafterTrailingStop, я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр TrailingStopUSE— Включает функции сопровождения и модификации стоплосса в прибыль. Только при TrailingStopUSE=true можно оптимизировать другие параметры!

Оптимизация значений: True — FALSE

  1. Отличие TrailingStop и BreakEven в том, что трейлингстоп устанавливает BreakEven и дальше тянет стоплосс в прибыль, если это позволяет ситуация на рынке.
  2. Вы можете использовать разные значения параметров для TrailingStop и безубытка. Нет смысла использовать одинаковые параметры.

Параметр TrailingStop — Дистанция установки стоплосса от текущей цены. При этом позиция должна собрать TrailingStop пунктов прибыли.

Оптимизация значений: 0-10-100 (При среднем движении валютной пары 200-300 пунктов в день)

  1. Чем Выше значение TrailingStop тем больше нужно позиции пройти в прибыль, чтобы советник установил безубыток и дальше сопровождал позицию. Это защита от маленького безубытка, но ВЫ можете упустить прибыль.

Блок 13: TrailingStop by SAR

Блок включения трейлингстопа по индикатору SAR.

Параметры TrailingStopSAR_TimeFrame и step и maximum,

я не рекомендую изменять! Не имеет смысла оптимизировать.

Параметр TrailingStopSAR — Включает функции сопровождения и модификации стоплосса в прибыль по точкам индикатора PARABOLIC.

Только при TrailingStopSAR = true можно оптимизировать другие параметры!

Оптимизация значений: True — FALSE

  1. Позволяет устанавливать стоплосс на экстремумы индикатора.
  2. Всегда держит расстояние от текущей цены до экстремума, вычисляя дистанцию автоматически
  3. Не имеет смысла использовать вместе с TrailingStopUSE=true

Блок 14: Time Trade options

Блок управления работой советника по времени

В этом блоке очень много параметров и оптимизировать все параметры очень долго.

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

Только при TradeStartStopbyTime=true имеет смысл оптимизировать остальные параметры!

Я могу советовать оптимизацию только таких параметров:

  1. OpenHour = 0-1-23
  2. CloseHour = 0-1-23
  3. TradeByDays= True-False
  4. DayForOptimization = 0-1-6

Блок 15: CloseALL when Profit or LOSS options

Блок закрытия по общей прибыли.

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

Например: При открытии нескольких позиций или хаотичное открытие позиций.

Имеет смысл оптимизировать при включении TypeofClose=PercentBalance следующие параметры:

  1. CloseProfit=True-False;
  2. prifitessss=0.1-0.1-1
  3. CloseLoss=True-False;
  4. lossss=(-0.1)-(-0.1)-(-1)

Остальные параметры советника

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

Примеры использования функций

Параметр получения сигнального бара

shift (0,1,2. ) Номер бара
Данный параметр представляет собой номер бара, с которого Ваши индикаторы будут брать сигнал. При заказе эксперта Вы должны указать такие параметры определения сигнала: Открывать сделку сразу же после сигнала, или же ждать , пока сигнал сформируется на закрытом баре и открывать сделку только открытии следующего бара

Некоторые индикаторы, в силу своих алгоритмов, имеют четкое определение: на каком баре подается сигнал. Если говорить о четкости и правильном исполнении приказа: то сделку необходимо обрабатывать только на закрытом баре т.е. параметр shift=1, Если же необходимо открывать сделку сразу же по наступлению сигнала на текущем баре и индикатор это позволяет необходимо ставить shift=0.

Переворот сигналов стратегии

ReverseSignal (true — false) Включен\Выключен
Данный параметр представляет собой переворот сигналов Вашего индикатора\индикаторов
Если Ваш эксперт построен на определенном алгоритме, или на определенных сигналах индикатора, у Вас есть возможность, без перепрограммирования поменять местами сигналы BUY\SELL
Например: ReverseSignal=true
Ваш индикатор подал сигнал на BUY, но эксперт откроет сделку SELL.
Ваш индикатор подал сигнал на SELL, но эксперт откроет сделку BUY.

Использование отложенных ордеров при открытии вместо позиции

StopOrderUSE (Orders — Limit- false) и StopOrderDeltaifUSE(От минимально допустимого стопа на сервере ) в пунктах
Данный параметр в связке представляет собой возможность открывать не позиции а отложенные ордера. Если допустим после наступления сигнала Вы хотите его проверить путем установки отложенного ордера
Например: StopOrderUSE =Orders StopOrderDeltaifUSE=100
Если Ваш индикатор подал сигнал на открытие BUY то советник откроет отложенный ордер BUYSTOP по цене Ask+StopOrderDeltaifUSE пунктов
Если Ваш индикатор подал сигнал на открытие SELL то советник откроет отложенный ордер SELLSTOP по цене Bid-StopOrderDeltaifUSE пунктов
Если параметр будет меньше минимально допустимого на сервере — эксперт выдаст ошибку 130

Магический номер

Magic (0. 99999) Номер
Данный параметр представляет собой особый номер эксперта, который стоит на графике, Если Вы используете множество экспертов на разных графиках, для исключения проблем с запутыванием между собой сделок экспертами, Вам необходимо каждому эксперту присвоить свой отдельный номер.

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

Стоплосс/ Тейкпрофит позиции

StopLoss (0. )в пунктах
Данный параметр представляет собой Стоплосс каждой позиции, Это количество пунктов минуса, при котором сделка будет закрыта сервером
0 — параметр отключен, и Стоплосс сделки будет равен 0.

TakeProfit (0. )в пунктах
Данный параметр представляет собой Тейкпрофит каждой позиции, Это количество пунктов плюса, при котором сделка будет закрыта сервером
0 — параметр отключен, и Тейкпрофит сделки будет равен 0.

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

Закрытие сделок по обратному сигналу

ClosePosifChange (true — false)
Данный параметр регулирует возможность закрывать противоположную сделку при открытии новой. Если Ваш индикатор использует сигналы : BUY — SELL — BUY — SELL , то при включении данного параметра, эксперт перед открытием новой сделки будет закрывать противоположную
CloseChangeOnlyInProfit (true — false)
Данный параметр включает возможность закрывать по обратному сигналу только тогда! Когда обратное направление вышло в профит и имеет общий + (Если сделка одна = считается ее профит, если сделок несколько = считается общий профит всех сделок обратного направления)

Количество позиций сигналов стратегии

ONlyOnePosbySignal (true — false)Включен\Выключен
Данный параметр регулирует возможность открытия одной позиции или множества позиций.
При чем в включенном положении, при каждом сигнале на 1 бар будет открыта 1 позиция.
Например: Сигналы Вашей стратегии дают поочередно сигнал на BUY на каждом новом баре, при этом если функция ONlyOnePosbySignal = false то на каждом баре при поступлении сигнала будет открыта сделка BUY
Если данная функция ONlyOnePosbySignal = true, то эксперт может открыть только одну сделку BUY и одну сделку SELL и ждать, пока они не закроются

OnePosPerDirection: Открытие 1 сделки на 1 направление
например:
если OnePosPerDirection=true и ONlyOnePosbySignal = false
тогда советник может открыть 1 сделку Бай по сигналу и 1 сделку Селл по сигналу
если OnePosPerDirection=false и ONlyOnePosbySignal = true
тогда советник может открыть только 1 сделку по сигналу либо Бай либо СЕЛЛ
если OnePosPerDirection=false и ONlyOnePosbySignal = false
тогда советник может открывать любые сделки по каждому сигналу индикаторов

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

Фиксированный лот

Lots (0.01 . ) Установка фиксированного лота на все сделки
Данный параметр устанавливает количество лотов при открытии сделки. Лот фиксированный и распространяется на все сделки
При этом, Вы должны уточнить у брокера минимально допустимый лот, для открытия сделки

Мартингейл

Martin (1. ) в коэффициенте
Данный параметр позволяет Вам использовать принцип Мартингейла для своей стратегии, в котором следующая сделка за убыточной будет открывать из расчета Лот * Martin
При этом если параметр равен 1, то Мартингейл не используется.
Например: Lots = 0.01 Martin =2:
1 сделка BUY(0.01) закрылась в минусе \ или по стоплоссу(в минусе)
2 сделка будет открыта с лотом 0.01 * 2 = 0.02
3 если предыдущая сделка была закрыта по стоплоссу, то следующая сделка будет открыта лотом 0.04
Если предыдущая сделка была закрыта в + либо же по тейкпрофиту, то следующая за ней будет открыта с начальным лотом 0.0

Время работы эксперта

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

Если TradeStartStopbyTime = false, тогда советник торгует круглосуточно, если не указаны работа в пятницу и в понедельник
Если TradeStartStopbyTime = true, тогда включается время торговли:

Начало времени торговли начинается с понедельника.
Советник начинает работать в понедельник, если задано TradeStartbyTimeMonday=true по времени OpenHourMonday:OpenMinuteMonday
Например, OpenHourMonday=3 и OpenMinuteMonday=40, тогда советник начинает торговать в понедельник в 03:40 по времени сервера
(время Вашего брокера, указывается в обзоре рынка).

Далее советник проверяет время торговли по параметрам: OpenHour:OpenMinute — начало торговли и CloseHour:CloseMinute — конец торговли за 1 сутки.
Например: OpenHour=5 и OpenMinute=0, а также CloseHour=18 и CloseMinute=59, тогда советник будет торговать каждый день с 5:00 до 18:59.

Если Вы хотите задать период торговли от начального времени, Вы можете задать параметр ClosePeriod_Minute — период в минутах.
Например, OpenHour=6 и OpenMinute=0 и ClosePeriod_Minute=180, тогда советник устанавливает время торговли с 6:00 до 9:00(6+180 минут = 9 часов).

Вы также можете задать несколько временных отрезков для торговли в параметре SeveralTimeWork. Формат записи: ЧЧ:ММ-ЧЧ:ММ;
где: Час старта торговли:Минута старта торговли — Част стоп торговли: Минута стоп торговли.
Например, SeveralTimeWork=3:00-5:00;7:30-8:50;12:00-15:00;
тогда советник будет торговать 3 отрезка времени. с 3 часов до 5 часов, с 7:30 до 8:50 и с 12:00 до 15:00. Все остальное время советник не будет открывать новые сделки.

Также Вы можете закрыть все открытые сделки и отложенные ордера в нерабочее время, CloseAllTradesByOutOfTime=true.
При этом советник будет торговать в установленное выше время, а когда время торговли закончится — советник будет закрывать все открытые позиции и ордера.
TradeStartStopbyTimeFriday — Торговое время для пятницы.
В нашем советнике ВЫ можете задать время торговли советника в пятницу.
Параметры времени для пятницы: OpenHourFriday:OpenMinuteFridayCloseHourFriday:CloseMinuteFriday
Например, Вам нужно, чтобы советник не открывал новых сделок в пятницу после 18:00, тогда ВЫ устанавливаете:
OpenHourFr > В таком случае, советник не будет открывать новые сделки после 18 : 00

Также Вы можете закрыть все открытые сделки и отложенные ордера в пятницу в установленное время 18:00, CloseFr > CloseAllTradesByOutOfTime

В нашем блоке работы по времени ВЫ можете задать Торговые дни для торговли: TradeByDays
Например, TradeByDays=true Days=1,2,3 — в таком случае советник будет торговать только в понедельник, вторник и среду по установленному выше времени. Или торговать круглосуточно эти 3 дня, если время не установлено.
Если ВЫ указали Days=1,2,3,4,5 но параметр TradeStartStopbyTimeFr >
Также ВЫ можете задать 1 день для оптимизации в параметре DayForOptimization.
Эта опция полезна для того, чтобы определить в какие дни на оптимизации были самые прибыльные.
например, DayForOptimization = 3, тогда советник будет торговать только по средам.

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

Классический TralingStop

TrailingStopUSE(true — false) IfProfTrail(true — false) TrailingStop(в пунктах) TrailingStep(в пунктах)
Данные параметры включают\отключают автоматическое слежение за позицией путем модификации стоплосса в + зону.
TrailingStopUSE — Включает\отключает функцию Траллингстоп
IfProfTrail — при true Советник начинает модификацию только с момента выхода позиции в Безубыток (установка стоплосса на точку безубыточности). при false — тралингстоп начинает работать сразу после выставления позиции и тянет его вслед за ценой
TrailingStop — расстояние в пунктах от текущей цены до предполагаемого стоплосса. Данный параметр не может быть меньше минимально допустимого на Вашем сервере.
TrailingStep— шаг модификации стоплосса
Например: Стоплосс будет модифицироваться каждые TrailingStep 50 пунктов на расстоянии TrailingStop 100 пунктов от текущей цены

TralingStop по PARABOLIC SAR

TrailingStopSAR (true — false) step и maximum(параметры Параболик SAR)
Данные параметры включают возможность модификации стоплосса по установленному Параболику
При этом стоплосс будет модифицироваться при каждом новом значении Параболик SAR.
Соответственно, BUY модифицируется, когда Параболик находится ниже цены, Sell модифицируется когда ПАРАБОЛИК находится выше цены.

Функция закрытия по общей прибыли \ убытку

Данные параметры регулируют возможность закрыть сделку\сделки по данному инструменту и магику, достигнув один из параметров
Параметры
TypeofClose=1; -Тип закрытия по прибыли 1 — Доллар, 2 -Пункты ,3 -%Эквити ,4 -%Балан
CloseProfit=false; Закрывать если общая совокупная позиция (все сделки) вышли в прибыль +
prifitessss=10; -Количество юнитов(в зависимости от выбора TypeofClose) для закрытия профита.
CloseLoss=false; Закрывать если общая совокупная позиция (все сделки) вышли в убыток —
lossss=-10; -Количество юнитов(в зависимости от выбора TypeofClose) для закрытия убытка.
Например:
Если Вы хотите закрыть несколько сделок BUY \ SELL при прибыли по счету в 10 $:
TypeofClose=1; CloseProfit=true; prifitessss=10;
Если Вы хотите закрыть несколько сделок BUY \ SELL при убытке по счету в 200 пунктов:
TypeofClose=2; CloseLoss=true; lossss=200;
Если Вы хотите закрыть несколько сделок BUY \ SELL при убытке по счету в 5 % от депозита, а также закрыть несколько сделок BUY \ SELL при прибыли по счету в 10 % от депозита:
TypeofClose=4; CloseLoss=true; prifitesssslossss=5;CloseProfit=true; prifitesssslossss=10;

Установка стоплосса в Безубыток

MovingInWLUSE (true — false) LevelWLoss(в пунктах) LevelProfit (в пунктах)
Данные параметры регулируют возможность включить модифицирование сделки в Безубыток (установка стоплосса на точку безубыточности), при первой возможности
Например
Вы хотите установить стоплосс в Безубыток (установка стоплосса на точку безубыточности), когда сделка наберет +10 пунктов прибыли:
MovingInWLUSE = true; LevelWLoss=0 ; LevelProfit =10;
Вы хотите установить стоплосс в +5 пунктов, когда сделка наберет +20 пунктов прибыли:
MovingInWLUSE = true; LevelWLoss=5 ; LevelProfit =20;
При этом Разница между LevelProfitLevelWLoss должны быть всегда больше или равна минимальному стопу на сервере

Усреднение, открытие против тренда

UseAverAdditionalOpenOrderinOne — true Количество ордеров считается общее и доливки и усреднителя;
AverageUSE — Использовать усреднение, открытие дополнительных ордеров против тренда ;
Distance — Дистанция открываемых позиций сетка;
LotsMartin — Увеличение лота для сетки позиций;
MaxOrdersOpen — Максимальное количество колен 0 — неограничен;

Данный советник поддерживает функцию усреднения позиций. Принцип ее работы заключается в том, что когда цена идет в противоположную сторону от сделки и проходит определенное расстояние Distance в пунктах — советник открывает сделку в том же направлении, что и основная сделка с лотом основной сделки * LotsMartin. Таким образом из 2 сделок получается усредненная сделка с общим тейкпрофитом(Если он установлен в параметрах TakeProfit).
Если включен трейлингстоп TrailingStopUSE советник будет сопровождать всю серию сделок по общему трейлингстопу.
Также есть возможность установить максимальное количество колен в серии параметром MaxOrdersOpen
Например:
AverageUSE = true Distance=100 LotsMartin=2 MaxOrdersOpen=3 TakeProfit=50

Доливка, открытие по тренду

AdditionalOpen— Использовать открытие дополнительных ордеров по тренду;
DistanceAdditionalOpen — Дистанция открываемых позиций сетка доливка по тренду;
LotsMartinAdditionalOpen — Увеличение лота для сетки позиций;
MaxOrdersOpenAdditionalOpen — Максимальное количество колен 0 – неограничен;

Советник способен доливаться по тренду, если цена идет в сторону позиций. Если цена проходит установленное расстояние DistanceAdditionalOpen в пунктах от цены открытия позиции, советник откроет такую же позицию с лотом основной позиции * LotsMartinAdditionalOpen . Также есть возможность установить максимальное количество позиций доливки
Например:
AdditionalOpen = true DistanceAdditionalOpen=100 LotsMartinAdditionalOpen=2 MaxOrdersOpenAdditionalOpen=3 TakeProfit=500
Также Вы можете установить стоплосс, трейлингстоп, Безубыток (установка стоплосса на точку безубыточности)

Ограничение убытков и профита за 1 день\ Неделя\ Месяц

Limiting LimitFor — Тип ограничения день\неделя\месяц
LimitForLosses — ограничение по профиту
LimitForProfits— ограничение по убытку
LimitType — Тип лимита по Долларам, Пунктам, Процентам от депозита
ClosebyLIMITING — Закрывать сделки советника при превышении Лимита
UseCurrentProfit — Учитывать, при вычислении лимита, текущий профит\ убыток

Данная функция способна отключить работу советника, если советник набрал определенный профит\убыток в валюте депозита за день\месяц\неделю. При этом следующая работа советника будет на следующий день\неделя\месяц
Например LimitFor=DAY LimitForProfits=1 Закрытие по общему профиту = 10 долларов
Также Вы можете выбрать тип лимита LimitType для расчетов. В долларах, пунктах, процентах от баланса счета.
Если Вам необходимо закрыть и удалить все сделки по данному советнику, при превышении лимитов, Вы можете поставить ClosebyLIMITING = true
Параметр UseCurrentProfit запрещает или разрешает учитывать текущий плавающий профит\убыток по данному советнику

Виртуальные стопы

VirtualStops — Скрывает реальные стопы на позициях и делает их виртуальными.
Данный параметр превращает реальные стоплосс, тейкпрофит, трейлингстоп, Безубыток (установка стоплосса на точку безубыточности)и все что связано с
стопами в виртуальные стопы. Т.е. Советник не выставляет стоплосс\тейкпрофит на сервере брокера, а
держит все данные в памяти.
Как только цена пересекает виртуальный уровень стопов — советник закрывает позицию.
Преимущества виртуальных стопов очевидны. Можно выставлять даже самый минимальный тейкпрофит
или стоплосс т 1 пункта. Сервер не видит Ваших стопов, тем самым не может их сбивать.
Но есть и недостатки: Компьютер всегда должен быть включен. Иначе виртуальный стоплосс не сработает.
При закрытии позиций — могут быть реквоты, тем самым сдвигать пункты стопов.

Полностью переработан алгоритм виртуальных стоплосс\тейкпрофит\трейлингстоп\ Безубыток (установка стоплосса на точку безубыточности).
Теперь все виртуальные стопы отображаются на графике и являются ключевыми при закрытии позиций по этим уровням.
Данные записываются в виде линий и глобальных переменных.
Внимание: Если удалить линию стопа на графике и глобальные переменные — Виртуальное закрытие по это
линии работать не будет.
Внимание: Проверьте Ваши эксперты и индикаторы на удаление линий с графика и глобальных переменных!
Внимание: Виртуальные уровни срабатывают по текущей цене, после чего происходит закрытие.
Во время закрытия могут быть проскальзывания в пару пунктов!
Внимание: При включении VirtualStops — скорость тестирования значительно ниже.

Привидение всех параметров с стопами, до минимально возможного уровня на сервере

SetMinStops — Автоматическое приведение установленных
Данный параметр позволяет привести Ваши параметры стопов(стоплосс, тейкпрофит, дистанция для
отложенных ордеров, трейлингстоп, Безубыток (установка стоплосса на точку безубыточности)) до минимально возможного уровня на сервере.
Проверка уровней происходит каждый тик.
Например: Если Выставить стоплосс = 10 пунктов, а минимальный стоп на Вашем сервере = 20 пунктов, то
при открытии позиции — сервер вернет ошибку 130 о том, что уровень стопов меньше минимального.
Если включить опцию SetMinStops советник автоматически приведет Ваш стоплосс до уровня 20
пунктов, чтобы не возникало ошибки 130.

Выводы

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

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

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

Мы работает уже более 10 лет и знаем, что такое торговые эксперты.

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

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

Настройка

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

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

Советник и его параметры #

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизация советника Forex Trend River

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

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

Тема сегодняшней статьи — советник Forex Trend River, который позволит каждому трейдеру заработать, при этом защитит торговый счет от слива, а прибыльность будет достаточно стабильной и высокой. Более того, платить за работу с программой не нужно.

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

Особенности Forex Trend River

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

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

Лучшие брокеры без обмана
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

  • Таймфреймы. Выбираем одночасовой если игрок выбирать пассивный стиль торговли, и заключение небольшого количества операций.

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

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

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

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

Нюансы настройки робота и особенности оптимизации

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

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

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

Далее постараемся разобраться в данном вопросе.

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

Если обратить внимание на последний уровень, его можно настраивать в районе 2,330 – 5 тысяч пунктов. Обращаем внимание на скриншот внизу, оптимизация осуществляется по старой истории котировок. Не исключено что в не так давно, осуществлялся мощный прыжок стоимости.

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

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

А если сегодня уже все спокойно, и настройки с такими сильными расспросами не нужны, что игроку следует сделать?

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

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

Оптимизация стратегий

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

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

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

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

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

Как провести оптимизацию #

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

Посмотреть видео: Бесплатное тестирование советников и индикаторов перед покупкой

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

Выбор торгового робота для тестирования #

Выполните команду » Тестировать» в контекстном меню нужного советника в окне «Навигатор».

После этого советник будет выбран в тестере стратегий.

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

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

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

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

Выбор настроек оптимизации #

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

Символ и период

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

Интервал

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

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

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

Форвард-период

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

На первой части периода проводится оптимизация советника. После этого отбираются лучшие прогоны (10% при полном переборе параметров или 25% при генетическом алгоритме), и только они запускаются на форвард-периоде. Результаты лучших прогонов при оптимизации на обоих периодах затем можно сравнить на вкладках «Результаты оптимизации» и «Результаты форвард тестирования».

Режим торговли

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

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

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

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

Режим произвольных задержек предусмотрен для тестирования экспертов в условиях, приближенных к реальным. Величина задержки генерируется случайным образом по следующему принципу: случайным образом выбирается число от 0 до 9, и на такое число секунд осуществляется задержка; если выбранное число равно 9, то случайным образом выбирается еще одно число из такого же диапазона и прибавляется к первому.

Таким образом, вероятность задержки исполнения на 0-8 секунд составляет 90%, а вероятность задержки на 9-18 секунд составляет 10%.

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

Режим генерации тиков

Выберите один из режимов генерации тиков:

  • Все тики — наиболее точный, но и наиболее медленный режим моделирования. В нем моделируются все тики.
  • Каждый тик на основе реальных тиков — максимально приближенный к реальным условиям режим. Используются реальные тики, накопленные брокером по финансовым инструментам. Моделирование не осуществляется. Тиковые данные имеют большой размер, при первом запуске тестирования их скачивание с сервера брокера может занять продолжительное время.
  • OHLC на М1 — в данном режиме моделируются лишь 4 цены каждого минутного бара — цены Open, High, Low и Close.
  • Только цены открытия — в данном режиме моделируются также цены OHLC, однако для тестирования/оптимизации используется лишь цена открытия.
  • Математические вычисления — в данном режиме тестер не будет подкачивать исторические данные, информацию о символах и не будет генерировать тики. Будут вызваны только функции OnInit(), OnTester() и OnDeinit(). Таким образом тестер можно использовать для различных математических вычислений, где требуется подбор параметров.

Более подробно режимы генерации тиков описаны в отдельном разделе.

Начальный депозит и плечо

Укажите объем начального депозита для тестирования и оптимизации советника. По умолчанию используется валюта депозита счета, который в данный момент подключен, но вы можете указать любую другую. При этом учитывайте, что для корректного тестирования на счете должны быть доступны кросс-курсы для пересчета прибыли и маржи в указанную валюту депозита. В качестве кросс-курсов могут быть использованы только инструменты с типом расчета «Forex» или «Forex No Leverage».

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

Оптимизация

Выберите режим оптимизации:

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

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

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

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

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

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

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

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

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

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

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

  • Чтобы сохранить набор в виде set-файла на компьютере, нажмите «Сохранить». Такие файлы можно переносить между платформами на разных компьютерах, передавать другими пользователям.
  • Чтобы сохранить набор для последующего удобного использования в текущей платформе, нажмите «Сохранить набор». Сохраненные таким образом параметры будут доступны в подменю «Загрузить версию». Их можно в любой момент применить, просто выбрав из списка.

Запуск оптимизации #

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

Где посмотреть результаты оптимизации #

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

Подробная информация о показателях представлена в разделе «Отчет о тестировании».

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

Для каждого прохода оптимизации выводятся следующие показатели:

  • Проход — номер прохода;
  • Результат — итоговое значение параметра, являющегося критерием оптимизации, по которому отбираются наилучшие проходы;
  • Прибыль — полученная прибыль/убыток по результатам прохода;
  • Всего трейдов — общее количество трейдов (сделок, которые привели к фиксации прибыли или убытка), совершенных за данный проход;
  • Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибылей равна сумме убытков;
  • Матожидание выигрыша — этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки;
  • Просадка — относительная просадка средств, наибольший убыток в процентах от максимального значения средств. Снятие средств(Withdrawal) советником во время оптимизации учитывается при расчете просадки;
  • Фактор восстановления — данный показатель отображает рискованность стратегии, какой суммой советник рискует чтобы заработать полученную прибыль. Он вычисляется как отношение полученной прибыли к максимальной просадке;
  • Коэффициент Шарпа — данный показатель характеризует эффективность и стабильность стратегии. Он отображает соотношение среднеарифметической прибыли за время удержания позиции к стандартному отклонению от нее. В дополнение, здесь учитывается значение безрисковой ставки, являющейся прибылью по вкладу соответствующей суммы на банковский депозит;
  • Оптимизируемый параметр(ы) — в дополнение к общим статистическим показателям здесь отображаются значения входных переменных установленные для данного прохода.

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

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

Кэш оптимизации #

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

Кэш оптимизации хранится в папке [каталог данных платформы]\Tester\cache в виде бинарных файлов отдельно для каждого набора оптимизируемых параметров каждого эксперта. Файлы именуются по следующему правилу: ExpertName.Symbol.Period.StartDate.EndDate.GenerationModeOptimizationMode.Hash.opt. Здесь:

  • ExpertName — наименование оптимизируемого эксперта.
  • Symbol — символ.
  • Period — таймфрейм (M1,H1. ).
  • StartDate — начальная дата оптимизации.
  • EndDate — конечная дата оптимизации.
  • GenerationMode — режим генерации тиков: 0 — «Все тики», 1 — «Каждый тик на основе реальных тиков», 2 — «OHLC на M1», 3 — «Только цены открытия», 4 — «Математические вычисления».
  • OptimizationMode — тип оптимизации: 0 — «Медленная (полный перебор параметров)», 1 — «Быстрая (генетический алгоритм)», 2 — «Все символы, выбранные в окне ‘Обзор рынка’ «.
  • Hash — хэш-производная от всех вышеперечисленных параметров, используется для поиска кэш-файлов.

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

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

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

Для анализа в сторонних программах, например, Office Excel, отчет оптимизации можно сохранить в виде файла командой » Экспортировать в XML» в контекстном меню. Также в контекстном меню доступны команды для экспорта и импорта кэш-файлов. Используйте их для переноса результатов оптимизации между разными платформами.

  • Для оптимального использования дискового пространства кэш-файлы автоматически удаляются, если к ним не обращались в течение 30 дней.
  • При генетической оптимизации промежуточные результаты сохраняются в кэше после расчета каждого поколения (файл папка_данных_платформы/tester/cache/*.gen). Таким образом, процесс генетической оптимизации можно прерывать в любой момент. Даже если процесс генетической оптимизации будет прерван из-за внешних причин (например, отключения электричества), оптимизация будет автоматически продолжена с последнего рассчитанного поколения при последующем запуске. Кэш генетической оптимизации хранится до изменения настроек оптимизации или до завершения процесса оптимизации.
  • При штатной остановке оптимизации (кнопкой «Стоп») сохраняются все ранее рассчитанные проходы. При возобновлении оптимизации, процесс будет продолжен с места остановки.

Визуальное представление результатов оптимизации #

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

Нулевая линия (плоскость)

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

График с результатами и Линейный график (1D) #

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

На линейном графике (1D) отображается изменение параметра, являющегося критерием оптимизации (вертикальная ось) в зависимости от одного из оптимизируемых параметров, выбранного для отображения на горизонтальной оси. Чтобы выбрать параметр для отображения на горизонтальной оси, используйте команду «Ось X» в контекстном меню.

Плоский график (2D) и Объемный график (3D) #

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

В трехмерном режиме просмотра на осях X и Y откладываются изменения выбранных параметров, по которым проходила оптимизация. Изменения критерия оптимизации отображаются по вертикальной оси Z, а также при помощи цветового градиента.

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

Управление 3D графиком при помощи мышью

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

Управление 3D графиком при помощи клавиатуры

Включение/выключение координатной сетки.

Переключение между сплошной заливкой и заливкой при помощи линий.

Движение камеры верх (график перемещается вниз).

Движение камеры вниз (график перемещается вверх).

Движение камеры вправо (график перемещается влево).

Движение камеры влево (график перемещается вправо).

Приближение камеры (увеличение графика).

Отдаление камеры (уменьшение графика).

Вращение графика на себя вокруг горизонтальной оси.

Вращение графика от себя вокруг горизонтальной оси.

Вращение графика вокруг вертикальной оси против часовой стрелки.

Вращение графика вокруг вертикальной оси по часовой стрелке.

Перемещение нулевой плоскости вверх на единицу.

Перемещение нулевой плоскости вниз на единицу.

Перемещение нулевой плоскости вверх на 10 единиц.

Перемещение нулевой плоскости вниз на 10 единиц.

Перемещение нулевой плоскости в максимальное значение графика.

Перемещение нулевой плоскости в минимальное значение графика.

Увеличение прозрачности нулевой плоскости.

Уменьшение прозрачности нулевой плоскости.

Установить максимальную прозрачность нулевой плоскости (исчезает).

Установить минимальную прозрачность нулевой плоскости (становится непрозрачной).

Вернуться к настройкам графика по умолчанию.

Клавиша «5» на цифровой клавиатуре.

Форвард тестирование для проверки робота на неоптимизированном участке #

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

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

  • нет — не использовать форвард-тестирование;
  • 1/2 — использовать половину указанного периода для форвард-тестирования;
  • 1/3 — использовать треть указанного периода для форвард-тестирования;
  • 1/4 — использовать четверть указанного периода для форвард-тестирования;
  • пользовательский — при выборе данного поля в поле справа укажите дату, с которой будет начато форвард тестирование.
  • Для форвард-тестирования всегда берется вторая (последняя) часть общего периода.
  • На графике оптимизации дата начала форвард-период отмечается вертикальной линией.

От периода, выбранного в поле «Использовать дату», отделяется выбранная часть. Первая часть называется периодом бэк-тестирования, вторая — периодом форвард-тестирования.

На периоде бэк-тестирования проводится полная оптимизация (медленная или быстрая) советника. Затем отбирается 10% (при полном переборе) или 25% (при генетическом анализе) лучших прогонов и они проходят тестирование на форвард-периоде.

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

Посмотреть результаты оптимизации на форвард периоде можно на вкладке «Оптимизации» (в контекстном меню нужно выбрать пункт «Результаты форвард-тестирования») или «Форвард-оптимизация». Чем больше совпадают результаты, тем больше вероятность того, что советник покажет положительные результаты при реальной торговле.

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

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

Многопоточное тестирование с помощью агентов #

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

Агенты подразделяются на три типа: локальные, удаленные и облачные (MQL5 Cloud Network). Локальные агенты устанавливаются автоматически при установке торговой платформы. Их количество равно количеству логических ядер процессора компьютера.

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

Советы и особенности:

  • Для экономии батареи ноутбука можно отключить локальные агенты и использовать только удаленные и облачные.
  • Если тестирование/оптимизация завершена не принудительно (не нажатием кнопки «Стоп» на вкладке настроек и не закрытием торговой платформы), то процессы использованных локальных агентов в течение пяти минут не выгружаются из памяти компьютера. Это позволяет избежать задержек, связанных с подготовкой исторических данных и запуском процессов агентов, при повторных запусках тестирования/оптимизации того же эксперта на том же символе, периоде и временном интервале.
  • Вместе с торговой платформой устанавливаются только локальные агенты. Они используются только в тестере стратегий локальной платформы. Удаленные агенты, которые также можно подключить к глобальной вычислительной сети MQL5 Cloud Network, могут быть установлены только вручную.

Как ускорить оптимизацию за счет локальной фермы агентов #

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

Как создать ферму агентов #

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

В ином случае, скачайте отдельное приложение для управления агентами MetaTrader 5 Strategy Tester Agent и пройдите простой процесс установки.

На вкладке Службы в менеджере:

  • Выберите количество агентов для установки. Они устанавливаются по количеству логических ядер процессора.
  • Укажите пароль для подключения к агентам.
  • Выберите диапазон портов для подключения.
  • Нажмите Добавить.

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

Удаленные агенты можно использовать только 64-х битных операционных системах.

Для экономии трафика и дискового пространства, а также из соображений безопасности на удаленных агентах:

  • в журнал не выводятся сообщения советников (функция Print()) и сообщения о торговых операциях;
  • запрещен вызов DLL.

Как подключить агенты #

Откройте тестер стратегий. На вкладке «Агенты» выберите пункт «Local Network Farm» и нажмите «Добавить» в контекстном меню.

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

Нажмите «Готово» и все найденные агенты станут доступными для тестирования.

Другие варианты добавления агентов:

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

Агенты, установленные на компьютере через MetaTester 5 Agents Manager, можно подключить в качестве удаленных на этом же компьютере. Если у ядер процессора остается некоторый запас мощности при расчетах, это позволит увеличить их загрузку и использовать весь вычислительный потенциал.

Как изменить настройки агента #

Для изменения настроек агента выполнить команду » Редактировать» в его контекстном меню.

В окне настроек присутствуют следующие поля:

  • Имя — имя агента;
  • Адрес — IP-адрес и порт для подключения к агенту, разделенные двоеточием;
  • Пароль — пароль для подключения;
  • Включить — если убрать галочку с данной опции, агент не будет использоваться при тестировании и оптимизации.

В настройках локальных агентов доступна только опция их включения/выключения.

Импорт и экспорт настроек внешних агентов #

Для облегчения настройки внешних агентов в платформе предусмотрена возможность импорта и экспорта их настроек в текстовые файлы. Файлы настроек агентов имеют расширение *.mt5. Команды импорта и экспорта расположены в контекстном меню вкладки «Агенты».

Файл настроек агентов имеет следующий формат: Name;Address:port;Password;Description;Enable

  • Name — имя агента;
  • Address:port — IP-адрес и порт для подключения к агенту, разделенные двоеточием;
  • Password — пароль для подключения;
  • Description — описание оборудования, на котором работает агент;
  • Enable — режим работы агента: 1 — агент включен, 0 — агент выключен.

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

Как ускорить оптимизацию за счет сети облачных вычислений MQL5 Cloud Network #

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

Особенности работы MQL5 Cloud Network #

  • Вся мощность сети MQL5 Cloud Network задействуется только при полном переборе параметров (медленная оптимизация).
  • При генетической оптимизации советников используются агенты только одной точки доступа, что связано с особенностями самого генетического алгоритма.
  • Режим генетической оптимизации включается автоматически, если общее количество шагов оптимизации превышает 100 000 000.
  • Сеть MQL5 Cloud Network можно использовать только в 64-х битных системах.
  • Помимо использования MQL5 Cloud Network, вы можете предоставлять собственные вычислительные мощности в сеть. Чтобы установить удаленные агенты и включить их в сеть, воспользуйтесь специальной утилитой «MetaTester».
  • Более подробно о сети MQL5 Cloud Network вы можете узнать на официальном сайте.

Оплата за использование MQL5 Cloud Network #

  • Использование агентов сети MQL5 Cloud Network является платным. Формула расчета стоимости использования описана в отдельном разделе. Текущий баланс аккаунта MQL5.community отображается над списком облачных агентов.
  • Для использования MQL5 Cloud Network на счету аккаунта MQL5.community должно быть не менее 1 доллара США. Задания отдаются пакетам сразу на несколько точек доступа, соответственно пользователь должны иметь возможность оплатить эти услуги. Заранее сеть не может вычислить, сколько потребуется времени и ресурсов на расчет этих заданий.

Включение MQL5 Cloud Network #

Чтобы задействовать агенты сети, включите их командой » Включить» в контекстном меню. Поскольку сервис MQL5 Cloud Network является платным, пользователю необходимо иметь аккаунт на сайте MQL5.community, через который осуществляются все расчеты. Информация об аккаунте указывается на вкладке «MQL5.community» в настройках платформы.

Если информации об аккаунте на MQL5.community не была ранее указана, при включении агентов MQL5 Cloud Network вам будет предложено это сделать.

Если вы еще не зарегистрированы, воспользуйтесь ссылкой для создания нового аккаунта.

Запуск вычислений с использованием MQL5 Cloud Network #

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

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

Тестирование и оптимизация советников

Введение

В статье подробно описан процесс тестирования и оптимизации советников в тестере торговой платформы MetaTrader 4. Необходимость и востребованность такого рода материала назрела давно. Многие начинающие пользователи торговой платформы MetaTrader 4 плохо представляют себе суть и последовательность действий при работе с экспертами.

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

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

Тестирование и оптимизация советников

Рассмотрим последовательность действий при работе с советником с самого начала. Для примера, возьмем простой модифицированный нами советник Moving Average. В отличие от встроенной в торговую платформу MetaTrader 4 изначальной версии, наша версия реализует открытие позиций при пересечении ценой одной линии Moving Average, а закрытие позиций — при обратном пересечении ценой другой линии Moving Average с другим периодом. В нашу версию также добавлена функция открытия позиций в условиях рыночного исполнения торговых заявок Market Execution, поскольку такая программная модификация сильно востребована в последнее время. Вот код советника:

Скачиваем прилагаемый файл советника Moving Average_Мodified.mq4. Файл советника нужно поместить в папку \MQL4\experts\ торгового терминала MetaTrader 4. Например, если у Вас торговый терминал установлен в папку C:\Program Files\MetaTrader 4\, то советник Вы должны будете поместить в папку C:\Program Files\MetaTrader 4\MQL4\experts\. После чего запускаем (перезапускаем) терминал.

Слева, в окне Навигатор->Советники, должен появиться файл нашего советника с названием Moving Average_Мodified.

Запускаем Тестер стратегий из меню (Ctrl+R) торгового терминала MetaTrader 4. Далее последовательность действий будет такая (см. рисунок):

  • Из выпадающего списка «Советник» выбираем наш эксперт Moving Average_Мodify;
  • Из списка «Символ» выбираем валютную пару для наших экспериментов, например EURUSD;
  • Из списка «Период» выбираем таймфрейм для работы, например H1;
  • Ставим галочку «Использовать дату» и задаем временной период тестирования и оптимизации. Например, с 1 августа 2008 по 1 мая 2009. Почему именно по 1 мая, а не по сегодняшний день (08 июня)? Это вам будет ясно чуть позже.
  • Из списка «Модель» выбираем режим «По ценам открытия».

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

Начнем тестирование. Пока используем в СВОЙСТВАХ ЭКСПЕРТА параметры по умолчанию. Нажимаем на кнопку «Старт» в правом нижнем углу тестера и, после того как зеленая полоска внизу пробежит справа налево, мы можем посмотреть результат теста. Для этого нужно открыть окно «Отчет» тестера. Либо открыть график баланса полученного тестерного прогона — окно «График» (см. рис. выше).

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

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

В режиме оптимизации советник автоматически прогоняется неоднократно, меняя внешние переменные по заданной нами схеме в СВОЙСТВАХ эксперта: начальное значение-шаг-конечное значение. Тестер МТ4 позволяет оптимизировать несколько параметров одновременно. Нам следует задать параметры оптимизации. Для этого в тестере нажимаем кнопку (справа вверху) и раскрываем окно СВОЙСТВА ЭКСПЕРТА:

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

  • StopLoss — стоплосс (старт=400 пунктов, шаг=10 пунктов, стоп=1500 пунктов);
  • TakeProfit — тейкпрофит;
  • MovingPeriod_Open — период МА для открытия позиций;
  • MovingPeriod_Close — период МА для закрытия позиций.

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

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

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

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

Как видно из рисунка, при некоторых комбинациях параметров советника достигается максимальная прибыль $4658. Однако не стоит торопиться загружать в наш советник эти параметры. Слишком уж велика просадка при такой прибыли! Нам же для начала желательно выбрать из предложенных вариантов подходящее сочетание максимальной прибыли и разумной просадки. Поэтому мы возьмем проход 2406 с прибылью $2715 и минимальной относительной просадкой 19,83%.

Щелкаем по этой строке правой мышкой. В появившемся окне щелкаем по строке «Установить входные параметры». При этом выбранные параметры автоматически загружаются в советник. Нажимаем кнопку «Старт» в правом нижнем углу тестера. После окончания теста (прогона) открываем окно «Отчет» и смотрим результаты теста.

  • Начальный депозит 1000.00
  • Чистая прибыль 2705.40
  • Общая прибыль 7520.57
  • Общий убыток -4815.17
  • Прибыльность 1.56
  • Матожидание выигрыша 15.37
  • Максимальная просадка 413.08 (11.48%)
  • Относительная просадка 19.88% (399.50)
  • Всего сделок 176
  • Короткие позиции (% выигравших) 80 (41.25%)
  • Длинные позиции (% выигравших) 96 (32.29%)
  • Самая большая прибыльная сделка 142.10
  • Самая большая убыточная сделка -87.10
  • Средняя прибыльная сделка 117.51
  • Средняя убыточная сделка -42.99
  • Максимальное количество непрерывных выигрышей (прибыль) 4 (567.62)
  • Максимальное количество непрерывных проигрышей (убыток) 8 (-310.27)
  • StopLoss=870; TakeProfit=1420; Lots=0.1; MaximumRisk=0.02; DecreaseFactor=3; MovingPeriod_Open=37; MovingPeriod_Close=54; MovingShift=1;

Насколько стабилен этот результат? И будет ли советник в реальном времени работать так же, как отработал у нас при прогоне в тестере? Ответы на эти вопросы в какой-то мере может дать так называемый форвард-тест!

Напомню, что мы задали дату тестирования и оптимизации с 1 августа 2008 по 1 мая 2009. Мы умышленно не стали оптимизировать советник с августа 2008 по сегодняшний день — 8 июня 2009. Мы как бы обучали советник на заданном нами интервале времени! А теперь пришла пора «строго спросить» с него, с советника — принять экзамен.

Т.е. протестировать советник с этими же параметрами вне периода оптимизации — со 2 мая по 8 июня 2009! Именно такой прогон с и принято называть «форвард-тестом«. В отличие от предыдущего — бэк-теста.

По результатам форвард-теста мы уже более уверенно и объективно сможем судить о перспективах работы нашего советника в реальном времени. Не будем более вас мучить лукавым ожиданием и сделаем, наконец, описанный выше форвард-тест! Для этого зададим дату в окне тестера с 2 мая 2009 по «сегодня»(8 июня). И нажмем кнопку «Старт»! Вот результат:

  • Начальный депозит 1000.00
  • Чистая прибыль 348.44
  • Общая прибыль 1049.34
  • Общий убыток -700.90
  • Прибыльность 1.50
  • Матожидание выигрыша 8.93
  • Максимальная просадка 287.60 (20.82%)
  • Относительная просадка 20.82% (287.60)
  • Всего сделок 39
  • Короткие позиции (% выигравших) 22 (59.09%)
  • Длинные позиции (% выигравших) 17 (70.59%)
  • Самая большая прибыльная сделка 42.00
  • Самая большая убыточная сделка -89.00
  • Средняя прибыльная сделка 41.97
  • Средняя убыточная сделка -50.06
  • Максимальное количество непрерывных выигрышей (прибыль) 6 (251.90)
  • Максимальное количество непрерывных проигрышей (убыток) 3 (-267.00)

Неожиданный результат! Нечасто так бывает с первого раза, и мы сами такого не ожидали. Форвард-тест дал неплохую прибыль! Хотя и просадка тоже имеет место. В идеале следует отследить на графике в визуальном режиме работы тестера участок с убыточными сделками, которые дали максимальную просадку, и выяснить причины этой просадки, а также продумать приемы и методы ее устранения. Любой читатель данной статьи может повторить описанные процедуры (в MetaTrader 4 Альпари) и убедиться в совершенной справедливости всех полученных результатов. Добавим, что аналогичный форвард-тест с более прибыльными параметрами оптимизации и большей просадкой (3061 и 771.95) дал гораздо худший результат.

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

Мы же здесь ставим своей целью познакомить пользователей с начальными основами и самыми элементарными, первичными действиями по работе с советниками. Вернемся, однако, к той немалой просадке, которую мы получили при прогоне форвард-теста. Из графика видно, что просадка имела место после 18 мая 2009 года, сделки №18-20. Попробуем отследить ситуацию в визуальном режиме тестера. Для этого поставим галочку в окошечке «Визуализация» тестера, а режим работы тестера в окошечке «Модель» переведем в режим «По всем тикам» для наглядности. Движком визуализации мы сможем регулировать скорость истечения времени (т.е. скорость поступления котировок). Задаем дату с 18 мая 2009 и нажимаем кнопку «Старт».

Вот такая ситуация обнаружилась на этом убыточном участке истории:

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

Заключение

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

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

1. Почему результаты одноименных тестов разные в разных ДЦ?

Разные результаты тестов в разных ДЦ объясняются разными котировками. Каждый брокер имеет своих поставщиков котировок. Отсюда и возникает ценовая разница и, как следствие, отображается на результатах теста.

2. Почему в одном и том же ДЦ разные результаты при одноименных тестах?

Разные результаты в одном и том же ДЦ могут носить несколько причин, самая распространенная:
Плавающий спред, — оказывает довольно большое влияние на результат, особенно, при тестировании на малых таймфреймах и ПО ВСЕМ ТИКАМ. Тестер терминала MetaTrader 4 запоминает последнее значение спреда. При следующем прогоне спред может измениться, соответственно изменится и результат теста.

3. Почему разные результаты при тестированиях на тиках и по ценам открытия?

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

4. Почему эксперт не открывает позиции?

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

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

При подготовке статьи были использованы материалы, ссылки на которые приведены в тексте, а также материалы со странички Как запустить советник? сайта И.Кима.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тестирование торгового советника SWB Grid

Краткое резюме SWB Grid

SWB Grid – индикаторный советник с использованием сетки ордеров и мартингейла;

  • Модификация — SWB Grid 4.1.0.7
  • Рекомендуемый таймфрейм – M5, но можно и другие;
  • Рекомендуемые валютные пары – высоколиквидные: GBP/USD, EUR/USD, USD/JPY, AUD/USD;
  • Торговый терминал — MetaTrader 4;
  • Рекомендуемый брокер – RoboForex;

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

Алгоритм работы советника SWB Grid

SWB Grid — советник, работа которого строится на индикаторах RSI, Stochastic Oscillator и Bollinger Bands. Одной из особенностей данного робота можно назвать возможность получения сигналов на открытие сделок как от всех индикаторов сразу, отдельно от одного из включенных, так и от их комбинаций.

Форекс советник SWB Grid дожидается момента, когда цена пробивает нижнюю границу канала Bollinger Bands, а линии индикаторов RSI и Stochastic заходят в зону перекупленности, после чего открывает позицию на покупку.

Когда цена пробивает верхнюю границу канала, а линии индикаторов RSI и Stochastic Oscillator заходят в зону перекупленности советник открывает позицию на продажу.

Открывая позицию, советник SWB Grid выставляет Тейк Профит и Стоп Лосс. Если ордер не закрывается по Тейк Профиту, включается стратегия усреднения по Мартингейлу, то есть выставляется ряд дополнительных ордеров с увеличенным объемом лота на определенном расстоянии друг от друга, что можно прописать в настройках советника.

Пример покупки

Пример продажи

Настройки SWB Grid

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

Use_daily_target – вкл./выкл. опции прекращения торгов после получения за торговый день заданного профита.

Daily_target – заданная величина профита, достигнув этого значения, советник SWB Grid прекращает работу (в пунктах).

Trade_in_fri – вкл./выкл. опции торговли в пятницу.

Start_lot – начальный объем торгового лота.

Range – величина расстояния межу ордерами в процессе выставления сделок для усреднения убытков (в пунктах).

Level – максимальное количество ордеров для усреднения.

Lot_multiplier – вкл./выкл. коэффициент увеличения лота по стратегии Мартингейла.

Multiplier – коэффициент увеличения лота при усреднении.

Use_sl_and_tp – вкл./выкл. опции выставления TP и SL.

Sl – Стоп Лосс в пунктах.

Tp – Тейк Профит в пунктах.

Tp_in_money – прибыль в валюте депозита.

Use_bb – вкл./выкл. индикатор Bollinger Bands.

bb_period – период индикатора Боллинджер Бендс.

Use_Stoch – вкл./выкл. индикатор Stochastic Oscillator.

Lo_level – уровень перепроданности индикатора Стохастик Осциллятор.

Up_level – уровень перекупленности индикатора Stochastic Oscillator.

Use_rsi – вкл./выкл. индикатор RSI.

Rsi_period – период индикатора RSI.

Lower – уровень перепроданности индикатора RSI.

Upper – уровень перекупленности индикатора RSI.

Тестирование и оптимизация советника SWB Grid

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

Стоит помнить, что любого робота нужно испытывать не только в тестере МТ4, но и как минимум на демо-счете. Минимальной стартовой суммой депозита может быть 100-200 долларов на центовом счете.

Используя модель Мартингейла и систему усреднения торговых позиций, эксперт SWB Grid может увеличить вероятность прибыли и сделать ее максимально возможной. Но при этом не стоит забывать, что Мартингейл и усреднение хоть и являются средствами максимизации прибыли, они также несут себе определенный риск при их использовании в торговле. Поэтому важно правильно настроить робота и выбрать нужную валютную пару. Важным условием для данного советника является применение правила управления капиталом – риск не более 2-4% на каждую сделку при планировании торговых позиций.

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

По рекомендациям разработчиков советника лучше всего торговать на паре GBP/USD, но это не исключает возможно работы и на других инструментах: EUR/USD, AUD/CAD, USD/CAD, EUR/AUD, GBP/NZD, EUR/NZD, USD/JPY, AUD/NZD, EUR/CAD и тд.

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

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

После оптимизации SWB Grid для работы по GBP/USD на 15-минутном таймфрейме можно увидеть, что кривая доходности была овольно стабильной, а показатель просадки на приемлемом уровне.

Видеозапись вебинара «Тестирование и обзор торгового советника форекс SWB Grid»

Стиль, орфография и пунктуация автора сохранены.

KROOL and FOREX

Buy, Sell — толковый выбор приходит с опытом, а к нему приводит выбор бестолковый.

Популярные темы

Рекомендуемые брокеры

Ярлыки

ArgoLab.net

Архив блога

суббота, 20 ноября 2010 г.

Оптимизация советников.

Настройка оптимизации советников

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

Советник и его параметры

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

Минимальный баланс — минимальное значение баланса в валюте депозита;

Максимальная прибыль — максимальная прибыль в валюте депозита;

Минимальный уровень маржи % — минимальный уровень маржи в процентах;

Максимальная просадка % — максимальная просадка в процентах;

Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;

Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;

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

Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.

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

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

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

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

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

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

Результаты

Вся информация представлена в виде таблицы с полями:

Проход — номер прогона;

Прибыль — чистая прибыль (валовая прибыль за вычетом валовых убытков);

Всего сделок — общее количество открытых торговых позиций;

Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибыли равна сумме убытков;

Матожидание выигрыша — математическое ожидание выигрыша. Этот статистически расчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки. Также можно считать, что он отражает предполагаемую прибыльность/убыточность следующей сделки;

Просадка $ — максимальная просадка относительно начального депозита, в валюте депозита;

Просадка % — максимальная просадка относительно начального депозита, в процентах;

Входные параметы — изменяемые значения входных переменных при каждом прогоне.

РЕЙТИНГ форекс советников. СКАЧАТЬ торговых роботов — оптимизация, отзывы и тесты.

В данном разделе Вы можете бесплатно скачать и посмотреть прибыльных торговых экспертов и роботов для работы на ФОРЕКС (платформа metatrader 4 — мт4) , результаты тестов и оптимизаций всех популярных торговых роботов и советников. Малая просадка и возможность работы с малым депозитом — лучший выбор начинающего трейдера. Все версии советников желательно сначала тестировать на FOREX демо счете. Вопреки мнению о том что торговля на FOREX с советниками не может быть прибыльной, существует расхожее мнение, основанное на том, что советник убирает из трейдинга эмоциональный фактор, т.е даже психологически неподготовленный человек сможет заработать на бирже. Часто советника называют ТС (торговой системой), МТС (механической ТС) и АТС (автоматической ТС)

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

Калькулятор эффективности форекс советников:

Рейтинг FOREX советников — Топ 10:

# советник интервал
тестирования
начальный
депозит
прибыль маск.
просадка
матожидание
выигрыша
1 ilan Dynamic 7 7 месяцев 100000.00 13605.88 8.88% 37.71
2 FXT Martin Fibo BreakOut 11 мес (Тесты EUR, GBP, CHF) 60000.00 586698.83 16.34% 4848.75
3 PipStriderV134 (PipSwinger) 11 месяцев 50000.00 30480.76 48.15% 57.95
4 ilan 2.0 5 месяцев 100000.00 104472.26 16.99% 101.92
5 CrazyScalper-full ver 1.0MM+ 11 месяцев 50000.00 3971.02 4.51% 22.69
6 Forex Setka Trader 1.6 2 года 1 месяц 100000.00 60983.45 18.23% 19.24
7 Ilan1.6.Prof6 5 месяцев 100000.00 5069.76 1.13% 3.44
8 Invest System 4.5 7 месяцев 10000.00 3446.40 13.56% 6.34
9 ILAN TURBO BETA v.4.5.1 1 месяц 100000.00 20336.84 7.00% 48.08
10 Ilan 1.6 dynamic 6 месяцев 100000.00 13605.88 8.88% 1.15

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

* скачивание бесплатно
** практически все советники распространяются по FREEWARE-лицензии, либо предоставляется Триал-версия со ссылкой на разработчика
*** файлы не находятся на хостинге сайта, сайт лишь предоставляет интеллектуальную информацию (тесты и настроенные параметры торговых советников)
**** все новинки публикуются в начале списка

Проблемы оптимизации советников

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

Что нужно учесть при оптимизации торговых систем

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

Наиболее частые проблемы оптимизации торговых систем:

  • Тестирование наIn-Sampe выборке. Правильным методом считается Out-of-Sample. Он предусматривает так называемое форвардное тестирование. Тестирование и оптимизация проводятся на одном участке (выборке), после чего лучшие комбинации проверяются на участке вне выборки. Как правило, это самый последний участок временного интервала, то есть наиболее близкий к нынешнему времени.
  • Цикличность рынка. Согласно волновой теории Эллиота, у рынка есть стадия роста, спада, вершина и дно, которые повторяются с закономерной периодичностью. Советник не способен одновременно результативно отрабатывать на всех временных участках. Стараясь оптимизировать торговую систему на всем интервале, трейдеры просто подгоняют результат. Правильная оптимизация подразумевает прогонку советника по всему интервалу и отточка параметров только на лучших участках. На выходе получается узкоспециализированная торговая система.
  • Комиссии. При тестировании о них почему-то забывают. На реальном рынке к выходным увеличиваются спреды, есть свопы. При тестировании трейдеры закладывают минимальный уровень комиссий, на реальном счете в случае форс-мажора система дает сбой.
  • Человеческий фактор. Сколько по истории советник не оптимизируй, все равно на рынке будет присутствовать крупный капитал, который будет прикладывать максимум усилий, чтобы «состричь хомяков». Влияние маркетмейкеров непредсказуемо, оптимизация торговых систем не даст точного результата.
  • Ликвидность. Тестер работает по котировкам, «зная» их наперед. Трейдер может открывать сделки любого объема без риска повлиять на рынок. В реальной торговле большой объем сделок, особенно по неликвидному инструменту, в ночное время способен кардинально сместить цену, чего нет при тестировании.
  • Качество котировок. У брокеров могут быть расхождения, как следствие, разный итог конечных расчетов и сигналов.
  • Игнорирование оптимизации устойчивости системы. Получив желаемые результаты оптимизации (оптимальную комбинацию параметров), трейдер допускает ошибку — переходит на демо-счет. Проверка устойчивости подразумевает оценку изменения результатов при незначительной корректировке параметров. Если 1-2 параметра изменены (добавлен узкий шаг) и результаты резко изменятся, система на реальном рынке даст сбой.
  • Влияние форс-мажора.

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

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

Особенности процедуры оптимизации советников Форекс.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример оптимизации торговой системы (советника форекс)

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

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

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

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

Сформулируем эту идею в виде, удобном для алгоритмизации и программирования.

  • В 8.00 (СheckTime) по центрально-европейскому времени (открытие европейской сессии) измеряем ширину утреннего канала, начиная с момента открытия торгового дня, т.е. 0.00 часов.
  • Измеряем средний торговый диапазон за несколько последних дней (DayForCheck).
  • Вычисляем величину процента ширины утреннего канала, от среднего торгового диапазона.
  • Если ширина утреннего дневного канала меньше заданного процента (PercentForOrder) от ширины среднего торгового диапазона, выставляем отложенные ордера в обе стороны от границ утреннего канала (BuyStop, SellStop) на расстоянии заданном как процент (PercentOfRange) от этого же среднего торгового диапазона.
  • Стоп-лосс устанавливаем на расстоянии Stop, Тейк-профит устанавливаем на расстоянии Take.
  • Если ордера не сработали, удаляем их в заданное время (CloseTime). Если один из ордеров сработал, второй сразу удаляем.
  • Открытую позицию закрываем в 0.00 (CloseTime).

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

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

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

  • СheckTime – время проверки канала и установки ордеров.
  • CloseTime – время снятия не сработавших ордеров.
  • CloseTime – время закрытия открытых позиций.
  • DayForCheck – количество дней, учитываемых при расчёте среднего торгового диапазона.
  • PercentForOrder – пороговый процент утреннего канала.
  • PercentOfRange – процент канала для установки отложенных ордеров.
  • Stop — стоплосс.
  • Take — тейкпрофит.

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

Итак, мы имеем 8 оптимизируемых параметров. Посмотрим, можно ли уменьшить это количество, поскольку каждый лишний параметр оптимизации снижает устойчивость системы. Время проверки канала и установки ордеров СheckTime диктуется логикой торговой идеи и соответствует 8.00 по центрально-европейскому времени (CET). Оно фиксировано, поэтому из перечня оптимизируемых параметров может быть исключено.

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

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

Из восьми параметров осталось шесть:

  • CloseTime – время снятия не сработавших ордеров.
  • DayForCheck – количество дней, учитываемых при расчёте среднего торгового диапазона.
  • PercentForOrder – пороговый процент утреннего канала.
  • PercentOfRange – процент канала для установки отложенных ордеров.
  • Stop — стоплосс.
  • Take — тейкпрофит.

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

1 этап. Предварительная (грубая) оптимизация

Для корректной оптимизации нам потребуется период истории не менее 7 лет, при этом последний (самый ценный) год истории пока исключаем из оптимизации, он нам понадобится для проведения «слепого» теста (теста за пределами выборки) после проведения основной оптимизации.

Ещё раз внимательно смотрим на перечень параметров и определяем порядок предстоящей оптимизации. Параметры DayForCheck, PercentForOrder, PercentOfRange связаны между собой, поскольку первый определяет степень усреднения в процессе определения среднего дневного диапазона, второй и третий вычисляют процент от этого диапазона при определении торговых дней и расстояний до выставленных ордеров. Следовательно, эти три параметра оптимизируем совместно. Остальные параметры: CloseTime, Stop, Take логически не связаны как с первыми тремя параметрами, так и между собой, поэтому их оптимизацию можно проводить независимо.

Включаем параметры в тестере стратегий и запускаем оптимизацию.

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

Итак, оптимизация прошла, сортируем результаты. Сначала по размеру чистой прибыли.

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

Теперь сортируем по профит-фактору (прибыльности).

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

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

2 этап. Контроль формы эквити

Тестируем советник по всем тикам (2003-2009 годы):

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

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

3 этап. Контроль устойчивости

Для контроля устойчивости нам понадобятся процент прибыльных сделок (Percent Winners) и отношение среднего выигрыша к среднему проигрышу (Ratio of Average Win to Average Loss), которые мы берем из результатов теста.

  • Процент прибыльных сделок составляет 51,4%.
  • Отношение среднего выигрыша к среднему проигрышу составляет 1,5.

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

  • при деградации процента прибыльных сделок -12%;
  • при деградации отношения средних прибыль/убыток – 50%;
  • при деградации обоих показателей — 92%.

Вероятность провала счёта $25000 до величины $12000

Лучшие брокеры с бонусами:
  • Evotrade
    ☆☆☆☆☆
    ★★★★★
    Evotrade

    Бонусы для новых трейдеров до 5000$!

  • BINARIUM
    ☆☆☆☆☆
    ★★★★★
    BINARIUM

    Лучший брокер по бинарным опционам. Огромный раздел по обучению.

Добавить комментарий