English 中文 Español Deutsch 日本語 Português
preview
Интеграция MQL5: Python

Интеграция MQL5: Python

MetaTrader 5Торговые системы | 20 февраля 2025, 08:41
956 4
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Введение

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

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

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


Обзор Python

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

Ключевые особенности Python включают в себя:

  • Удобочитаемость: синтаксис Python интуитивно понятен и напоминает естественный язык, что упрощает чтение и написание кода.
  • Интерпретативный язык: Python выполняет код построчно, что упрощает отладку и разработку.
  • Динамическая типизация: типы переменных определяются во время выполнения, что обеспечивает гибкость при кодировании.
  • Обширная стандартная библиотека: комплексная библиотека Python обеспечивает поддержку распространенных задач, таких как файловый ввод-вывод, системные вызовы и манипулирование данными.
  • Универсальность: Python поддерживает широкий спектр парадигм программирования, включая объектно-ориентированное, процедурное и функциональное программирование.
  • Кроссплатформенная совместимость: Python работает на различных операционных системах, включая Windows, MacOS и Linux, не требуя никаких изменений кода.
  • Активное сообщество и экосистема: большое сообщество и экосистема Python предлагают многочисленные библиотеки и инструменты, расширяющие возможности языка.

Области применения Python включают в себя:

  • Наука о данных: библиотеки анализа и визуализации данных, такие как Pandas и Matplotlib.
  • Искусственный интеллект: инструменты машинного обучения, такие как scikit-learn, TensorFlow и Keras.
  • Автоматизация: Selenium и Beautiful Soup для автоматизации повторяющихся задач.
  • Веб-разработка: фреймворки для разработки веб-приложений, такие как Django и Flask.
  • Научные исследования: язык идеально подходит для моделирования, статистического анализа и построения моделей.

Pandas, NumPy, SciPy, scikit-learn, TensorFlow, Matplotlib, Selenium, Django и Flask — одни из самых популярных библиотек и фреймворков Python. Подводя итог, можно сказать, что неизменная популярность и актуальность Python в мире программирования обусловлены сочетанием его читабельности, простоты и мощных библиотек.


Преимущества интеграции Python

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

Таким образом, интеграция этих двух систем дает следующие преимущества:

  • Упрощение сложной обработки и анализа данных с помощью передовых методов анализа данных, используя обширные библиотеки, доступные в Python, включая Pandas и NumPy.
  • Внедрение библиотек машинного обучения, таких как scikit-learn, TensorFlow и Keras, позволяет разрабатывать и внедрять модели машинного обучения для прогностической аналитики.
  • Автоматизация сложных торговых стратегий и их оптимизация с помощью надежной экосистемы Python.
  • Улучшение торговых алгоритмов с использованием обширной коллекции библиотек и фреймворков Python.

Рассмотрим подробнее:

Анализ данных:

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

  • Библиотека Pandas предоставляет высокоуровневые структуры данных и методы, которые облегчают быстрый и простой анализ данных. Библиотека Pandas позволяет пользователям эффективно обрабатывать большие наборы данных и выполнять такие операции, как сортировка, группировка и агрегация данных, с минимальными усилиями.
  • NumPy — это вычислительная библиотека, которая поддерживает эффективные числовые вычисления, что делает ее подходящей для обработки больших массивов и матриц числовых данных. Она предлагает широкий спектр математических операций и часто используется в качестве базовой библиотеки, на которой строятся другие библиотеки, такие как Pandas и scikit-learn.

Машинное обучение:

В области машинного обучения язык Python является предпочтительным выбором из-за его простоты и наличия надежных библиотек, включая scikit-learn, TensorFlow и Keras. При интеграции с MQL5 трейдеры могут использовать эти библиотеки для создания, разработки и развертывания прогностических моделей, которые используют исторические данные для прогнозирования движений рынка.

  • Scikit-learn - эта библиотека предоставляет пользователям простые, но эффективные инструменты машинного обучения, позволяющие им проводить углубленный анализ и добычу данных. Она может похвастаться разнообразным набором алгоритмов, удовлетворяющих различные потребности, включая классификацию, кластеризацию, регрессию и многое другое.
  • TensorFlow и Keras - это очень популярные и широко используемые разработчиками инструменты для глубокого обучения, предлагающие комплексный набор инструментов для создания и обучения нейронных сетей с целью создания сложных моделей.

