in

Программирование форекс стратегий

Содержание статьи

«Программирование на MQL4» — Курс молодого бойца

Пошаговый видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт».

Без изучения гор литературы. Без занудных терминов. Абсолютно бесплатно.

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

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

Однако, заказать советник или индикатор на языке MQL у программиста стоит от 100$ и выше. Кроме этого вы потратите недели на переписку с исполнителем, уточняя мелкие детали и дорабатывая скрипты.

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

Возможно ли это?

Возможно! И о том, как это сделать, Вы узнаете из пошагового видеокурса «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт».

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

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

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

Кому будет полезен курс?

  • Форекс Новичкам, которые хотят автоматизировать свои ежедневные рутинные действия;
  • Опытным трейдерам, которые уже знакомы с программированием на других языках.

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

Об Авторе

Автор курса — Сергей, известный на нашем форуме под ником xbms. Долгое время занимался разработкой систем для управления бизнесом, созданием универсальных систем, в некотором роде это были аналоги 1С.

Образование: Высшее, Киевский политехнический институт

Заниматься программированием начал в 13 лет (1988-й год), таким образом опыт работы составляет уже 25 лет.
Первые компьютеры: Yamaha MSX, ЕС1840, БК0010, ZX-Spectrum

Языки программирования: Assembler, C++, Delphi, SQL(MSSQL, MySQL, Interbase), 1C, MQL

В настоящее время работает в бельгийской компании в России на должности Ведущего программиста.

За годы работы написаны тонны кода, это несколько десятков серьёзных проектов и более сотни мелких (с затратами 2-3 месяца).

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

Из курса Вы узнаете:

  • Основы языка MQL;
  • Базовые структуры — циклы и функции языка;
  • Важные аспекты программирования, без знания которых не обойтись
  • Как добавлять в свои советники конструкции кода, созданные другими.
  • Создадите своего первого советника;
  • Автоматизируете ручной рутинный труд;
  • Создадите советника на Мартингейле;
  • Напишете собственный Трейлинг стоп для советников;
  • Разработаете собственные скрипт.

Кроме этого! Вы закрепите теоретический материал на практике — к каждому уроку прилагается домашнее задание .

Преимущества курса перед другими аналогичными продуктами:

  • Простота. Каждое видео – это четкая пошаговая инструкция, решающая конкретную задачу. А сами уроки рассказаны простым и понятным даже для начинающего языком;
  • Пошаговость. Вас возьмут буквально «за руку» и шаг за шагом покажут и расскажут, как создавать своих собственных роботов на языке MQL;
  • Практическая направленность курса. Каждое видео дополняют домашние задания;
  • Бесплатность. Курс бесплатен, однако в сети Вы можете найти аналоги, которые стоят от 5 до 15 тыс.р.

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

  • Избавитесь от рутины при торговле;
  • Научитесь создавать собственные программы, советники;
  • Освоите новый навык — программирование на MQL, с помощью которого Вы сможете зарабатывать деньги, программируя на заказ торговых роботов;
  • Автоматизируете свои действия на Forex.

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

Программирование форекс-роботов без знания языка MQL4

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

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

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

Создание программных кодов

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

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

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

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

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

Помимо встроенного редактора МТ4 существует еще множество платформ для программирования советников с использованием языка С++. Например, платформы WealtLab, StockSharp и TSLab обеспечивают реализацию сразу всех этапов создания экспертов, включая их тестирование.

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

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

Промежуточной по функционалу, между платформами StockSharp и TSLab является платформа WealtLab. Она имеет визуальный редактор, правда, не очень хорошо развитый, и возможность использования языка программирования. Достоинством является отличный тестер стратегий.

Модификация советника

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

Программы для создания эксперта

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

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

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

Полностью в автоматическом режиме эксперты создаются в программе Hlaiman EA Generator. Программа работает с торговой платформой МТ4. Для создания эксперта необходимо добавить на график желаемые инструменты технического анализа и нанести на график стрелки, указывающие места и направления входа в рынок, где осуществил бы вход сам трейдер. После этого программа самостоятельно просчитывает заданные условия входа и разрабатывает алгоритм робота. При этом качество отработки условий входа зависит от качества и количества заданных точек – они должны расставляться строго в соответствии с разработанной стратегией и таких точек должно быть нанесено максимальное количество. К сожалению, программа отсутствует в свободном доступе, что не позволяет провести тестирование созданных с ее помощью советников.

Заключение

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

Читать The X: 10 шагов для программирования своей стратегии!

Описание

The X: 10 шагов для программирования своей стратегии!

Это наиболее частая фраза в поисковых запросах.

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

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

Эта статья поможет Вам в программировании своей стратегии. Программирование советника по индикаторам. Добавление новых сигналов и фильтров.

Открытый код

