Как самому создать советника или индикатор — Алгоритмический трейдинг, торговые роботы — Справка по MetaTrader 5

Как самому создать советника или индикатор

Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий.

Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть найдены примеры готовых приложений.

Встроенный язык программирования торговых стратегий MQL5 #

В торговую платформу встроен язык программирования торговых стратегий MetaQuotes Language 5. Это — пятое поколение языков MQL. Он позволяет писать советники, автоматизирующие управление торговыми процессами, и реализовывать собственные торговые стратегии. Кроме того, на MQL5 можно создавать пользовательские индикаторы, скрипты и библиотеки функций.

Особенности языка MQL5:

  • Объектная ориентированность;
  • Синтаксис MQL5 похож на синтаксис языка C++;
  • Большое количество функций, необходимых для анализа котировок, управления позициями, вызова технических индикаторов и других;
  • Высокая производительность;
  • Высокий уровень защиты от декомпиляции: новые, сложные алгоритмы шифрования, проверка целостности файлов и сложность самого языка;
  • Поддержка OpenCL, что позволяет использовать видеокарты для выполнения вычисления в MQL5-программах;
  • Интегрированная среда разработки программ MetaEditor, включающая отладчик.

Подробное описание всех конструкций языка и функций приведено в справочнике MQL5. Также всю интересующую информацию о MQL5 можно найти на сайте сообщества разработчиков https://www.mql5.com.

Редактор для разработки торговых приложений MetaEditor #

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

  • Мастер MQL5 для создания шаблонов и готовых торговых роботов
    В MetaEditor встроен Мастер MQL5, который помогает быстро создавать MQL5-программы. Благодаря Мастеру MQL5, трейдер может создать советники, не обладая знаниями в области программирования. Все что нужно сделать — это выбрать торговые сигналы, которые будет использовать советник, алгоритм мани-менеджмента и трейлинг стопа. Код советника будет сгенерирован автоматически на основе выбранных параметров.
    Помимо этого, Мастер MQL5 позволяет создавать шаблоны MQL5-программ, что облегчает работу программиста.
  • Помощь при работе с исходным кодом
    MetaEditor распознает различные конструкции языка: выдает подсказки по использованию функций и подсвечивает различные элементы кода программы. Таким образом, сам редактор облегчает ориентирование в коде торговых программ и ускоряет их разработку.
  • Отладка для поиска ошибок
    MetaEditor позволяет осуществлять отладку программ, что значительно облегчает поиск ошибок. Можно пошагово выполнять исходный код и следить за значениями переменных.
  • Профилирование для оптимизации кода
    В редакторе также доступна возможность профилирования. Вы сможете выявить наиболее медленные функции в исходном коде и максимально оптимизировать работу торговых программ.
  • Статьи о программировании и библиотека исходных кодов
    Прямо в редакторе вы можете найти множество обучающий статей о программировании на MQL5. Помимо этого имеется доступ к огромной библиотеке бесплатных программ для автотрейдинга в виде исходных кодов.
  • MQL5 Storage — онлайн хранилище с поддержкой версионности
    Хранилище предоставляет множество преимуществ: безопасное хранение файлов и возможность восстановления при выходе вашего компьютера из строя, доступ к своим кода с любого компьютера при помощи аккаунта MQL5.community, возможность совместной работы над проектами.

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

Вам будет интересно  Индикаторы уровней поддержки и сопротивления без перерисовки

Статьи по разработке торговых приложений #

На сайте MQL5.community доступна обширная библиотека статей по программированию на MQL4/MQL5. Статьи являются отличным справочным материалом по созданию программ, в них рассматривается множество практических задач по алготрейдингу. Новые статьи выходят каждую неделю.

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

Статьи по программированию на MQL4/MQL5

Какие бывают типы приложений на MQL5 #

Существует три основных типа торговых приложений.

Советники

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

Все советники хранятся в папке /MQL5/Experts торговой платформы.

Пользовательские индикаторы

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

Все индикаторы хранятся в папке /MQL5/Indicators торговой платформы.

Скрипты

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

Все скрипты хранятся в папке /MQL5/Scripts торговой платформы.

Сервисы

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

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

Все сервисы хранятся в папке /MQL5/Services торговой платформы.

Внутри папок Experts, Indicators, Scripts и Services программы могут быть рассортированы по подпапкам, при этом в окне «Навигатор» будет отображаться структура их размещения.

Как создать и запустить торговое приложение #

Нажмите » Создать в редакторе» в контекстном меню окна «Навигатор» в разделе «Советники», «Индикаторы» или «Скрипты». Также для запуска MetaEditor можно нажать F4.

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