Автоматизация и эффективность:

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

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

Доступ к широкому спектру библиотек и фреймворков:

Функциональность MQL5 может быть расширена за счет использования комплексной экосистемы библиотек и фреймворков. К ним относятся расширенные статистические инструменты, API для внешних источников данных и сложные визуализации, которые можно использовать для расширения возможностей ваших приложений MQL5.

  • Визуализация данных: такие библиотеки, как Matplotlib и Seaborn, предоставляют инструменты для создания информативных графиков — от простых до сложных, которые можно использовать для визуализации имеющихся данных, таких как эффективность торговли и другие показатели.
  • API и источники данных: библиотеки Python предлагают удобное решение для извлечения финансовых данных, в том числе из веб-ресурсов, и доступа к источникам данных. Эти библиотеки могут взаимодействовать с многочисленными API, что выгодно для тех, кто хочет улучшить свои торговые стратегии.

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

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


Настройка среды

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

  • Установите MetaTrader 5, загрузив файл установщика с сайта https://www.metatrader5.com/ru и установив платформу на свое устройство.
  • Загрузите последнюю версию Python с сайта https://www.python.org/downloads/windows
  • При установке Python установите флажок Add Python to PATH%, чтобы иметь возможность запускать скрипты Python из командной строки.
  • Очень важно создать отдельную среду для каждого проекта, чтобы поддерживать чистоту, изолированность и воспроизводимость. Следующие шаги иллюстрируют, как этого можно добиться с помощью командной строки:
    • Навигация по каталогу проекта
cd /path/to/your/project
    • Используйте venv для создания среды mytestenv (встроенный инструмент виртуальной среды)
python -m venv mytestenv
    • Теперь необходимо активировать созданную среду.
mytestenv\Scripts\activate
    • Модуль MetaTrader 5 следует устанавливать из командной строки. Вы можете открыть пакет MetaTrader 5 Python по ссылке https://pypi.org/project/MetaTrader5/
pip install MetaTrader5
    • Показать подробности установки MetaTrader
pip show MetaTrader5
    • Для облегчения использования вышеупомянутых функций необходимо добавить пакеты matplotlib и pandas.
pip install matplotlib
pip install pandas
    • В случае деактивации можно использовать следующую команду в командной строке
deactivate

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


Простые способы применения

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

Первое применение: Открываем MetaTrader 5 с помощью скрипта Python:

Целью здесь является создание скрипта Python, который откроет терминал MetaTrader 5 и выведет сообщение о том, инициализирован ли терминал. Следующий код представляет собой полный скрипт. Необходимо заменить (xxxxx) на соответствующие данные вашего счета, включая номер счета, логин, пароль и сервер брокера.

import MetaTrader5 as mt5
print ("MetaTrader5 PKG version: ",mt5.__version__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")  
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
 

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

  • MetaTrader5 PKG version:  5.0.4424
  • MetaTrader5 PKG author:  MetaQuotes Ltd.
  • MT5 initialized Successfully

Второе применение: Открытие позиций с использованием скрипта Python:

Целью здесь является создание скрипта Python, который позволит открыть позицию на покупку в терминале MetaTrader 5. Для этого будут предприняты следующие шаги: будет создан скрипт для открытия позиции на покупку 0,01 по XAUUSD по цене Ask с уровнем стоп-лосса и тейк-профита.

Модель MetaTrader 5 необходимо импортировать как mt5.

import MetaTrader5 as mt5

Отображение версии MetaTrader 5 в виде информации о пакете.

print ("MetaTrader5 PKG version: ",mt5.__version__)

Отображение автора MetaTrader 5 в информации о пакете.

print ("MetaTrader5 PKG author: ",mt5.__author__)

Соединение MetaTrader 5 инициализируется с сообщением, указывающим, была ли инициализация успешной или нет. В случае неудачи в сообщении указывается код ошибки. Данные учетной записи, включая логин, сервер брокера и пароль, следует заменить фактическими данными учетной записи.

if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())

Объявлены следующие переменные: symbol, lot, point, order_type, price, sl, tp, offset, magic, comment, type_time и type_filling.