Очень частым вопросом к нам был вопрос :

  1. Можно ли встроить свои индикаторы в советник?
  2. Сколько стоит открытый код советника?

Не секрет, что у нас есть открытый (Исходный) код нашего советника в продаже. Это сделано для тех трейдеров, которые желают самостоятельно написать советник или встроить свои сигналы.

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

Программирование советников по индикаторам это достаточно трудоемкий процесс.

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

The X — это комплекс блоков и функций для торговли на FOREX, которые используются по всему миру. Мы создали функции, которые используются наиболее часто. Таким образом, советник может реализовать 90 % нужд каждого трейдера.

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

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

Реальная стоимость нашего советника

Если отталкиваться от нашей статьи о том, Сколько стоит работа у программиста, тогда можем посчитать примерную стоимость нашего торгового робота The X:

В нашем советнике более 10 000 строк кода. Это немного. Но обусловлено тем, что мы не пишем советники на ООП. Почему? с ООП вы не знакомы! и Вам будет очень трудно разобраться с ООП!

  1. Стоимость 1 часа работы программиста = 20 $ при программировании функций и алгоритмов!
  2. Стоимость 1 часа исправления ошибок = 5 $.
  3. Стоимость написания текстов и видео = 10 $ (Цена взята с интернета, все инструкции и видео я делаю сам).
  4. Предположим, что написание функций и блоков на The X у нас ушло более 1000 часов!
  5. Программирование сигналов по индикаторам очень легкое занятие. Поэтому будем считать, что на это у нас ушло 10 часов!

Но есть пункты, которые невозможно выполнить сразу:

  1. Отладка функций, на это может уйти еще 1000 часов!
  2. Составление инструкций, видео, продвижение, на это также уходит 1000 часов времени!

Итого мы имеем более 3000 часов потраченного времени!

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

Итоговая стоимость такого советника (на заказ) более 35 000 $! Но наш советник продается в 10 раз дешевле.

Стоимость нашего открытого кода в ДЕСЯТКИ раз меньше!

Такие заказы никогда не выполняются:

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

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

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

Мы очень благодарны нашим клиентам, которые находили ошибки и исправления на протяжении 5 лет, предлагали свои функции и индикаторы для работы советника THE X

Программирование своей стратегии торговли на Форекс

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

Вам не нужно вникать в работу всех функций. Вам это не нужно. Вы можете запрограммировать свою стратегии всего за 10 шагов.

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

Помните: Мы не программируем стратегии для советника бесплатно. Если Вы хотите , чтобы написали Вам код по Вашей стратегии — обращайтесь в раздел Программирование на заказ!

Первые шаги:

  1. Откройте наш исходный код советника, который Вы купили в нашем маркете советников;
  2. Нажмите сочетание клавиш Ctrl+F и вы увидите строку поиска;
  3. Введите название Step — По этому слову, в нашем исходном коде, Вы сможете ориентироваться и быстро написать свою стратегию.
  4. Каждый шаг комментирован и содержит пример
  5. Для того,чтобы научиться программировать свою стратегию, Вы можете поэтапно раскомментировать строки с звездочкой //*

Всего в открытом коде существует 10 шагов для того, чтобы советник работал по вашим индикаторам.

Мы разберем каждый шаг подробно!

Из-за того, что программирование отличается в двух версиях терминала МТ4 и МТ5 , мы также разделим нашу статью на две части:

Программирование THE X для MetaTrader 5

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

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

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

MetaTrader 5 Шаг 0: Шаг загрузки индикаторов в ресурсы!

Здесь мы обязаны добавить , нужные Нам, индикаторы в ресурсы.

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

Правила написания имени маркета: Полное название папок, начиная с Indicators!

Папка обозначается \\

Например:

Если путь к Вашему индикатору выглядит так:

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

«\\Indicators\\Examples\\MACD.ex5»

MetaTrader 5 Шаг 1: Шаг указания имени сигнала!

На этом шаге мы должны внести наш сигнал или стратегию в список возможных сигналов советника.

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

Например:

  1. Вы хотите назвать свою стратегию MY STRATEGY
  2. Номер стратегии также должен быть уникальным. Первые 22 номера заняты сигналами от стандартных индикаторов! Запомните эту цифру, она понадобиться нам в дальнейшем.
  3. Имя также должно быть уникальным. Например: MYSTRATEGY1

В итоге мы должны записать в коде так:

MYSTRATEGY1=77,//MY STRATEGY

Вы также можете добавить еще стратегий, и написать, например, так:

  1. MYSTRATEGY1=77,//MY STRATEGY a
  2. MYSTRATEGY2=78,//MY STRATEGY b
  3. MYSTRATEGY3=79,//MY STRATEGY с

MetaTrader 5 Шаг 2: Шаг указания имени сигнала для вывода имени на экран!

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

