Урок №12: Пишем советник по индикатору

 

Урок №12: Пишем советник по индикатору

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

Начнём с создания шаблона советника(как это сделать мы разбирали на уроке №10).

Опишем входные параметры эксперта:

Значения StopLoss, TakeProfit и Slippage, присвоенные в параметрах, указаны для 4-х значного брокера, соответственно, чтобы эти же значения корректно работали у 5-ти значного ДЦ их нужно умножить на 10, что мы и сделаем в функции OnInit:

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

Параметры индикатора

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

Переходим к функции OnTick и пишем заготовку обработчика, где описываю алгоритм работы эксперта:

  1. if (CountBuy() == 0) — я проверяю есть-ли у меня ордера на покупку, находящиеся в рынке, и если нет, то шаг 2.
  2. BuySignal = … — проверяем наличие сигнала на покупку по индикатору, кстати, это будет переменная, которую необходимо объявить заранее.
  3. if (BuySignal > 0) — если есть сигнал на покупку, то переходим к шагу 4.
  4. CloseSell() — закрываем открытые ордера на продажу, если они есть и переходим к шагу 5.
  5. Открываем ордер на покупку.

Точно такой же блок делается и для продаж.

Исходя из написанного алгоритма сразу видно, что предварительно нам потребуется несколько функций: CountBuy(), CountSell(), CloseBuy(), CloseSell(), а также написать код получения сигнала с индикатора.

Объявим в коде несколько переменных для дальнейшей работы и необходимые функции:

Функция CountBuy():

Аналогично пишется функция CountSell(), разве что проверяется тип ордера OP_SELL:

Далее пишем функцию CloseBuy():

заодно и сигнал на продажу:

кстати, обратите внимание на предпоследний параметр mode, который мы передаём в функцию iCustom — это номер буфера индикатора, где хранятся сигналы покупок и продаж.

Таким образом наша функция OnTick() будет выглядеть следующим образом:

Программы для создания советников на МТ4 и МТ5

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

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

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

Как можно создать советник?

Обзор начнем с краткого описания всех возможных способов (возможно, вам и не придется разбираться с программами). Создать торговый робот можно:

• написав его самостоятельно в Meta Editor – хардкорный вариант. Сюда же занесем и модификацию кода уже существующего робота;

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

• используя спец. программу, облегчающую создание кода робота. В некоторых реализован принцип «Drag and Drop», то есть код бота строится в виде диаграммы, вы задается в отдельных блоках условия работы, затем передвигаете их, задаете связи между ними. Код компилируется по составленной блок-схеме автоматически.

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

Краткий обзор программ для написания торговых роботов

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

Forex strategy builder

Мощный инструмент, программа платная, но в ознакомительных целях с сайта forexsb.com можно скачать демо-версию. На ознакомление дается всего 15 дней, повторно воспользоваться триальной версией можно будет только с другого ПК. Работать FSB будет только если у вас установлен МетаТрейдер, дело в том, что программа использует базу данных из МТ4.

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

Программы для создания советников на МТ4 и МТ5

При создании советника рабочее пространство программы делится на 3 зоны:

• левая часть экрана – краткое описание стратегии;

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

Читать статью  9 правил успеха в работе с “опасными” советниками

Программы для создания советников на МТ4 и МТ5

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

Находясь в Editor можно выделив каждый из блоков редактировать его значения. Например, изменить период скользящей средней, период индикатора, положение уровней и т. д. Можно добавить дополнительные условия для входа нажав на «Add an opening logic condition» и условия для выхода из рынка нажав на «Add a closing logic condition».

Программы для создания советников на МТ4 и МТ5

В разделе review вся информация по работе советника истории. Доступны такие пункты:

• overview – так как в примере рассматривается один из готовых советников, загруженных в базу программы, то здесь можно ознакомиться с подробным описанием советника;

• balance chart – график изменения депозита при тестировании алгоритма. В нашем примере видно, что робота неспособен обеспечить прибыль на тестовом участке истории;

Программы для создания советников на МТ4 и МТ5