symbol="XAUUSD"
lot=0.01
point=mt5.symbol_info(symbol).point
order_type=mt5.ORDER_TYPE_BUY
price=mt5.symbol_info_tick(symbol).ask
sl=mt5.symbol_info_tick(symbol).ask-100
tp=mt5.symbol_info_tick(symbol).ask+150
deviation=10
magic=2222222
comment="python order"
type_time=mt5.ORDER_TIME_GTC
type_filling=mt5.ORDER_FILLING_IOC

Отправка ордера с деталями, совпадающими с заявленными ранее.

request={
    "action":mt5.TRADE_ACTION_DEAL,
    "symbol":symbol,
    "volume":lot,
    "type":order_type,
    "price":price,
    "sl":sl,
    "tp":tp,
    "deviation":deviation,
    "magic":magic,
    "comment":comment,
    "type_time":type_time,
    "type_filling":type_filling,
    } 

Проверьте наличие достаточных средств для выполнения запрошенной торговой операции, используя (order_check) в качестве эквивалента результирующего значения. Результат проверки возвращается в виде структуры MqlTradeCheckResult.

result=mt5.order_check(request)

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

result=mt5.order_send(request)

Теперь необходимо завершить соединение с терминалом MetaTrader 5, установленное ранее с помощью функции shutdown().

mt5.shutdown()

Следовательно, полный код может быть расположен таким же образом, как показано ниже.

import MetaTrader5 as mt5
print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
symbol="XAUUSD"
lot=0.01
point=mt5.symbol_info(symbol).point
order_type=mt5.ORDER_TYPE_BUY
price=mt5.symbol_info_tick(symbol).ask
sl=mt5.symbol_info_tick(symbol).ask-100
tp=mt5.symbol_info_tick(symbol).ask+150
deviation=10
magic=2222222
comment="python order"
type_time=mt5.ORDER_TIME_GTC
type_filling=mt5.ORDER_FILLING_IOC
request={
    "action":mt5.TRADE_ACTION_DEAL,
    "symbol":symbol,
    "volume":lot,
    "type":order_type,
    "price":price,
    "sl":sl,
    "tp":tp,
    "deviation":deviation,
    "magic":magic,
    "comment":comment,
    "type_time":type_time,
    "type_filling":type_filling,
    }    
result=mt5.order_check(request)
result=mt5.order_send(request)
mt5.shutdown()

Результат, полученный при выполнении кода, будет выглядеть так:

  • MetaTrader5 PKG version:  5.0.4424
  • MetaTrader5 PKG author:  MetaQuotes Ltd.
  • MT5 initialized Successfully
  • Была инициирована сделка на покупку золота (XAUUSD) по цене Ask с размером лота 0,01, стоп-лосс по цене Ask минус 100 и тейк-профит по цене Ask плюс 150.

buyTrade

Третье применение: использование MT5 Python API для получения данных:

Множество задач можно выполнить с помощью использования MQL5 и Python в контексте управления данными. В этом разделе будет представлен простой пример, связанный с торговлей, в котором финансовые данные получаются с помощью API MT5 Python. Помимо построения графика для наглядности, будет получена, распечатана и визуализирована в виде линейного графика цена на золото (XAUUSD) с 1 августа 2023 года по настоящее время (12 августа 2024 года). Для этого процесса будут представлены следующие шаги.

Нужно импортировать необходимые библиотеки:

Модуль MetaTrader 5, обозначенный как "mt5", должен быть импортирован для будущего использования в качестве объекта для взаимодействия с торговым терминалом MetaTrader 5, как было определено ранее.

import MetaTrader5 as mt5

Библиотека Pandas импортируется как pd для обработки и анализа данных.

import pandas as pd

plotly.express импортируется как px для использования при визуализации данных для представления данных XAUUSD.

import plotly.express as px

Импорт графиков из plotly.offline для облегчения создания графиков без необходимости подключения к Интернету.

from plotly.offline import plot

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

from datetime import datetime

Отображение информации о пакете MetaTrader 5 (версия и автор).

print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)

Терминал MetaTrader 5 инициализируется, и на консоль выводится сообщение, указывающее, была ли инициализация успешной. Если инициализация прошла успешно, появится сообщение "MT5 initialized successfully". И наоборот, если инициализация не удалась, отображается сообщение "MT5 initialization failed, error code", а также код ошибки и последнее сообщение об ошибке.

if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())

Исторические данные (открытие, максимум, минимум, закрытие, объем, спред и реальный объем) по XAUUSD были получены с платформы MetaTrader 5. Для этой цели использовалась следующая команда:

  • pd.DataFrame - создается с определенными критериями, что приведет к двухмерной маркированной структуре данных.
  • mt5.copy_rates_range - используется для определения типа данных с точки зрения символа (XAUUSD), таймфрейма (mt5.TIMEFRAME_D1), начальной даты (datetime(2023,8,1)) и конечной даты (datetime.now()).
xauusd_data=pd.DataFrame(mt5.copy_rates_range("XAUUSD", mt5.TIMEFRAME_D1, datetime(2023,8,1), datetime.now()))

Столбец времени преобразуется из временных меток Unix в читаемый формат даты и времени с помощью функции pandas.to_datetime.

xauusd_data['time'] = pd.to_datetime(xauusd_data['time'],unit='s')

Полученные данные для XAUUSD должны быть выведены в соответствии со следующей строкой кода.

print(xauusd_data)

Полученные данные были нанесены на график с помощью функции px.line, которая позволяет создавать линейный график с помощью Plotly Express. На этом графике представлена цена XAUUSD с первого августа 2023 года по настоящее время.

fig = px.line(xauusd_data, x=xauusd_data['time'], y=xauusd_data['close'])
plot(fig)

Полный код показан ниже.

import MetaTrader5 as mt5
import pandas as pd
import plotly.express as px
from plotly.offline import plot
from datetime import datetime
print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
xauusd_data=pd.DataFrame(mt5.copy_rates_range("XAUUSD", mt5.TIMEFRAME_D1, datetime(2023,8,1), datetime.now()))
xauusd_data['time'] = pd.to_datetime(xauusd_data['time'],unit='s')
print(xauusd_data)
fig = px.line(xauusd_data, x=xauusd_data['time'], y=xauusd_data['close'])
plot(fig)

При выполнении кода получены следующие результаты.

  • Сообщение (MetaTrader5 PKG version: 5.0.4424) было выведено на консоль
  • Сообщение (MetaTrader5 PKG author: MetaQuotes Ltd.) было выведено на консоль
  • Сообщение (MT5 initialized Successfully) выводится на консоль
  • Данные XAUUSD, выведенные на консоль, представлены ниже.

XAUUSD_data

  • График XAUUSD в браузере выглядит так:

XAUUSD_plot

Как показано на рисунке, линейный график отображает цены закрытия на золото (XAUUSD) с течением времени, охватывающим период с августа 2023 года по настоящее время. Вышеупомянутые простые приложения демонстрируют потенциал использования Python с MQL5 в различных аспектах автоматизированной торговли, анализа данных и других связанных задач.


Заключение

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

В статье продемонстрировано использование Python совместно с MQL5. Кроме того, в статье описаны шаги, необходимые для настройки среды Python для MetaTrader 5. Организовав эффективный рабочий процесс, разработчики могут более эффективно управлять зависимостями и повышать масштабируемость своих торговых систем. Python способен автоматизировать задачи и анализировать рыночные тренды. Это демонстрируется практическим применением, включая открытие MetaTrader 5, совершение сделок, получение данных об активах и их визуализацию.

Надеюсь, статья поможет вам начать использовать Python с MQL5. Эксперименты с различными приложениями могут быть весьма полезны как для трейдеров, так и для разработчиков. Дополнительная информация:

  • Python for Dummies by Stef Maruch
  • Python Crash Course by Eric Matthes
  • Python All-In-One by John Shovic and Alan Simpson

Документация на сайте MQL5: https://www.mql5.com/en/docs/python_metatrader5

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/14135