Сложного ничего нет! Но вы должны использовать цифры с прошлого шага.

MetaTrader 5 Шаг 3: Шаг указания имени фильтра!

На этом шаге мы должны внести наш фильтр в список возможных фильтров советника.

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

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

Например:

  1. Вы хотите назвать свой фильтр MY FILTER
  2. Номер фильтра также должен быть такой же, как и номер стратегии (Это сделано для того, чтобы в дальнейшем не путаться в цифрах). Первые 22 номера заняты фильтрами от стандартных индикаторов! Запомните эту цифру, она понадобиться нам в дальнейшем.
  3. Имя также должно быть уникальным. Например: MYFILTER1

В итоге мы должны записать в коде так:

MYFILTER1=77,//MY FILTER

Вы также можете добавить еще стратегий, и написать, например, так:

  1. MYFILTER1=77,//MY FILTER a
  2. MYFILTER2=78,//MY FILTER b
  3. MYFILTER3=79,//MY FILTER с

MetaTrader 5 Шаг 4: Шаг указания параметров индикатора или стратегии в внешних переменных!

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

Также сюда можно вынести особые параметры стратегии. Например, уровни пересечения линий, ограничение срабатывания индикатора по МАКС и МИН цене на графике и так далее.

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

MetaTrader 5 Шаг 5: Шаг создания хендлов индикаторов, для загрузки в советник!

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

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

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

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

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

По нашим примерам выше нам нужно сделать так:

Здесь я специально указал только два внешних параметра, 3 параметр этого индикатора InpSignalSMA я заменил цифрой по умолчанию для того, чтобы Вы понимали суть программирования!

По аналогии выше, Вы можете добавить несколько индикаторов и хендлов.

Если в стратегии используется несколько индикаторов, тогда нужно писать несколько индикаторов.

Также и с другими стратегиями, которые вы хотите вставить в советника!

MetaTrader 5 Шаг 6: Шаг объявления переменных для хранения хендлов индикаторов стратегии!

Здесь мы просто указываем названия наших хендлов, которые создавали выше!

Сложного здесь ничего нет.

Хендлы создаются в виде массивов для того, чтобы использовать мультивалютность в советнике и использоваться возможность указания сразу 6 сигналов или фильтров!

MetaTrader 5 Шаг 7: Шаг объявления переменных для хранения данных индикаторов!

Здесь мы просто указываем названия наших данных для буферов!

Сложного здесь ничего нет.

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

В нашем случае, для примера, нам нужно 2 буфера, для сигнальной и главной линии индикатора MACD

MetaTrader 5 Шаг 8: Главный шаг создания стратегии и сигналов для открытия позиций!

Этот шаг очень важен для советника. Хотя и все остальные шаги обязательны, иначе советник не будет работать.

Свои комментарии я указал в коде!

Номер стратегии у нас такой же как и в первых шагах!

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

Этот шаг можно разделить на 3 подшага:

  1. 1. Мы обязаны скопировать буферы данных в наши массивы данных. В параметрах копирования мы должны указать номера линий (В нашем случае это линии индикатора MACD )
  2. Мы используем две линии MAIN и SIGNAL
  3. Вы можете почитать справку о функции CopyBuffer
  4. 2. Программирование стратегии. В данном случае это пересечение двух линий.
  5. Важно: Сигнал для BUY это 1, а для SELL это -1
  6. 3. Здесь мы записываем ту информацию, которая будет выводится в журнал при открытии позиции. Информация о стратегии

Если Вы заполнили все хендлы и буферы правильно, тогда на экране должна появится надпись:

Alert(» Поздравляем! Вы сделали урок, который показывает программирование своей стратегии!»);
Alert(» Congratulations! You have done a lesson that shows the programming of your strategy!»);
Если Вы получили сообщения о ошибке, тогда Вам необходимо узнать причину этой ошибки.

Графический конструктор стратегий. Создание торговых роботов без программирования

Содержание

Введение

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

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

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

Хотя в названии бесплатной версии и есть слово 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.

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

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

Пример №1: Советник «Пересечение Скользящих Средних»

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

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

Покупаем, когда быстрая скользящая средняя (МА) пересекает медленную МА снизу вверх. Продаем, когда быстрая МА пересекает медленную сверху вниз. Закрываем позиции при наступлении противоположного сигнала, а также с помощью 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 и тем же названием, что и файл исходного кода.

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

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

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

Пример №2: Советник «Перевёртыш с Мартингейлом»

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

Открываем позицию в любом направлении начальным лотом. Устанавливаем 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 готовых бесплатных советников.

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

What do you think?

0 points
Upvote Downvote

Total votes: 0

Upvotes: 0

Upvotes percentage: 0.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

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

Выбор брокера форекс

Форекс брокер grand capital