Язык программирования MQL5 - описание, учебник (справочник) по изучению

учебник по mql5

Если Вы интересуетесь трейдингом, то наверняка уже наткнулись на термин „автоматическая торговая система“ или "советник" в терминале ]]>Meta Trader]]>. Благодаря этим системам трейдеры имеют гораздо более широкие возможности торговли. Советник может работать непрерывно днем и ночью не уставая. Точно так же он может торговать на десятках рынков одновременно, без эмоций, выполняя только запрограммированные действия. Эти свойства не всегда являются только преимуществом, но это тема для отдельной статьи.

Автоматическая торговая система по сути, представляет собой алгоритм, написанный на определенном языке программирования, который имеет задачи при предписанных условиях открывать, закрывать и управлять позициями. Советник - это программа, состоящая из десяток или сотен строк написанная на языке программирования. Рассмотрим язык программирования MQL или MetaQuotes Language самого популярного программного обеспечения MetaTrader.

Содержание:

  1. История создания MQL
  2. Различия между MQL4 и MQL5
  3. Возможности MQL5
  4. Основные понятия MQL5
    1. Важные базовые концепции языка
    2. Типы данных
    3. Структуры и классы
  5. Книга "Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5".

Язык MetaQuotes 4 и 5

MQL - это язык программирования MetaQuotes, который также является оператором расширенной торговой платформы MetaTrader, предназначенной для торговли  на Форекс. Модуль для создания и изменения автоматизированных торговых систем, а также индикаторов и других программ, предназначенных для работы в ]]>Meta Trader]]>, встроен непосредственно на платформу и называется MetaEditor. Поэтому, если вы загрузили и установили ]]>Meta Trader]]>, у вас автоматически будет MetaEditor. Это верно для версий 4 и 5. Вы можете запустить MetaEditor с платформы в меню «Инструменты» - «Редактор метакодов» или непосредственно нажав на значок на верхней панели инструментов:

редактор mql в метатрейдер

MQL4 (MetaQuotes Language 4) и MQL5 (MetaQuotes Language 5) - это интегрированные языки программирования, предназначенные для создания торговых роботов, технических индикаторов рынка, скриптов и библиотек функций в MetaTrader.

Основная цель MQL4 и MQL5 - автоматизировать торговлю и упростить операционный анализ. MQL4 и MQL5 содержат обширную кодовую базу библиотеки исходного кода, используемой для создания торговых роботов.

Основным недостатком языков программ MetaQuotes является невозможность создания независимых приложений, поскольку каждый язык привязан к соответствующей платформе (Meta Trader / -editor 4 / Meta Trader / -editor / -Tester 5) и файлы из расширений .EX4 и .EX5 работают только в этих платформах. 

История создания MQL

1 июля 2005 года MetaQuotes Software выпустила Метатрейдер 4 - торговый терминал для работы на финансовых рынках. MQL4 - объектно-ориентированный язык программирования, написанный специально для этой платформы. В 2010 году был выпущен Метатрейдер 5, который содержал уже новый язык программирования -  MQL5.

Выпуск билда 4600 Метатрейдера в 2014 году включал серьезные изменения языка MQL4 -  это привело его к более современному уровню MQL5. Среда разработки MetaEditor была унифицирована для обоих языков.

Обновленный MQL4 включает в себя новые графические объекты и новые функции, заимствованные из MQL5 и используемые для анализа графиков. Система защиты была полностью изменена для исполняемых файлов EX4. Стандартная библиотека MQL5 была перемещена почти полностью, за исключением единственной торговой подсистемы, которая требовала адаптации. 

