Создание прикладных программ на MQL5

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

Начнем мы с общих принципов создания MQL-программ, их типов, особенностей и модели событий в терминале. Затем коснемся доступа к таймсериям, работы с графиками и графическими объектами. Наконец, разберем принципы создания и применения каждого типа MQL-программы в отдельности.

Активные пользователи MetaTrader 5, несомненно, помнят, что терминал поддерживает пять типов программ:

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

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

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

Что касается индикаторов, MetaTrader 5 поставляется, как известно, с набором встроенных стандартных индикаторов. В данной части мы научимся использовать их программным способом, а также создавать свои собственные индикаторы как с нуля, так и на базе других индикаторов.

Все откомпилированные индикаторы, советники, скрипты и сервисы отображаются в Навигаторе в MetaTrader 5. Библиотеки не являются самостоятельными программами и потому не имеют выделенной ветви в иерархии, хотя, конечно, это было бы удобно с точки зрения единообразного управления всеми бинарными модулями. Как мы увидим далее, те программы, которые зависят от той или иной библиотеки, не могут запуститься без неё. Но сейчас проверить наличие библиотеки можно только в файловом менеджере.