Основы программирования MQL5

Урок 1. Создаем свой первый скрипт.

Язык программирования MQL5 создан на базе С++, кроме того в него встроены фунции предназначенные для автоматизации технического анализа и торговых операций.

Я предпологаю, что читатель уже знаком с основами программирования С++. Можно конечно изучать MQL5 по справочнику из сайта mql5.com не зная с++, но знание основ программирования с++ очень пригодиться!

Основные программы, которые пишутся на mql5 это:

  1. Советник (торговый робот) — может самостоятельно открывать и закрывать позиции согласно заложенной в него стратегии и исходных параметров.
  2. Пользовательский индикатор — предназначен для выполнения аналитических функци. Торговать не может!
  3. Скрипт — выполняет определенную последовательность дейский один раз при запуске.

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

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

И так, поехали:

  1. Создать скрипт:

Откройте metaeditor -> создать -> скрипт

Нажмите «далее«. Появится окно «Общие параметры скрипта«.

2. Этом окне укажите 1 — название программы, 2 — копирайт, 3 — свой сайт (если нет, то ссылку на профиль в соцсети). Я обычно, указываю сайт, с которого взят пример.

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

Можете добавить парметр «размер лота», чтобы увидеть как отображаются в коде входные параметры.

//+------------------------------------------------------------------+
//|                                               MyFirstScript1.mq5 |
//|                                     Copyright 2022, Sergey Deleu |
//|                                         https://debuggerplus.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, Sergey Deleu"
#property link      "https://debuggerplus.com"
#property version   "1.00"
#property script_show_inputs
//--- input parameters
input double   LotSize=0.1;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   
  }
//+------------------------------------------------------------------+

9-ая, 10-ая и 11-ая строки добавились в код в результате добавления входного параметра.

Инструкция script_show_inputs — показывать входящие параметры при запуске скрипта.

3. В блоке OnStart содержится основной код выполняемой программы. На данном этапе у нас там ничего нет. Добавим строку кода.

void OnStart()
  {
//---
      Print("Какой-то текст...");
  }

Если выделить команду и нажать F1, то перейдем к справочной информации по этой команде.

4. Скомпилируем программу. Это можно сделать нажав F7 на клавиатуре или по кнопке «Компилировать» в панели инструментов редактора.

Если в коде ошибок нет, то дожно быть так:

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

5. Переходим в терминал. Для этого нажмите на такой значек в панели инструментов редактора справа или клавишу F4.

6. Запустите скрипт двойным щелчком мыши или перенесите на график и нажмите «ок».

В журнале экспертов появится сообщение:

Это результат выполнения нашего скрипта.