Ранее мы рассматривали основные виды торговых роботов. Рассмотрим язык MQL4. Для чего он может понадобиться, какие виды торговых роботов, скриптов можно на нем написать и как это сделать в терминале MetaTrader?
Язык программирования MetaQuotes Language 4 создан фирмой MetaQuotes Software Corp и по умолчанию уже установлен в терминале МетаТрейдер. Он позволяет писать различные торговые роботы и скрипты для всех видов торговых площадок, поддерживающих МТ. На нем можно написать программу-эксперт, поддерживающую полностью автоматическую торговлю или же простой скрипт для выполнения более простых действий.
Перейдем к тому, как приступить к написанию робота, скрипта или же индикатора собственной разработки:
- Выбираем вкладку Сервис/Редактор MetaQuotes Language
- Вызываем «горячей клавишей» F4.
- Нажимаем на значок в панели инструментов.
Вот так выглядит начальное окно редактора по умолчанию, также в разделе Справка есть встроенный справочник MQL4/MQL5 с информацией по основным функциям. Также содержащий разделы поиск (тут понятно, для чего) и избранное (тут можно добавить наиболее часто используемые материалы для удобства).
Для начала создания новой программы заходим в раздел Файл/Создать новый файл и видим вот такое окно:
Разберем основные виды программ:
- Советник (шаблон) – это торговый робот, закрепленный за конкретным графиком. Данный вид программы начинает запуск при новом тике по заданному инструменту. Советник можно настроить как на полностью автоматическую торговлю без участия трейдера (при наличии сервера даже 24/7) или же как информационного помощника для совета по открытию сделок. Также его можно протестировать на прошлых (исторических) данных. Это позволяет посмотреть, какие и когда сделки открывались бы советником,
используя прошлые данные по рынку. Находится советник в директории каталог_терминал\experts. - Пользовательский индикатор: этот раздел предназначен для самостоятельного написания индикаторов любых видов, которыми можно дополнить встроенные. Как и встроенные индикаторы (тот же RSI), написанные собственноручно не совершают сделок в автоматическом режиме и лишь показывают выход за пределы заданных значений. Сохраняются в директории каталог_терминал\indicators . Там же лежат и другие встроенные индикаторы.
- Скрипт – данный вид программы, в отличии от пользовательского индикатора, может выполнять и торговые действия в сочетании с аналитическими и, как правило, предназначен для одного действия, исполненного по команде пользователя. И если советник работает, пока включен, скрипт, в отличии от него, после завершения функции (это может быть и построение фигуры технического анализа, и открытие закрытия определенной сделки или же установка одного или нескольких ордеров) прекращает свою работу. Находятся скрипты в директории каталог_терминал\experts\ scripts.
- Библиотека – этот раздел хорошо поможет тем, кто еще не совсем хорошо знаком с программированием. В сети можно скачать уже готовые библиотеки (с базовыми функциями) и добавить их в советник. Это значительно упрощает разработку и написание робота. Также можно создать базовый блок и залить туда повторяющиеся данные, чтобы не проделывать эти операции в обычном блокноте, а уже сразу делать копию из библиотеки. Еще они используются для защиты от кражи написанных вами роботов и автоматических торговых систем. Обычно при покупке (на стороне) торгового робота его невозможно запустить без специального файла библиотеки (тут следует быть осторожным, так как мошенники могут продать вам демо-версию робота за полную стоимость) Библиотеки находятся в директории каталог_терминал\experts\libraries.
- Включаемый файл – этот раздел чем-то похож на библиотеки (в том числе схож по функционалу), также хранит в себе часто используемые части программ. Но данный вид файла удобнее использовать в разработке, так как его проще вызвать, чем отдельную библиотеку. Находятся файлы этого типа в директории каталог_терминал\experts\include
Мы рассмотрели редактор программирования в Мета трейдере и основные виды программ, создаваемые им. Спасибо, что дочитали до конца, буду рад обратной связи в комментариях.