MetaEditor является удобной, многофункциональной средой разработки, интегрированной с торговым терминалом. Он предназначен для разработки программ на языке MetaQuotes Language 4 и 5 (MQL4 и MQL5). С его помощью можно создавать советники (эксперты), пользовательские индикаторы и скрипты, которые в дальнейшем будут применяться в клиентском терминале для аналитических и торговых целей.
Основные функции и возможности MetaEditor:
- Удобное редактирование исходного кода MQL4/MQL5-программ;
- Автоматическая генерация проектов по шаблону, используя "Мастер MQL4/MQL5";
- Расширенные средства интеллектуального управления кодом: подсветка синтаксиса, автоподстановка, переход к определениям и т. д.;
- Встроенные средства компиляции программ;
- Удобные средства отладки программ;
- Встроенный профилировщик кода;
- Интегрированное персональное хранилище исходного кода MQL5 Storage;
- Совместная удаленная разработка приложений при помощи проектов;Встроенная помощь по языкам MQL4 и MQL5.
Прежде чем начать разрабатывать программы на языке MQL, необходимо разобраться со средой разработки MetaEditor, в которой мы будем проводить большую часть времени.
Среда разработки MetaEditor тесно связана с торговым терминалом MetaTrader и вызывается из меню Сервис:
После того, как среда разработки будет запущена, перед нами откроется главное окно, представленное на изображении ниже:
В главном окне присутствуют все стандартные компоненты, свойственные для всех программ - строка меню, панель инструментов, строка состояния. В правой части окна нам представлено окно "Навигатор", которое предоставляет быстрый доступ к уже имеющимся советникам, индикаторам, скриптам и прочим файлам. Основная же часть окна представляет собой редактор исходного кода на языке MQL.
При первом запуске программы MetaEditor в этой части окна ничего нет, т.к. не выбран ни один из видов программ. Давайте это исправим и создадим шаблон первого нашего советника.
Для этого, на панели инструментов нажмем кнопку "Создать":
После чего будет вызван стандартный мастер создания приложений, в котором мы сможем настроить некоторые свойства своей будущей программы.
В данном окне нам в первую очередь необходимо выбрать, программу какого типа мы будем разрабатывать - советник, индикатор, скрипт и т.д. От сделанного на данном этапе выборе, будет зависеть дальнейшее поведение нашей программы.
Давайте кратко разберем основные различия между существующими типами приложений.
- Советник. Этот тип программ характерен тем, что он имеет возможность открывать позиции, закрывать и сопровождать уже открытые позиции. Советник выполняет определенные действия, запрограммированные разработчиком советника, на каждом пришедшем тике от брокера. В своей работе советник может опираться на данные стандартных или пользовательских индикаторов, имеет возможность выводить на экран графические элементы.
- Пользовательский индикатор. Данный тип программ предназначен в первую очередь для облегчения принятия торговых решений. Пользовательский индикатор не имеет возможности управления ордерами, но также может выводить графические элементы на экран. Помимо всего прочего, у индикаторов имеются специальные элементы, позволяющие выводить непрерывные графические элементы типа кривых линий, занося в соответствующий буфер рассчитанные значения.
- Скрипт. Скрипты это особый тип программ, написанных на языке MQL. Эти программы, также как и пользовательские индикаторы, не имеют возможности работы с торговыми операциями. Более того, скрипты выполняются только один раз, при прикреплении их к графику. После того, как программный код скрипта будет исполнен, скрипт автоматически будет удален с графика.
- Библиотека. Это тип программ, который не выполняется самостоятельно. В библиотеках, как правило, хранят части программ, которые можно использовать в различных программах. Удобство использование библиотек заключается в том, что достаточно один раз написать и отладить некоторые функции и можно использовать их в различных программах, не переписывая заново. К тому же, скомпилированный файл библиотеки можно безопасно распространять с готовой программой, не беспокоясь о том, что кто-то сможет использовать ваш код в своих программах.
- Включаемый файл. Этот тип программ, также как и библиотека, не вызывается на исполнение непосредственно в терминале, а точно также, как и библиотека, предназначена для вынесения частей программы из основного кода, с целью использования в других различных программах. Разница с библиотекой заключается в том, что включаемый файл не компилируется в отдельный двоичный файл, а функции из него встраиваются непосредственно в код разрабатываемой программы и компилируются как одно целое.
- Новый класс. Это обособленный тип программ, предназначенный для разделения одной большой программы на отдельные обособленные элементы - классы - которые обеспечивают полный контроль над программой и позволяют упростить и сократить время на разработку больших программ. Классы также могут использоваться в различных программа. Классы и работу с ними мы будем подробно разбирать дальше, когда перейдем к концепции объектно-ориентированного программирования.
Итак, давайте создадим шаблон своего первого советника! Для этого выберите первый пункт в окне мастера создания программ "Советник (шаблон)" и нажмите на кнопку Далее. После чего откроется окно настройки нашего первого советника:
В этом окне нам предлагается ввести название нашей будущей программы, указать автора программы, ссылку на свой сайт для связи и возможность указать входные параметры, которые будут влиять на работу нашего советника и помогать нам принимать торговые решения.
Давайте укажем название и входные параметры для нашего советника и нажмем кнопку Далее:
После того, как мы заполнили все необходимые поля в окне мастера, нам предоставляется возможность расширить возможности нашей программы за счет подключения различных дополнительных функций:
Пока что нам не требуются никакие расширения, поэтому мы просто жмем на кнопку Далее и переходим к следующему окну мастера:
В этом окне имеется возможность управления работой нашего советника в режиме тестера стратегий. Нам это пока не нужно, поэтому нажимаем на кнопку Далее и завершаем создание шаблона нашего первого советника на языке MQL.
Перед нами в главном окне программы открывается только что созданный шаблон для нового советника, который был модифицирован мастером на основании выбранных опций на этапе его создания.
Заключение.
Мы разобрали основные части главного окна среды разработки приложений на языке MQL - MetaEditor, узнали о различных типах программ, которые можно создавать на этом языке программирования, а также создали шаблон для своего первого советника.