Статьи по алгоритмическому автоматическому трейдингу в MetaTrader 4 и программированию на языке MQL4

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

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

Например, написание кода чего-то такого простого, как трейлинг-стоп, может быть пугающим для начинающего MQL-программиста. MQL4 расшифровывается как MetaQuotes Language 4 и является языком программирования, включенным в MetaTrader 4. Если вы не знаете, что такое язык программирования, значит, вы никогда раньше не писали и не разрабатывали код, и это нормально.

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

Но обучение эффективному программированию торговых стратегий на MQL — это процесс постоянных проб и ошибок. Объектно-ориентированное программирование позволяет легко создавать и использовать АТД. Объектно-ориентированное программирование использует механизм наследования. Наследование выгодно тем, что позволяет получать производные типы из уже определенных пользователем типов данных. Так, для создания фигур в тетрисе удобно сначала создать базовый класс Shape, на основе которого получены производные типы всех семи возможных в тетрисе фигур.

Переменные содержат данные, необходимые для работы вашей программы. В них могут сохраняться цены, настройки и значения индикаторов. MQL является https://lahore-airport.com/chto-takoe-mql4/ языком относительно низкого уровня, поэтому программисту необходимо создавать собственные процедуры для обработки торговых функций.

Объектно-ориентированное программирование

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

  • Здесь вы найдёте полное описание языка, статьи по самой различной тематике, форум, программы автотрейдинга, написанные на MQL4, и многое другое.
  • При компиляции библиотек в режиме strict для каждой экспортируемой функции необходимо добавлять модификатор export.
  • В процессе работы программа может, например, создавать графические
    объекты и глобальные переменные клиентского терминала.
  • Обычно в ходе исполнения специальной функции start() вырабатывается решение, которое реализуется в виде управляющего воздействия (красная стрелка).
  • Если вы уже знаете некоторые из этих языков, вам не понадобится много времени, чтобы изучить MQL4.

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

Что вы сможете делать с помощью MQL4?

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

Применение нечеткой логики в трейдинге средствами MQL4

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

Что из себя представляет торговый советник?

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

Условия

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

Убедитесь, что идентификатор вашей внешней переменной описывает, что он на самом деле делает. Мы указываем внешнюю переменную, добавляя extern перед переменной. Это указывает на то, что переменная будет отображаться в диалоговом окне «Свойства эксперта» и будет доступна для просмотра и настройки пользователем.