Были добавлены новые типы данных и смесь расширенной микросистемы замещения (условная компиляция ifdef, #ifndef, #else, #endif), которая позволяет использовать код из других языков на основе С/C++ (следует отметить, что указатели объектов в MQL4 / MQL5 не похожи во всех отношениях на С++). Обновленный MQL4 оснащен строгим режимом компиляции, который предотвращает множество потенциальных ошибок программирования. В MQL5 этот режим используется по умолчанию и не может быть отключен.

Оба языка поддерживают почти все стандарты объектно-ориентированного программирования, за исключением множественного наследования: инкапсуляция и расширяемость типов, наследование, полиморфизм и т.п. .

Для разработки программ на MQL4 и MQL5 был создан MetaEditor - компилятор, встроенный в среду разработки. Он интегрирован в торговые терминалы MetaTrader 4 / MetaTrader 5. MetaEditor обеспечивает удобное редактирование исходного кода программы, автоматическую генерацию проектов с помощью матрицы, оптимизацию кода и удаленную разработку совместных приложений совместно с другими людьми.

Различия между MQL4 и MQL5

Одним из основных отличий является конфигурация торговой системы. MQL4 используется для разработки транзакционных программ на основе системы заказов, а MQL5 используется для реализации системы позиционирования. В торговом терминале MetaTrader 5 есть строгое разграничение между понятиями ордер и позиция. Ордер - это запрос на выполнение коммерческой операции, который может привести к коммерческой сделке. Позиция - сумма сделок определенного финансового инструмента.

MQL5 содержит расширенный список торговых функций для работы с открытыми ордерами, списком открытых позиций, историей заказов. В MQL4 различные функции, такие как OrderSend () OrderClose () OrderCloseBy () OrderModify () OrderDelete () были изначально введены для выполнения каждой торговой операции. Эти функции можно использовать для открытия / закрытия и удаления отложенных ордеров.

В MQL5 все торговые операции выполняются через отправку запроса  с использованием только одной функции - OrderSend (). В качестве параметра функции передается запрос: или выставить отложенный ордер, или открыть по рынку, или закрыть ордер. Добавлена новая функция OrderSendAsync() для включения асинхронных торговых операций в MQL5.

Важной новинкой в ​​MQL5 является «Глубина рынка».

Возможности MQL5

Существует четыре типа программ, которые могут быть написаны на MQL5(MQL4).

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

  • Пользовательские индикаторы

  • Скрипты. Скрипт - это программа, предназначенная для однократного выполнения определенных действий. Событие запуска - это единственный тип события, обрабатываемый сценарием.

  • Отдельные библиотеки функций. Кроме того, можно создавать включаемые файлы (#include). Включаемые файлы позволяют использовать наиболее часто используемые функции и классы, не вставляя их непосредственно в исходный код программы. Использование функций и классов упрощает создание, отладку и компиляцию, поскольку при использовании динамических библиотек функции загружаются только тогда, когда они вызываются напрямую.

Основные понятия MQL5

С точки зрения программирования, MQL - это язык, полученный из C ++. Получается, что знание C ++ является преимуществом, но, конечно, не проблема научиться программировать на MQL без какого-либо предыдущего опыта программирования. В интернете много книг и обучающих материалов. Например, есть раздел "Уроки по MQL" на TradeLikeAPro.

Важные базовые концепции языка:

  • Исполнение программы. При выполнении написанной программы терминал будет «читать» код и соответственно выполнять соответствующие действия в терминале ]]>Meta Trader]]>.

  • Тик - новая входящая цена. Большинство программ выполняются только при каждом новом тике.

  • Комментарий. Часть кода программы, который не исполняется. Текст комментария обозначается так: //  и окрашивается в коде серым цветом.

  • Компиляция - завершающий этап создания программы. Компилятор в рамках Метаэдитора проверяет код, и если он без ошибок исполняет его.

Типы данных:

Основные типы данных, используемые в MQL5:

  • целый (char, short int, uchar length, ushort, uint ulong);

  • Логический (Bool);

  • литералы (USHORT);

  • строки (строка);

  • с плавающей точкой;

  • цвет (сolor);

  • дата и время (datetime);

  • перечисления.

Структуры и классы представляют собой сложный (сводный) тип данных, который может работать в MQL4 / MQL5. Классы отличаются от структур следующими свойствами:

  • ключевое слово class в декларации;

  • все члены класса имеют закрытый доступ по умолчанию, а члены структуры имеют открытый доступ;

  • объекты класса всегда имеют массив виртуальных функций;

  • Оператор new может применяться только к объектам класса;

  • Наследование: класс наследует от класса, структура возникает только из структуры.

Книга "Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5". Автор Тимур Машнин.

Эта книга является справочником, что поможет начинающим программистам (которые уже имеют опыт программирования на других языках) ознакомиться с языком программирования MQL5, или станет дополнительным источником информации для тех, кто уже начал его изучать. Прочитав книгу, вы сможете создать свой первый советник или индикатора для терминала MetaTrader 5. 

Книга написана грамотным, понятным языком и ориентирована на практическое использование, а не на обучение основам языка.  Материал подается в доступной форме, с усложнением в процессе изучения. 

содержание книги

Скачать книгу в форматах .rtf .fb2 .epub .pdf

четверг, ноября 8, 2018
Материал подготовил Леонид Кузнецов

Еще материалы по этой теме:

хозяева рынков тома вильямса скачать

Книга "Хозяева рынков" будет в первую очередь полезна тем трейдерам, которые хотят научиться исследовать рыночную активность, а также определять...

подробнее

На этой странице представлен сборник под названием Библия Прайс Экшн (Price action-s holy bible), который вы можете скачать совершенно бесплатно....

подробнее
скачать книгу л. шафт

Куда пойдет цена? Этот вопрос для многих Форекс - трейдеров является ключевым. Но, как только вы окажитесь на новом уровне трейдинга, вопрос " ...

подробнее
скачать книгу роберт кийосаки квадрант денежного потока

Почему богатые богатеют, а бедные беднеют? Возможно нужно менять не работу, а сектор?

Выдающийся финансовый эксперт Роберт Кийосаки в своей...

подробнее

Внимание! Акция #ОставайтесьДома

Оставайтесь в безопасности. Получите дополнительную скидку во время карантина

  • Скидка 25% на Forex Tester
  • Скидка до 62,5% на сервис данных
  • Экономия до $228 при покупке Forex Tester + сервис данных

Купить со скидкой 

скачать форекс тестер
Не рискуйте настоящими деньгами! Экономьте время, тестируйте и совершенствуйте Ваши стратегии в программе ForexTester.

© forex-method.ru, 2020 - любое копирование материалов только при указании ссылки на источник

Контакты

  • Написать нам: info@forex-method.ru

Go to top