Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


 

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

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

Итак, давайте начнем.

 

Знакомство с редактором кода MetaEditor

Самое первое, что нам нужно сделать, это открыть редактор кода MQL4. Как это делается — сперва, нужно открыть терминал MetaTrader4. Открываем его, и далее, уже из него можно запустить наш редактор кода MetaEditor.

Запускается редактор кода следующим образом: на панели инструментов терминала MetaTrader4 имеется кнопка «Редактор MetaQuotes Language (F4)»,

Редактор MetaQuotes Language

 

то есть, можно нажать либо кнопку на панели инструментов, либо горячую клавишу F4, либо через меню Сервис — Редактор MetaQuotes Language.

Редактор MetaQuotes Language

 

Нажимаем на кнопку, и перед нами открывается редактор кода MetaEditor. Он состоит из четырех полей.

Поле, выделенное на скриншоте ниже, является самым основным.

Главное поле программы MetaEditor

 

В данном поле мы с Вами будем писать весь наш код. Все, что прописано в этом основном поле — это и есть код MQL4.

Второе, достаточно важное поле, находится немного ниже.

Поле ошибки в редакторе кода MetaEditor

 

В данном поле имеется несколько вкладок, и нам нужна будет вкладка «Ошибки».

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

Третье поле — это навигатор.

Навигатор в редакторе кода MetaEditor

 

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

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

Кнопка Навигатор в редакторе кода MetaEditor

 

Четвертое поле – это верхнее меню.

Верхнее меню в редакторе кода MetaEditor

 

Здесь нам нужна будет единственная кнопка — это клавиша «Компилировать».

Клавиша Компилировать в редакторе кода MetaEditor

 

Что это такое и когда её необходимо нажимать — все это мы с Вами обсудим немного позже.

Сейчас же мы с Вами рассмотрели состав рабочего поля редактора кода MetaEditor.

 

 

Процессы, протекающие при компиляции в MetaEditor и при работе советника в терминале MetaTrader

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

Итак, смотрим:

Процесс программирования MQL4 и работы терминала MetaTrader4

 

У нас есть язык программирования MQL4, который мы с Вами изучаем. Мы пользуемся им в рамках программы MetaEditor, которую мы рассмотрели с Вами выше в этой статье.

Когда мы пишем какой-то код, мы его можем сохранить в файл с расширением .mq4. Давайте посмотрим: зайдем в MetaTrader4 и откроем папку с нашими советниками. Открывается она следующим образом: Меню — Файл — Открыть каталог данных.

Меню MetaTrader4 Открыть каталог данных

 

Открываем его, и перед нами появляется системная папка нашего терминала. Переходим в папку MQL4.

Папка MQL4

 

И, далее, в папку Experts.

Перед нами появляется список всех наших экспертов, которые доступны в рамках нашего терминала MetaTrader4.

Папка Experts

 

Например, рассмотрим советник MACD Sample. Все советники, в основе своей, представлены в файлах двух типов: файл .mq4 и файл с расширением .ex4. На картинке выше они указаны как ярлык со значком «4» (файл .mq4) и пустой ярлык без какой-либо информации (файл с расширением .ex4).

Возвращаясь к нашей схеме:

Процесс программирования MQL4 и работы терминала MetaTrader4

 

Есть язык программирования MQL4 — он входит в состав нашего редактора кода MetaEditor. Когда мы пишем код, и в какой-то момент нам необходимо его будет сохранить, то мы нажимаем стандартную кнопку на панели меню «Сохранить» и наш код сохраняется в файл «первого типа» с расширением .mq4.

Сохранить открытый код MQL4

 

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

Для того, чтобы код начал работать в терминале MetaTrader, нам нужен другой файл. Этот файл должен быть с расширением «второго типа» — .ex4

Сам терминал MetaTrader использует только файл .ex4. То есть, когда мы переносим советник на платформу, то терминал читает именно файлы этого второго типа.

Чтобы создать данный файл, как раз таки и нужна кнопка «Компилировать» в меню редактора кода MetaEditor.

Клавиша Компилировать в редакторе кода MetaEditor

 

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

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

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

Идем далее по нашей схеме:

Процесс программирования MQL4 и работы терминала MetaTrader4

 

Терминал MetaTrade4 читает скомпилированные файлы (.ex4). Он читает те команды, которые там имеются, и передает их процессору компьютера. Процессор, тем временем, все эти команды просчитывает, рассчитывает и передает готовые рассчитанные команды обратно в терминал MetaTrader. На основе этих рассчитанных значений MetaTrader производит работу: то есть, строит индикаторы, производит работу скриптов и советников.

Вот, собственно, такая структура всех процессов. Еще раз кратко резюмируемся: есть у нас язык программирования MQL4, он входит в состав нашей программы MetaEdiror.

Когда мы пишем код в MetaEditor, мы можем сохранять этот код в файл .mq4, чтоб иметь возможность работать с данным файлом позже. После того, как мы спрограммировали код, нажимая кнопку «Компилировать», происходит  пересохранение нашего кода в файл второго типа (.ex4), который использует наш терминал MetaTrader.

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

Вот такая структура взаимосвязей всех процессов.
 

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

 

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

 

В следующей статье мы рассмотрим достаточно важную тему – Алгоритмы в программировании MQL4: что это такое и зачем они нам нужны? Перейти к следующей статье.

Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.

 

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

 

С уважением, Антон.

Обучающий Форекс портал SanGReal Invest

 


 


Вам это может быть интересно. Другие статьи нашего обучающего портала:


  • Антон — SanGReal Invest (Сангрил Инвест)

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

  • Михаил

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

  • Вячеслав

    Здравствуйте Антон! Вы ещё развиваете свой курс?

    • SanGReal Invest: Антон

      Вячеслав, здравствуйте. Смотря что Вы подразумеваете по развитием.. Если про уроки на сайте, то да, постепенно уроки выкладываются на сайте.