Бесплатный конструктор форекс советников. Конструктор советников форекс позволит создать любой торговый робот

Бесплатный конструктор форекс советников. Конструктор советников форекс позволит создать любой торговый робот

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

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

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

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

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

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

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

Forex strategy builder

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ensed Cor

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

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

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

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

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

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

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

Составляем алгоритм:

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

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

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

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

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

Expert Advisor Visual Wizard

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

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

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

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

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

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

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

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

1. Разработку форекс робота начинаем с идеи

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

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

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

2. 4 важных вопроса перед разработкой

Но перед этим попытайтесь ответить себе на следующие вопросы:

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

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

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

У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.

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

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

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

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

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

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

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

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

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

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

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

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

«Старайтесь вникать в процесс работы и всего, что непосредственно касается реализации идеи вашего советника»

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

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

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

7. Выбор исполнителя

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

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

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

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

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

Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть.dll библиотека (.exe файл или.ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».

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

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

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

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

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

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

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

Заключение

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

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

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

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

Однако чтобы создать советник для Metatrader, необходимо уметь пользоваться языком программирования «Meta Quotes Language», а это умеют делать далеко не все. Как раз для тех, кто не силен в программировании и предназначена программа для создания советника для MT4 и 5.

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

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

Итак, начнем с того, что сама программа для создания советника StrategyQuant является универсальной, так как способна создавать сложные алгоритмы для Forex трейдинга и также опционной торговли и . Уникальность программы в том, что от самого трейдера не требуется каких либо знаний в области торговли и программирования. Результат использования данного алгоритма будет сохранен как советник для metatrader, причем с полным кодом.

Как же работает программа для создания советника StrategyQuant?

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

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

  • , Momentum, CCI и тому подобных),
  • свечных паттернов («Доджи», «Падающая звезда», «Молот» и других),
  • нестандартных индикаторов,
  • временных показателей (определенные дни, часы) и так далее.

Затем необходимо выбрать валютную пару и промежуток времени, а также фильтр отбора прибыльных стратегий (допустимые просадки, прибыльность, убытки и тому подобное). Указав все интересующие нас параметры – запускаем генератор стратегий.


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

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

По большому счету, любая программа для создания советника для MT4 и 5 работает по аналогичным алгоритмам, и основными отличиями такого ПО являются дополнительные функции. Рассматриваемый нами программный конструктор Ensed Cor, предлагает использование минимального набора функций.

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

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


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


Неплохая разработка программы «Expert Advisor» для создания советника Forex

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

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

Чтобы создать торгового робота при помощи программы Expert Advisor и начать торговать, нужно понять такие моменты:


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

Итак, запускаем программу и на торговую диаграмму помещаем несколько блоков «Technical Analysis»:


Для определения торговых условий будущей стратегии, кликните по иконкам «ТА» мышкой и задайте параметры. К примеру, для открытия длинных позиций:


Для открытия коротких позиций:


Теперь необходимо задать параметры «Stop Loss» / «Take Profit», а также величину «Trailing Stop» для блока «BUY»:


То же самое проделайте с блоком «SELL»:



После того, как Ваша диаграмма торговли будет готова, необходимо сгенерировать код торгового робота. Для этого следует выбрать в подменю главного меню пункт «Trading Diagram» и в выпадающем окошке активировать «Generate MQL5 Code»:

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

В заключение хотим рассмотреть еще одну программу современности – «Gordago Forex Optimizer». Данное ПО практически не отличается от платформы metatrader, при этом сам процесс создания программных модулей реализован достаточно удобно.

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


Как видите, все очень просто и понятно, хоть конструктор и не на русском. Все стратегии, данный конструктор сохраняет с расширением «.gso».

Создаем советник в программе Forex ЕА generator для MT4

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

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

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

Как работает конструктор советников форекс

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

В общем случае можно выделить несколько способов создания советника:

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

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

Краткий обзор конструкторов советников

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

Программа-конструктор Ensed Cor предлагает минимальный необходимый набор функций для создания МТС. В демо-версии возможности программы существенно ограничены – нельзя использовать пользовательские индикаторы, к тому же визуально не отображаются созданные условия для заключения и сопровождения позиции. К достоинствам Ensed Cor можно то, что советник сохраняется в привычном для MT4 расширении.

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

Forex Strategy Builder можно назвать одним из лучших в области конструирования советников. Информация о условиях, используемых в МТС располагается в центральной части экрана. В этом же окне результат построения торгового робота отображается графически, а в левой нижней части экрана расположено окно с результатами тестирования МТС. Конструктор советников форекс работает с базой данных MetaTrader4, так что проблем с использованием созданного робота не возникнет.