• indicator chart – график выбранного инструмента, на котором будут отображаться сделки, совершенные при тестировании. Примерно то же самое увидит трейдер при тестировании советника в МТ4/МТ5 при активированном параметре «Визуализация». Это полезно если вы хотите изучить в полной ли мере соответствует работа советника тому, что вы задумывали;

Программы для создания советников на МТ4 и МТ5

• journal – в журнале записывается каждое действие робота при тестировании на исторических данных.

Есть пара полезных разделов и во вкладке Analysis:

• comparator – выбирается метод бэктеста. Здесь можно ничего не делать, оставить все как есть;

• multimarkets – в отличие от стандартного тестера в том же МетаТрейдере4 здесь можно выполнить тестирование сразу по нескольким парам. Результаты отображаются в виде графика в одном и том же окне;

Программы для создания советников на МТ4 и МТ5

•monte carlo – еще один раздел, посвященный тестированию. Его можно не трогать.

Перед тем как тестировать робот на истории рекомендуем подгрузить историю из МетаТрейдера. Для этого перейдите в Market-Download History Data-MT4 HST Import.

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

Программы для создания советников на МТ4 и МТ5

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

Ensed Cor

По сравнению с предыдущей программой Ensed Cor выглядит чуть менее удобной в использовании. Да и составить костяк советника так же просто как в FSB не получится. Как и в случае с FSB доступ к полному функционалу можно получить только оплатив подписку на сайте авторов. Но для ознакомления с возможностями программы подойдет и бесплатная версия Ensed Cor.

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

Перед началом работы нужно будет указать каталог МТ4. Enser Cod будет использовать все индикаторы, которые на данный момент содержаться в папке Indicators (в демо-версии реализована поддержка только стандартного инструментария МетаТрейдера).

Работу в программе рассмотрим на примере создания простенького торгового робота:

• при первом запуске указываем каталог терминала МТ4;

Программы для создания советников на МТ4 и МТ5

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

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

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

Программы для создания советников на МТ4 и МТ5

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

Программы для создания советников на МТ4 и МТ5

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

Программы для создания советников на МТ4 и МТ5

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

Читать статью  Советники Форекс

Программы для создания советников на МТ4 и МТ5

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

Программы для создания советников на МТ4 и МТ5

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

Программы для создания советников на МТ4 и МТ5

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

Expert Advisor Visual Wizard

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

Процесс создания робота выглядит так:

• после открытия программы нужно будет указать путь к корневому каталогу МТ5, это ПО предназначено именно для создания ботов для МетаТрейдера5. Благодаря этому программа сможет работать не только со стандартными индикаторами, но и со всеми пользовательскими алгоритмами, которые трейдер сам установил в терминал;

• на график нужно будет добавить 2 кнопки Technical Analysis – для задания условий на покупку и продажу. Двойным щелчком по кнопке открывается окно, в котором выбираются нужные индикаторы, задаются условия для входа. Например, можно выбрать вход в рынок на пересечении 2 мувингов, выхода Стохастика из зон перепроданности/перекупленности и т. д.;

Программы для создания советников на МТ4 и МТ5

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

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

Программы для создания советников на МТ4 и МТ5

На скриншоте выше – пример примитивнейшего советника на основе Стохастика. Его можно сохранить в нужном для МТ5 формате, загрузить в терминал и тут же испытывать на истории. В самой программе для создания возможности протестировать советник нет.

Недостатки программ для создания советников

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

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

Например, если в советнике нужно применить ВВ к индикатору RSI, программы это реализовать не смогут. Есть проблема с использованием свечных паттернов, паттернов Price Action, уровней Фибо и т. д.

Заключение

Программы для создания советников хороши только в тех случаях, когда нужно написать простой советник на основе индикаторов. Если ваши требования выходят за пределы этого ТЗ, в алгоритме нужно использовать свечные и графические паттерны, то придется обращаться за помощью к специалистам. Иного способа пока что нет, даже лучшая программа такого типа (Forex strategy builder) существенно уступает возможностям программиста.

Visual Strategy Builder – создаем советников для MT4 без программирования

