Современный трейдинг немыслим без компьютера. Автоматизация рабочего процесса трейдера уже давно вышла за пределы бирж и офисов брокеров, став доступной обычным пользователям через специализированное программное обеспечение. Одним из первых таких программных решений был MetaTrader, который начал свою историю в начале 2000-х годов. Текущая версия торговой платформы – MetaTrader 5 – по-прежнему пополняется новыми функциями и возможностями.
Одним из ключевых элементов, который постоянно совершенствуется в MetaTrader 5, является встроенный язык программирования MQL5. Это позволяет трейдерам перейти на качественно новый уровень автоматизации торговли, известный как алготрейдинг. С помощью MQL5 трейдеры могут реализовать свои стратегии в виде прикладных программ: написать собственные индикаторы, скрипты для выполнения определенных операций или создать советник – автоматическую торговую систему. Советник может работать без присмотра, отслеживая изменения цен и отправляя уведомления по электронной почте или SMS.
Встроенный язык программирования позволяет воплотить в жизнь практически любую идею – от простых стратегий до сложных алгоритмов на основе нейронных сетей. Этот язык программирования объединяет в себе черты предметно-ориентированного и универсального языков программирования. За последние годы в него были добавлены различные расширения, такие как работа с 3D-графикой, параллельные расчеты на OpenCL, интеграция с Python и база данных SQLite.
Для полноценного использования всех возможностей MetaTrader 5 вам необходимо изучить язык программирования. Эта книга поможет вам освоить MQL5 и научиться создавать свои собственные прикладные программы для торговли.
Прежде всего, предполагается, что читатель уже знаком с MetaTrader 5 и умеет работать с терминалом. Также важно понимать основные принципы работы терминала в составе распределенной информационной системы, обеспечивающей торговлю. Руководство пользователя терминала содержит подробную информацию обо всех доступных функциях и возможностях.
Однако, MQL5 API предоставляет трейдерам возможности, которых нет в графическом интерфейсе MetaTrader 5. Это позволяет реализовывать сложные сценарии, автоматизируя многие аспекты работы с терминалом и повышая эффективность стратегий торговли.
Изложение материала разделено на 7 частей.
Программирование основывается на многих сущностях, которые в равной степени важны и тесно взаимосвязаны, поэтому порядок изложения может иногда потребовать перехода от одной концепции к другой, и затем возврата к первой с большими подробностями. В некотором роде, это проблема "курицы и яйца". Невозможно научиться сразу всем принципам, методикам и языковым конструкциям, которые требуются для написания произвольной MQL-программы. Мы будем стараться взвешенно совмещать описания общих подходов и понятий, демонстрации частных примеров и переходы в формальную техническую плоскость — на уровень синтаксиса, порядка исполнения кода, и проектирования структуры программ.
Большинство примеров MQL-программ из этой книги доступно в виде исходных кодов для установки в среду MetaEditor/MetaTrader 5 и проверки изложенного материала на практике.