Создание торговой стратегии на примере конструктора Forex Strategy Builder

Для работы этой программы понадобится установленный торговый терминал MetaTraider4, Forex Strategy Builder пользуется базой данных MT4. Рабочее окно при создании торгового робота можно условно разделить на 3 зоны:

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

Блоки, описывающие правила стратегии, располагаются в определенной последовательности (приведено описание сверху вниз):

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

Также этот конструктор советников форекс позволяет сразу же после создания протестировать созданный советник. При этом будет использоваться архив котировок MT4, поэтому перед тестированием лучше заново загрузить архив котировок из торгового терминала (вкладка Market–Import MT4 History Data).

Особенности использования советников, созданных с помощью конструктора

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

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

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

Социальные кнопки для Joomla

Популярное:

  • 14.11.2013 06:32 | Индикатор разворота - определяем конец тренда 52758
  • 02.04.2015 10:04 | Индикатор VSA читает рынок как открытую книгу 49619
  • 13.12.2013 01:48 | Торговля внутри дня - часовая стратегия форекс 38800

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

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

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

Возможности конструктора

Программа Mission Automate позволяет превращать идеи в готовых торговых роботов. Интуитивно понятный графический интерфейс с технологией "drag and drop" делает процесс легким и доступным. Создание советника выглядит как сборка схемы из готовых блоков (элементов) и их соединение логическими связями. Когда схема создана, ее можно немедленно запустить в работу или автоматически конвертировать в код на MQL5 для дальнейшего использования в тестере стратегий или на реал-тайм графиках.

Перечислю лишь часть доступных в конструкторе элементов.

  • Все стандартные индикаторы платформы MetaTrader.
  • Пользовательские индикаторы.
  • Открытие / закрытие / модификация позиции (группы позиций).
  • Установка / отмена / модификация отложенного ордера (группы ордеров).
  • Управление сделками: калькулятор лота, безубыток, трейлинг-стоп.
  • Доступ к торговой истории (информация о закрытых сделках).
  • Элементы для получения различной информации о ценовой истории.
  • Данные последних тиков для различных инструментов.
  • Различные арифметические операции и преобразования цен.
  • Логические операции.
  • Переменные / переключатели.
  • Операции со временем.
  • Различная информация о торговых инструментах.
  • Информация о счете (баланс, средства, свободная маржа и др.).
  • Уведомления: Alert, Лог, Push и комментарий на графике.
  • Элементы для создания входных параметров советника, которые видны в его настройках и могут быть оптимизированы в тестере стратегий.

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

  • Советники с использованием технических индикаторов.
  • Стратегии на основе Price Action.
  • Советники на свечных паттернах
  • Стратегии на уровнях поддержки и сопротивления.
  • Различные виды сеточных советников.
  • Системы с использованием методов Мартингейла.
  • Утилиты для контроля открытых позиций.
  • Системы уведомлений.
  • Помощники для управления позициями и money management.

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

Работа с программой

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

  1. Формирование торговой стратегии в голове трейдера- творческая работа.
  2. Оформление стратегий в виде свода правил "на бумаге" - формализация стратегии, или подготовка технического задания.
  3. Превращение этих правил в машинный код и исполняемый файл торгового робота - программирование советника.

Большинство трейдеров могут успешно самостоятельно справиться с пунктами №1 и №2. Описываемый в данной статье продукт позволяет выполнить и пункт №3, что делает алготрейдинг доступным для любого трейдера.

Конструктор Mission Automate позволяет создавать свои стратегии "с нуля" или на основе одного из готовых шаблонов / примеров, что гораздо проще.

На видео ниже представлен весь процесс создания советника "с нуля". В данном примере создается классическая стратегия на основе двух скользящих средних.

На видео представлены следующие шаги (все они будут более подробно описаны далее).

  • Построение схемы из элементов.
  • Соединение элементов логическими связями.
  • Настройка параметров элементов и связей.
  • Автоматическая генерация.mq5 файла советника.
  • Компиляция кода и получение исполняемого.ex5 файла.
  • Запуск и проверка советника в тестере стратегий.


Стратегии собираются из блоков / модулей. Эти блоки называются элементы .

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

Элементы могут быть соединены между собой логическими связями .

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

Все созданные заготовки располагаются на панели заготовок .

Элементы перетаскиваются с помощью "drag and drop".

Группа элементов и связей образует схему .

Схема может быть создана с помощью шаблона .

Все доступные шаблоны расположены на панели шаблонов .

Новую схему можно создать с использованием одного из имеющихся шаблонов или полностью "с нуля".

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

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


Чтобы добавить к схеме новые элементы, их нужно перетащить на нее с панели элементов.

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

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


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