Все мы знаем, что основное достоинство терминала Metatrader 4 – это возможность создания роботов и торговля с их помощью.

Далеко не все трейдеры владеют программированием на mql4/5. Разработчики программы Forex Tester смогли решить эту проблему. Теперь можно создать робота или реализовать торговую идею в виде индикатора на ресурсе «Визуальный конструктор стратегий» (Visual Strategy Builder). Без навыков программирования.

Как это сделать, плюсы и минусы бесплатного (на текущий момент) конструктора роботов – в нашем материале.

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

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

Сервис Visual Strategy Builder расположен по адресу: https://tools.forextester.com/

Зачем нужен Visual Strategy Builder?

Visual Strategy Builder (VSB) представляет собой программную оболочку с набором инструментов теханализа, которые хорошо знакомы пользователям Metatrader 4. В отличие от этой торговой платформы VSB позволяет задавать в индикаторах правила открытия позиции и установки ордеров тейк-профит и стоп-лосс.

Любой новичок может выбрать сигнал на открытие позиции из набора готовых опций (кроссоверы, пересечения уровней, больше/меньше и т. д.). Эти настройки открывают недоступную для Metatrader 4 возможность протестировать работу одного или нескольких индикаторов.

Читать статью  Советники для автоматической торговли

Например, можно получить реальный торговый результат по стратегии пересечений скользящих средних линий. Такой советник создается в VSB за 5 минут, потом его можно экспортировать в Metatrader 4 или Forex Tester.

Разобравшись с созданием одного индикатора в Visual Strategy Builder, трейдер может в несколько кликов создать рабочую автоматизированную стратегию и тоже проверить ее в тестере. Если советник показывает положительные результаты, то по его сигналам можно торговать на реальном счете через Metatrader 4.

Кстати, тестировать стратегию однозначно лучше через Forex Tester – там точнее котировки и можно быстро эмулировать сессию за любой торговый день. Например, выбрав какой-нибудь «черный вторник», чтобы воочию понять, как аномальная волатильность повлияет на настройки мани менеджмента.

Профессиональные трейдеры могут экспортировать код советников прямо в VSB, соединять его с созданными там программами или редактировать в Metaeditor и отправлять обратно в Metatrader 4.

Visual Strategy Builder будет полезен тем, кто ищет новые идеи – программа поддерживает библиотеку стратегий пользователей. Любой желающий без навыков программирования сразу поймет «внутренности алгоритма» по составу индикаторов и описанным правилам торговых сигналов. Тут же можно самостоятельно убедиться в результативности торговой системы.

Как работать на платформе Visual Strategy Builder

Сервис Visual Strategy Builder расположен по адресу: https://tools.forextester.com/

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

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

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

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

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

    (Ценность);
  • Конкретная цена;
  • Диапазон (цены открытия, закрытия, максимумы и минимумы свечей);
  • Открытие по дням недели, месяца (опция время);
  • По конкретному объему или его абстрактному критерию; .

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

Как только он там отобразится, можно приступать к редактированию параметров. Наведите курсор на поле присоединенного Bollinger Bands (BB), чтобы увидеть эту опцию.

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

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

Теперь конкретизируем тип позиции и условия мани менеджмента с помощью пункта меню на левой панели «Действия». Перетаскиваем в поле ордер на продажу и редактируем его параметры.

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

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

Для нижней линии Боллинджера потребуется создать второе правило, опцию можно выбрать слева вверху, повторив все вышеописанные операции со следующими изменениями:

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

Полученную стратегию можно сохранить и экспортировать в ForexTester или Metatrader 4. В последнем случае используйте латинские буквы в названии файла. Стратегия сохраняется в файл ex4 в папку, выбранную трейдером.

Запустить написанный советник можно сразу после его установки в Metatrader 4. Это делается обычным способом, описанным на нашем сайте.

Заключение

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

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

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

Источник https://mql.su/2017/12/lesson12-my-expert/

Источник https://rognowsky.ru/forex2/programmy-dlya-sozdaniya-sovetnikov-na-mt4-i-mt5/

Источник https://tlap.com/kak-sozdat-ea/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *