02
فروردین

Языки MQL4 и MQL5: отличия массивов и краткий курс по работе с кодом

У нас есть input переменные, но мы их пока никак не используем. Функция OnInitвсегда сообщает терминалу об успешной инициализации, а OnTickи OnDeinit— не содержат никаких инструкций. В языке MQL отсутствуют понятия временной переменной и перемещения данных. Передача переменных по ссылке и по значению имеет отличия от C++.

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

  1. Я не буду подробно останавливаться на каждом из них.
  2. Между старшей и младшей версиями языка существует обратная совместимость.
  3. Файлы с расширением mq4 (mq5) являются простыми текстовыми файлами, которые содержат код MQL в текстовом виде.
  4. MQL решает проблему написания утилит для контроля состояния торгового счета, расчетов индикаторов и уровней, получения торговых сигналов и определения точек входа и выхода из рынка.

Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. MQL5 здесь имеет перед MQL4 неоспоримое преимущество. Вы можете создать торгового робота для пятой версии в несколько кликов, не написав фактически ни одной строки кода. MQL4 основан на концепции широко распространенного языка программирования С++, в нем присутствуют перечисления, структуры, классы и обработка событий. Благодаря расширению числа встроенных основных типов, взаимодействие исполняемых программ на MQL4 с другими приложениями посредством dll максимально облегчено. Синтаксис языка MQL4 подобен синтаксису С++, и это позволяет легко переносить на него программы из современных языков программирования.

Скрипт

Компилируем код и запускаем советник в торговом терминале. На двух предыдущих шагах я оставил пустыми все варианты. У нас вся логика будет выполняться в функции OnTick. Она вызывается каждый раз при поступлении нового тика по символу. Поведение задается отдельным набором параметров для каждой из функций.

Какой язык нужен программисту?

  • C# Этот язык разработан для создания приложений компанией Microsoft, поэтому плохо совместим с Linux — для программирования придется установить среду разработки MonoDevelop.
  • С++ Он тоже унаследовал структуру языка С.
  • Java.
  • JavaScript.
  • Kotlin.
  • Python.
  • Ruby.
  • Swift.

Основы языка

И запускаем в режиме тестирования стратегий Ctrl + F5 или кнопкой в графическом меню сверху. Я выбрал “Торговля на пересечении двух средних” и установил периоды равными ۲۱ и ۵۵. Слишком короткие периоды выбирать нежелательно, если нужно сократить число ложных срабатываний. Символ оставляем текущий — мы будем торговать, например, EURJPY и получать сигналы от скользящих средних примененных к ценовым данным того же EURJPY. Выбирайте здесь другой символ, если ваша стратегия подразумевает торговлю по инструменту в зависимости от поведения какого-то иного. И в мастере создания приложений выбираем “Советник (сгенерировать)” (“Expert Advisor (generate)”).

Что такое MQL и SQL?

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

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

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

Также существуют отличия и во внутреннем устройстве индикаторов. В четвертой версии может использоваться не более восьми индикаторных буферов. В MetaTrader 5 количество буферов было увеличено до ۲۱. MQL используется для создания автоматических торговых стратегий. Код на MQL предварительно интерпретируется в https://broker-obzor.com/ С++ код, который далее компилируется в исполняемый код, который работает внутри терминала как включаемая динамическая библиотека.

Если мы проводить параллель с предком, то это будет аналогично включению библиотеки dll в исполняемый код основной программы. Такой подход способствует простоте разработки и низкому порогу вхождения в сферу автоматического трейдинга. Язык популярен в среде трейдеров, несмотря на его узкую специализацию и зависимость языка от платформы. Файлы с расширением mq4 (mq5) являются простыми текстовыми файлами, которые содержат код MQL в текстовом виде. Файлы в таком формате генерируются MetaEditor’ом при компиляции кода mq4 (mq5).

  1. Также существуют отличия и во внутреннем устройстве индикаторов.
  2. В данном разделе рассматриваются наиболее употребляемые стандартные функции, приводятся примеры их использования.
  3. В настоящее время возможности MQL соответствуют возможностям C++ стандарта ۲۰۰۳ года.
  4. MACross — генератор сигналов пересечения Moving Average, TrailingFixedPips — модуль контроля уровня лимитов, MoneyFixedRisk — модуль риск-менеджмента.

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

В настоящее время возможности MQL соответствуют возможностям C++ стандарта ۲۰۰۳ года. Но стоит отметить, что MQL достаточно мощный язык и в существующем виде может покрыть ۹۹% текущих потребностей программистов и разработчиков. Разработчики информационно поддерживают MQL сообщество, регулярно выпуская туториалы в виде статей на разнообразные темы из мира торговли. Выпуск четвертой генерации платформы состоялся ۰۱ июля ۲۰۰۵ года. Обратная совместимость с прошлой версией языка была утрачена. Также MetaQuotes прекратили поддержку API клиентского терминала, но расширили возможности самого языка и предоставили способы интеграции пользовательских dll библиотек в приложения на MQL.

Насколько сложен MQL5?

Это потому, что разработчики языка программирования MQL5 имели прекрасную идею сделать язык похожим на C/C++ во многих аспектах. Поэтому, если у программиста большой опыт работы с C/C++, ему будет довольно легко изучить MQL5 , так как нет необходимости заново изучать все концепции, синтаксис и команды.