Как самому создать советника или индикатор
Для разработки торговых систем в платформу встроен собственный язык программирования 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. Чтобы найти интересующий материал, воспользуйтесь онлайн-поиском.
Какие бывают типы приложений на MQL5 #
Существует три основных типа торговых приложений.
Советники
Советники — механические торговые системы, позволяющие полностью автоматизировать аналитико-торговую деятельность для эффективной работы на финансовых рынках. Они позволяют оперативно проводить технический анализ ценовых данных и на основе полученных сигналов управлять торговой деятельностью. Они также помогают четко придерживаться торговой стратегии, исключив роль эмоционального фактора.
Все советники хранятся в папке /MQL5/Experts торговой платформы.
Пользовательские индикаторы
Пользовательские индикаторы — самостоятельно написанные технические индикаторы, предназначенные для анализа динамики цен. На основе алгоритмов индикаторов строятся торговые тактики и разрабатываются советники. Пользовательские индикаторы предназначены только для анализа динамики цен финансовых инструментов. Индикаторы не могут торговать и не имеют доступа к графикам.
Все индикаторы хранятся в папке /MQL5/Indicators торговой платформы.
Скрипты
Скрипты — скриптом называется программа, написанная на языке MQL5 и предназначенная для одноразового выполнения любых действий. Скрипт может выполнять как аналитические, так и торговые функции. В отличие от советников, скрипты исполняются по запросу. Иными словами, если советник работает практически постоянно, то скрипт, отработав один раз, самостоятельно завершает работу.
Все скрипты хранятся в папке /MQL5/Scripts торговой платформы.
Сервисы
Сервисы позволяют использовать собственные источники ценовых данных для платформы — передавать цены от внешних систем в режиме реального времени так, как это делают торговые серверы брокеров. Также сервисы можно использовать для выполнения других обслуживающих задач в фоновом режиме.
В отличие от советников, индикаторов и скриптов, сервисы не привязаны к конкретному графику. Они работают в фоновом режиме и начинают работу автоматически при запуске терминала (если они не были принудительно остановлены).
Все сервисы хранятся в папке /MQL5/Services торговой платформы.
Внутри папок Experts, Indicators, Scripts и Services программы могут быть рассортированы по подпапкам, при этом в окне «Навигатор» будет отображаться структура их размещения.
Как создать и запустить торговое приложение #
Нажмите » Создать в редакторе» в контекстном меню окна «Навигатор» в разделе «Советники», «Индикаторы» или «Скрипты». Также для запуска MetaEditor можно нажать F4.
После этого будет запущен MetaEditor, и в нем автоматически откроется «Мастер MQL5». Он позволит сгенерировать шаблон нужной программы, что быстро приступить к разработке. Для примера создадим простой скрипт, который будет выводить в журнал надпись «Hello world».
В полученном шаблоне напишем код Print ( «Hello World» ); и произведем компиляцию клавишей F7, чтобы получить исполняемый файл. Исполняемый файл имеет расширение EX5, именно такой файл может быть запущен в торговой платформе.
Результаты компиляции выводятся в журнал редактора.
В соответствии с типом программы, исходный код был сохранен в папку MQL5Scripts. В этой же папке был создан и исполняемый файл. Теперь можно вернуться в торговую платформу и запустить созданный скрипт.
Особенности работы с программами для автоматического трейдинга описаны в разделе «Торговые советники и собственные индикаторы».
Как изменить торговое приложение #
Чтобы приступить к редактированию торгового робота или пользовательского индикатора, нажмите » Изменить» в его контекстном меню в окне «Навигатор» или выделите его и нажмите «Enter». При этом будет открыт MetaEditor, в который уже будет загружен исходный код выбранного индикатора. После изменения индикатора скомпилируйте его повторно (F7), иначе в платформе будет использоваться предыдущая, неизмененная версия.
Как завершить работу торгового приложения #
Существует множество способов завершить работу торгового приложения в платформе.
Как правильно написать советник (индикатор) на MQL4? А также как отладить и протестировать его своими руками?
Многие трейдеры, сейчас задумываются над созданием собственного советника – изготовленного своими руками и идеально соответствующего их потребностям, а не написанного за деньги профессиональным программистом.
И эта задумка, стоит сразу отметить, вполне осуществима, еще и обладает рядом неоспоримых преимуществ: вы сэкономите на услугах фрилансеров, еще и опыт бесценный получите, который в дальнейшем пригодится для создания аналогичных алгоритмов.
2 ЛУЧШИХ БРОКЕРА ОПЦИОНОВ ПО ДАННЫМ НЕЗАВИСИМОГО РЕЙТИНГА
Не требуется верификация! | обзор | отзывы | НАЧАТЬ ТОРГОВЛЮ С 10$ Депозит от 5$. Новый брокер! | обзор | отзывы | ПОПРОБОВАТЬ СИГНАЛЫ
РЕКОМЕНДУЕМ: ОНИ ОСТАЮТСЯ ЛИДЕРАМИ НА FOREX!
Советы опытных программистов: как написать собственный индикатор на MQL4?
Самое основное, с чего придется начать, это получение базовых знаний о языке программирования MQL4. Много полезной информации по созданию советника опубликовано на самой платформе MetaTrader 4. Чтобы ее получить, нужно зайти в справочную систему терминала и нажать клавишу F1.
Новичкам проще всего будет выбрать один из двух путей:
Первый – это разбор уже готовой программы, используемых там команд, принципов их действия. Так вы на наглядном примере сможете увидеть, как именно инициируемые вами действия влияют на работу алгоритма. Второй вариант – написание простейших торговых алгоритмов, чтобы уже потом, по мере того как освоите основные функции, начать совершенствовать их, снабжать дополнительными командами и вносить изменения в старые.
Опытные программисты при написании советника или индикатора, советуют новичкам обратить внимание на следующие моменты:
- Закончив с готовым куском кода или функцией, если есть такая возможность, обязательно протестируйте его работу и выявите возможные ошибки. Если не уделять проверкам время, в будущем, когда размер программы возрастет и будет насчитывать внушительное количество строчек с кодом, поиск проблем станет проблематичным.
- Если кусок кода часто дублируется, стоит представить его как отдельную функцию. Итоговый результат не будет выглядеть так громоздко.
- Постарайтесь избавиться от перфекционизма. Стремление к написанию идеально оптимизированного кода лишь отнимет у вас кучу времени, взамен не предоставив никаких плюсов. Новичок должен сосредоточиться на основной задаче – создании алгоритма, который будет выполнять возложенные на него функции. А насколько он будет громоздким в плане содержимого – это уже проблема второстепенного характера. Оптимизируете его уже в процессе использования, в свободное время.
Собственный алгоритм смотрится куда выгоднее, чем готовые решения, которые во внушительном разнообразии представлены на рынке торговых советников. Связано это с тем, что трейдеру гораздо проще понять принципы функционирования своей программы, чем созданной чужими руками, и вносить туда необходимые для успешной работы поправки.
Создатели популярных советников часто не информируют общественность о некоторых нюансах работы их программ, что часто ограничивает участников валютного рынка.
Как отладить и протестировать советник на MQL4 созданный своими руками?
Написать MQL4 индикатор или советник человеку, который знаком с данным языком программирования и встроенным в него функционалом, не составляет никакого труда. Вы сами в этом убедитесь, ознакомившись с тематическими книгами и руководствами. Но само непосредственное написание кода является лишь первым этапом.
Следом за ним идет продолжительный процесс отладки и тестирование на предмет наличия всевозможных ошибок. Осложняется все тем, что платформа MetaTrader4 не содержит встроенный отладчик.
Создателям остается лишь мониторить результаты торговли автоматического алгоритма, занимаясь неинтересным и утомительным ручным просмотром логов, корректируя код по ходу дела. Занимающимся разработкой простых торговых советников людям еще повезет – алгоритм с несколькими командами проверить и оптимизировать можно быстро, а вот с громоздкими механическими торговыми системами дела обстоят уже не так радужно. Их программный код насчитывает многие тысячи строк – вероятность что-то упустить и допустить ошибку очень высока.
ЛУЧШИЕ ФОРЕКС БРОКЕРЫ ПО ДАННЫМ «ИНТЕРФАКС»
2007 год. БОНУС $1500 НА СЧЕТ. | СЕРВИС FXCOPY | обзор/отзывы 1998 год. ECN брокер! CASHBASK ОТ АЛЬПАРИ | обзор / отзывы 2007 год. FinaCom. КЕШБЭК ДО 14$ С ЛОТА! | обзор / отзывы 1997 год. Нацбанк РБ. Не для РФ! 50.000$ НА ДЕМО | обзор / отзывы
А ТАКЖЕ ЛУЧШИЕ БРОКЕРЫ БИНАРНЫХ ОПЦИОНОВ В 2021:
Депозит от 10$! ТОРГОВЛЯ БЕЗ ВЕРИФИКАЦИИ | обзор / отзывы Копирование сделок! 10.000 НА ДЕМО СЧЕТ | обзор / отзывы
2 способа: как легко создать советник на MQL4 по зигзагу или на основе других индикаторов?
Есть два способа облегчить задачу по созданию автоматических советников, которые можно использовать совместно:
Во-первых, это использование готовых блоков (библиотек), созданных другими трейдерами/программистами. Куски кода часто выкладываются профессионалами на профильных ресурсах, форумах и блогах, откуда их легко скопировать.
От вас требуется лишь понимание того, как именно эта часть алгоритма будет функционировать в рамках вашего замысла по созданию программы.
Во-вторых, к созданию советников можно привлечь сторонние приложения, являющиеся аналогами “мастеров настройки” в операционных системах Windows и MacOS.
Все шаги по созданию кода будут сопровождаться подсказками и объяснениями, что позволит неопытным новичкам написать простенький алгоритм, особо не вникая в тонкости языка программирования MQL4 (хотя, конечно, ознакомиться с обучающей литературой и парой-тройкой статей на тему все-таки настоятельно рекомендуется).
Как облегчить задачу начинающему трейдеру по написанию собственных индикаторов на MQL4?
Из всего сказанного выше можно понять, что написание собственных советников и индикаторов MQL4 по зигзагу или на основе других индикаторов – это вполне посильная для большинства трейдеров задача. Нужно лишь начать с самых основ, изготавливая простейшие алгоритмы с минимумом команд и функций.
В интернете предоставлено немало полезной информации и вспомогательных средств, позволяющих облегчить написание кода и его последующую отладку. Нужно только немного попрактиковаться и все получится. Успехов!
Создание простого советника на MQL4
ТОП БРОКЕРОВ, ПРИЗНАННЫХ НЕЗАВИСИМЫМИ РЕЙТИНГАМИ
Система копирования сделок. | обзор | отзывы | ТРЕЙДИНГ С 5 $ Не требуется верификация! | обзор/отзывы | НАЧАТЬ ТОРГОВЛЮ С 10$
ТОП ФОРЕКС БРОКЕРОВ РОССИЙСКОГО РЕЙТИНГА НА 2021 ГОД:
2007 год. FinaCom. КОПИРОВАТЬ СДЕЛКИ ТРЕЙДЕРОВ | обзор/отзывы 1998 год. FCA, НАУФОР. | ВСЕ АКЦИИ И КОНКУРСЫ | обзор/отзывы
https://www.metatrader5.com/ru/terminal/help/algotrading/autotrading