Элементы можно условно разделить на три группы.

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

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

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

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


Картинка выше показывает, как выглядела бы утилита, оповещающая о наступлении нового бара.

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

Некоторые действия могут применяться к группе элементов.

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

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


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

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

Стратегию можно кратко описать следующим образом.

Покупаем, когда быстрая скользящая средняя (МА) пересекает медленную МА снизу вверх. Продаем, когда быстрая МА пересекает медленную сверху вниз. Закрываем позиции при наступлении противоположного сигнала, а также с помощью Stop Loss и Take Profit.

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

  • Скользящие средние строим по ценам закрытия свечей. Работаем только со сформированными барами. Торговые действия предпринимаем на открытии бара, следующего за появлением сигнала.
  • Периоды быстрой и медленной средних должны быть вынесены во входные параметры советника.
  • Сигнал на покупку (и закрытие продаж) - состояние, когда на предыдущем баре быстрая МА была ниже медленной, а на текущем стала выше неё.
  • Сигнал на продажу (и закрытие покупок) - состояние, когда на предыдущем баре быстрая МА была выше медленной, а на текущем стала ниже неё.
  • Одновременно может быть открыта только одна позиция.
  • Торговля будет вестись постоянным лотом. Размер торгового лота должен быть вынесен во входные настройки советника.
  • Значения Stop Loss и Take Profit в пунктах должны быть вынесены во входные параметры эксперта.
  • Советник должен работать только с тем инструментом, на график которого он помещен. Таймфрейм для расчета индикаторов должен соответствовать периоду текущего графика.
  • Должна быть обеспечена возможность работы нескольких советников на одном счете с помощью уникального идентификатора Magic Number. Этот параметр должен быть вынесен во входные настройки советника.
  • Должна быть возможность задавать пользовательский комментарий для позиций советника.

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

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

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

Период индикатора - целое число. Будем использовать соответствующий элемент. Создадим новую схему. Добавим в нее 2 элемента, дадим им названия и настроим их значения. Для быстрой МА установим значение по умолчанию =14, а для медленной =28. Эти значения можно в дальнейшем оптимизировать в тестере стратегий.


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

Нам понадобятся два элемента Moving Average .

Добавим их в нашу схему и соединим элементы периодов индикаторов с параметрами Период Индикатора . После этого схема будет выглядеть так:


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

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

Для получения значения индикатора служит элемент Значение Индикатора . Добавим 4 таких элемента в нашу схему и создадим соответствующие связи.

Бары нумеруются от настоящего к прошлому. Текущий бар, который еще не сформирован, имеет номер 0 . Номер 1 присваивается предыдущему сформированному бару, номер 2 - бару перед ним.

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


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

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


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

  • быстрая МА НЕ была выше медленной на предыдущем баре
  • быстрая МА стала выше медленной на текущем баре.

Для проверки одновременного выполнения этих условий будем использовать элемент логическое И . Этот элемент выдает значение "истина", если ВСЕ условия выполнены, и значение "ложь", если хотя бы одно из них не выполнено.

Добавим два таких элемента в нашу схему и присоединим оба элемента Сравнение к каждому из них.

При этом нам нужно будет "перевернуть" некоторые связи. Элемент Сравнение выдает "истину", если Быстрая МА была выше Медленной МА на предыдущем баре, а нам нужно проверить что она НЕ была выше. Поэтому мы перевернем выходное значение с помощью настройки соответствующих связей в параметрах элементов. Перевернутые связи обозначаются на схеме красным цветом.


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

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

Нам необходим один такой элемент для покупок и один для продаж. Добавим два этих элемента на схему и настроим их соответствующим образом:


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


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

  1. Триггер для открытия покупки - (1) Нет открытых покупок и (2) есть сигнал на покупку
  2. Триггер для открытия продажи - (1) Нет открытых продаж и (2) есть сигнал на продажу
  3. Триггер для закрытия покупки - (1) Есть открытая покупка и (2) есть сигнал на продажу
  4. Триггер для закрытия продажи - (1) Есть открытая продажа и (2) есть сигнал на покупку

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

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


Триггеры готовы. Осталось добавить торговые элементы.

Для открытия позиции используется элемент Открыть Сделку . Нам нужно по одному для открытия продаж и покупок.

Для закрытия сделок используется элемент Закрыть Группу Сделок . Здесь тоже нужно по одному для закрытия продаж и закрытия покупок.

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


Торговая логика советника полностью готова. Осталось сделать так, чтобы торговый лот, magic, комментарий сделок и значения Stop Loss/Take Profit можно было настраивать из входных параметров советника. Для этого нам опять понадобятся элементы из группы Входные Параметры .