После этого будет запущен MetaEditor, и в нем автоматически откроется «Мастер MQL5». Он позволит сгенерировать шаблон нужной программы, что быстро приступить к разработке. Для примера создадим простой скрипт, который будет выводить в журнал надпись «Hello world».

Мастер MQL5 сгенерирует шаблон приложения

В полученном шаблоне напишем код Print ( «Hello World» ); и произведем компиляцию клавишей F7, чтобы получить исполняемый файл. Исполняемый файл имеет расширение EX5, именно такой файл может быть запущен в торговой платформе.

Компиляция и ее результаты

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

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

Запуск скрипта в торговой платформе

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

Как изменить торговое приложение #

Чтобы приступить к редактированию торгового робота или пользовательского индикатора, нажмите » Изменить» в его контекстном меню в окне «Навигатор» или выделите его и нажмите «Enter». При этом будет открыт MetaEditor, в который уже будет загружен исходный код выбранного индикатора. После изменения индикатора скомпилируйте его повторно (F7), иначе в платформе будет использоваться предыдущая, неизмененная версия.

Вам будет интересно  Надежные стрелочные индикаторы для бинарных опционов

Как завершить работу торгового приложения #

Существует множество способов завершить работу торгового приложения в платформе.

Как правильно написать советник (индикатор) на MQL4? А также как отладить и протестировать его своими руками?

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

MQL4 индикатор

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

2 ЛУЧШИХ БРОКЕРА ОПЦИОНОВ ПО ДАННЫМ НЕЗАВИСИМОГО РЕЙТИНГА

Не требуется верификация! | обзор | отзывы | НАЧАТЬ ТОРГОВЛЮ С 10$ Депозит от 5$. Новый брокер! | обзор | отзывы | ПОПРОБОВАТЬ СИГНАЛЫ

РЕКОМЕНДУЕМ: ОНИ ОСТАЮТСЯ ЛИДЕРАМИ НА FOREX!

Советы опытных программистов: как написать собственный индикатор на MQL4?

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

создать индикатор

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

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

Опытные программисты при написании советника или индикатора, советуют новичкам обратить внимание на следующие моменты:

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

собственный советник MQL4

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

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

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

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

Вам будет интересно  Бесплатный форекс тестер FXSimulator–скачать | инструкция | ManOfTrade

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

советы по созданию MQL4

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

ЛУЧШИЕ ФОРЕКС БРОКЕРЫ ПО ДАННЫМ «ИНТЕРФАКС»

2007 год. БОНУС $1500 НА СЧЕТ. | СЕРВИС FXCOPY | обзор/отзывы 1998 год. ECN брокер! CASHBASK ОТ АЛЬПАРИ | обзор / отзывы 2007 год. FinaCom. КЕШБЭК ДО 14$ С ЛОТА! | обзор / отзывы 1997 год. Нацбанк РБ. Не для РФ! 50.000$ НА ДЕМО | обзор / отзывы

А ТАКЖЕ ЛУЧШИЕ БРОКЕРЫ БИНАРНЫХ ОПЦИОНОВ В 2021:

Депозит от 10$! ТОРГОВЛЯ БЕЗ ВЕРИФИКАЦИИ | обзор / отзывы Копирование сделок! 10.000 НА ДЕМО СЧЕТ | обзор / отзывы

2 способа: как легко создать советник на MQL4 по зигзагу или на основе других индикаторов?

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

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

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

создание советника на MQL4

Во-вторых, к созданию советников можно привлечь сторонние приложения, являющиеся аналогами “мастеров настройки” в операционных системах Windows и MacOS.

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

Как облегчить задачу начинающему трейдеру по написанию собственных индикаторов на MQL4?

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

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

Создание простого советника на MQL4

ТОП БРОКЕРОВ, ПРИЗНАННЫХ НЕЗАВИСИМЫМИ РЕЙТИНГАМИ

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

ТОП ФОРЕКС БРОКЕРОВ РОССИЙСКОГО РЕЙТИНГА НА 2021 ГОД:

2007 год. FinaCom. КОПИРОВАТЬ СДЕЛКИ ТРЕЙДЕРОВ | обзор/отзывы 1998 год. FCA, НАУФОР. | ВСЕ АКЦИИ И КОНКУРСЫ | обзор/отзывы

https://www.metatrader5.com/ru/terminal/help/algotrading/autotrading

Как правильно написать советник (индикатор) на MQL4? А также как отладить и протестировать его своими руками?