Прикрепленные файлы |
openMT5.py (0.39 KB)
openPosition.py (1.22 KB)
getData.py (0.84 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (4)
Dibea Koffi Badjo
Dibea Koffi Badjo | 31 авг. 2024 в 21:44

Очень интересно, но, к сожалению, библиотека metaTrader python пока недоступна на MacOs.

Omar Saghir
Omar Saghir | 30 нояб. 2024 в 14:31

Спасибо,

только нашел ошибку в 3-м приложении

import plotly.express as px не удалось разрешить

from plotly.offline import plot could not be resolved


Я решил эту проблему, переустановив : pandas и matplotlib

c:\pip install MetaTrader5 pandas matplotlib


затем измените код следующим образом:


import MetaTrader5 as mt5
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime

# Initialisation de MetaTrader 5
if not mt5.initialize():
    print("Erreur d'initialisation :", mt5.last_error())
    quit()
print("MT5 initialized Successfully")

# Définir les paramètres
symbol = "XAUUSD"
start_date = datetime(2023, 8, 1)
end_date = datetime(2024, 8, 12)

# Vérifier si le symbole est disponible
if not mt5.symbol_select(symbol, True):
    print(f"Le symbole {symbol} n'est pas disponible.")
    mt5.shutdown()
    quit()

# Récupérer les données historiques
rates = mt5.copy_rates_range(symbol, mt5.TIMEFRAME_D1, start_date, end_date)
if rates is None:
    print("Erreur lors de la récupération des données :", mt5.last_error())
    mt5.shutdown()
    quit()

# Convertir les données en DataFrame pandas
data = pd.DataFrame(rates)
data['time'] = pd.to_datetime(data['time'], unit='s')  # Convertir les timestamps en datetime

# Afficher les premières lignes des données
print(data.head())

# Visualiser les données sous forme de graphique
plt.figure(figsize=(10, 6))
plt.plot(data['time'], data['close'], label=f"Prix de clôture {symbol}", color="blue")
plt.title(f"Prix de l'or ({symbol}) du {start_date.date()} au {end_date.date()}")
plt.xlabel("Date")
plt.ylabel("Prix")
plt.legend()
plt.grid()
plt.show()

# Déconnexion de MetaTrader 5
mt5.shutdown()



Надеюсь, это поможет

Gustavo Hennemann
Gustavo Hennemann | 13 янв. 2025 в 06:15
Omar Saghir #:

Спасибо,

просто найдите ошибку в третьем приложении

import plotly.express as px не может быть разрешена

из plotly.offline import plot не удалось разрешить

Я решил эту проблему, переустановив : pandas и matplotlib

c:\pip install MetaTrader5 pandas matplotlib

...


Также можно установить библиотеку Plotly:

pip install plotly

Подробнее:

https://plotly.com/python/getting-started/

Alexey Volchanskiy
Alexey Volchanskiy | 22 февр. 2025 в 09:37
Спасибо автору, хороший пример. Было бы интересно почитать статью про использование инструментов машинного обучения, таких, как scikit-learn, TensorFlow и Keras через связку MQL5+Python. 
Нейросети в трейдинге: Гибридные модели последовательностей графов (GSM++) Нейросети в трейдинге: Гибридные модели последовательностей графов (GSM++)
Гибридные модели последовательностей графов (GSM++) объединяют сильные стороны различных архитектур, обеспечивая высокую точность анализа данных и оптимизацию вычислительных затрат. Эти модели эффективно адаптируются к динамическим рыночным данным, улучшая представление и обработку финансовой информации.
Разработка системы репликации (Часть 68): Настройка времени (I) Разработка системы репликации (Часть 68): Настройка времени (I)
Сегодня мы продолжим работу над тем, чтобы заставить указатель мыши сообщать нам об оставшемся времени бара в периоды низкой ликвидности. Хотя на первый взгляд кажется, что всё просто, на самом деле эта задача гораздо сложнее. Это связано с некоторыми препятствиями, которые нам придется преодолеть. Поэтому важно, чтобы вы хорошо усвоили материал из первой части данной серии, чтобы понять следующие части.
Оптимизация наследованием крови — Blood inheritance optimization (BIO) Оптимизация наследованием крови — Blood inheritance optimization (BIO)
Представляю вашему вниманию мой новый популяционный алгоритм оптимизации BIO (Blood Inheritance Optimization), вдохновленный системой наследования групп крови человека. В этом алгоритме каждое решение имеет свою "группу крови", определяющую способ его эволюции. Как и в природе, группа крови ребенка наследуется по особым правилам, в BIO новые решения получают свои характеристики через систему наследования и мутаций.
Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I) Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I)
В этой статье мы разработаем наш первый советник на MQL5 на основе индикатора, который мы создали в предыдущей статье. Мы рассмотрим все функции, необходимые для автоматизации процесса, включая управление рисками. Это позволит перейти от ручного выполнения сделок к автоматизированным системам.