Торговый лот задается десятичным числом, комментарий - строкой , а magic, stop loss и take profit - целыми числами. Добавим эти элементы в схему и присоединим их к соответствующим параметрам торговых элементов.


Схема готова. Теперь необходимо создать файл советника.

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


Мы готовы к генерации кода и к созданию файла советника. Весь процесс показан на картинке ниже и состоит из следующих шагов.

  1. Генерация файла советника через меню файлового навигатора программы.
  2. Открытие готового файла исходного кода советника (.mq5) в программе MetaEditor.
  3. Компиляция советника и получение файла эксперта (.ex5).


После успешной компиляции в той же папке, где находится файл исходного кода (.mq5), появится файл советника с расширением.ex5 и тем же названием, что и файл исходного кода.

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

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


Советник готов и полностью соответствует первоначальным правилам торговой стратегии!

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

Открываем позицию в любом направлении начальным лотом. Устанавливаем Stop Loss и Take Profit равными друг другу. Если позиция закрылась в профит, то следующая открывается опять с начальным лотом. Если позиция закрылась в убыток, то следующая сделка должна быть увеличенного объема, чтобы при закрытии в плюс компенсировать предыдущие потери.

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

  • Первая сделка открывается в направлении, заданном пользователем (входной параметр) и с начальным лотом (входной параметр).
  • Для открытой позиции устанавливаются одинаковые stop loss и take profit в пунктах (входной параметр).
  • Если сделка закрывается в профит, следующая сделка открывается в противоположном направлении с начальным лотом.
  • Если сделка закрывается в убыток, следующая сделка открывается в противоположном направлении с увеличенным лотом (Lot Multiplier - входной параметр).
  • Должна быть возможность задавать комментарий для сделок советника (входной параметр Comment).
  • Должна быть предусмотрена возможность одновременной работы нескольких советников (входной параметр Magic).
  • Советник должен торговать инструментом графика, на который он установлен. Таймфрейм не имеет значения.

Приступим к созданию этого советника с помощью конструктора.

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

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


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


Если позиция есть, для неё нужно установить Стоп Лосс и Тейк Профит.

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

Установку (модификацию) уровней СЛ и ТП обеспечивает элемент Изменить Группу Сделок .

Кроме этого, добавим элементы для входного параметра с Комментарием к сделкам и для входного параметра со значением величины СЛ и ТП в пунктах.


Для определения типа следующей сделки нужно знать направление последней закрытой позиции. Для доступа к информации о позиции воспользуемся элементом Информация о Сделке. Для этого нужно знать тикет последней сделки. Его можно получить с помощью элемента Информация о Группе Сделок.


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


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

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


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


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

Для определения условия начала нового цикла воспользуемся элементом логическое ИЛИ . Он возвращает "истину", если хотя бы одно из условий выполнено, и "ложь" - если все условия не выполнены. Нам нужно проверить два условия. (1) Условие закрытия сделки в плюс мы возьмем из элемента Сравнение, где проверяется, была ли прибыль меньше нуля (эту связь к элементу ИЛИ необходимо перевернуть). (2) - проверку того, что это первая сделка, создадим с помощью элемента И, куда присоединим перевернутые значения из элементов Равно. Ведь если предыдущая сделка - это не покупка и не продажа - значит, это как раз та ситуация, когда предыдущей сделки просто нет.


Если же сделка была открыта, то нужно вычислить новый объем. Для этого воспользуемся элементом Арифметика . Он позволяет производить различные математические операции с двумя числами. В данном случае будем умножать лот предыдущей сделки на параметр Множитель Лота, который создадим с помощью элемента Входной Параметр. Для нашей стратегии установим его значение по умолчанию, равное =2.


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

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


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

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

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


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


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

Пример №3: Утилита "Закрытие группы сделок по совокупной прибыли"

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

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

Утилита должна удовлетворять следующим требованиям.

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

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

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

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


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


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

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

Закрытие группы будем осуществлять элементом Закрыть Группу Сделок .


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

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

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

Добавим элементы на схему и настроим их, как показано ниже:


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

Алерт MetaTRader 5 реализован с помощью элемента .


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

Если нужно, чтобы эти действия выполнялись в определенном порядке - например, чтобы Алерт был создан ДО закрытия сделок, - нужно воспользоваться опцией Упорядочить Окончания . Тогда появится диалоговое окно, как и в случае с организацией порядка входных параметров, в котором можно будет перемещать элементы вниз/вверх.


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

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


Заключение

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

Скачать программу в Маркете и попробовать её в действии - бесплатно и легко. В комплекте идут 5 готовых бесплатных советников.

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

Сделаем алготрейдинг доступным каждому!