Интеграция с Python

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

Python относится к интерпретируемым языкам программирования. Он часто используется для написания скриптов.

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

В то же время интерпретируемые языки программирования заметно уступают компилируемым в скорости выполнения программ. Решение этой проблемы заложено в самой архитектуре Python. Он спроектирован так, что его маленькое ядро легко расширяется набором библиотек, в том числе написанных на компилируемых языках программирования.

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

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

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

Динамическая типизация позволяет программисту отвлечься от совместимости данных при их сохранении в переменные, потому что она автоматически получит тип принимаемых данных.

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

Дополнительный функционал может быть реализован средствами обширного количества сторонних библиотек. Среди них можно найти инструменты и для математического моделирования, и для написание веб-приложений, и для разработки игр. Кроме того, существует возможность интеграции библиотек, написанных на C или C++ и других языках.

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

Благодаря всему выше перечисленному Python стал одним из самых популярных языков программирования. Он используется в анализе данных и машинном обучении. По состоянию на июль 2021 года Python занимает третье место в рейтинге популярности языков программирования TIOBE с показателем 10,95%.

Начиная с версии Build 2085, вышедшей в июне 2019 года, в MetaTrader 5 добавлены API для запроса данных из терминала в Python-приложения. С тех пор этот функционал постоянно развивается. В настоящее время можно запускать скрипты Python прямо на графике терминала наравне с MQL5-приложениями.

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

Для настройки подключения Python к MetaTrader 5 вначале нужно скачать и установить последнюю версию интерпретатора со страницы https://www.python.org/downloads/windows/.

При установке Python обязательно отметьте чекбокс "Add Python 3.9 to PATH%" (версия может отличаться) для возможности запуска скриптов Python из командной строки.

После этого запустите и обновите модуль MetaTrader5. В данном случае речь идет о Python-библиотеке, а не терминале. Для этого в командной строке введите нижеследующие команды.

pip install MetaTrader5
pip install --upgrade MetaTrader5

После этих итераций скрипты Python смогут получить доступ к операциям с терминалом MetaTrader 5.

В MetaEditor также реализована поддержка Python. В настройках редактора на вкладке «Компиляторы» достаточно указать расположение интерпретатора.

После этого можно создавать мультиязычные проекты в интегрированной среде MetaEditor. Такие проекты будут включать в себя программы, написанные на mql и Python. Аналогичным образом можно добавить поддержку языка С/С++.

Интеграция Python в MetaEditor

Интеграция Python в MetaEditor