Python для алготрейдинга

 

Язык MQL5 разработан и оптимизирован для создания высокопроизводительных торговых приложений на финансовых рынках.

Он предлагает более высокую скорость и превосходную производительность по сравнению с другими специализированными языками программирования, используемыми в алгоритмической торговле, а его синтаксис аналогичен C++.

MQL5 поддерживает OpenCL, а также предоставляет готовые библиотеки статистики, нечеткой логики и ALGLIB. Среда разработки MetaEditor имеет встроенную нативную поддержку .NET библиотек с "умным" импортом функций   — библиотеки .NET можно использовать без написания специальных оберток. При разработке торговых программ на MQL4/MQL5 вы можете легко использовать сторонние C++ DLL. Файлы исходных кодов на С++ (CPP и H) можно редактировать аналогично файлам MQ4, MQ5 и MQH.


Python — популярный язык машинного обучения благодаря его обширным библиотекам и инструментам для анализа данных и научных вычислений, таких как NumPy, Pandas и Scikit-learn.

Он также поддерживает платформы машинного обучения TensorFlow и PyTorch для создания и обучения сложных нейронных сетей. Популярность Python в сообществе машинного обучения означает, что существует множество онлайн-ресурсов и сообществ, доступных разработчикам для обучения и обмена знаниями.


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

Documentation on MQL5: Python Integration
Documentation on MQL5: Python Integration
  • www.mql5.com
Python Integration - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Введение и настройка



Введение и настройка | Торговля с Python

В этом видео представлена серия «Торговля с помощью Python», в которой рассматриваются основы настройки Python и открытия торгового счета у брокера. В руководстве рассматривается процесс загрузки Python и MT5 IDE, установки библиотеки MetaTrader5 и создания скрипта Python для открытия сделки. Спикер объясняет использование методов IOC и GTC для заполнения ордеров и демонстрирует, как скрипт отправляет ордер на сервер MT5. Видео заканчивается успешным выполнением торгового приказа.

  • 00:00:00 В этом разделе видео представляет собой введение в серию «Торговля с помощью Python», рассказывая о том, как начать работу с Python, как открыть торговый счет у брокера и как писать программы Python в редакторе Meta Editor, которые это интегрированная среда разработки для МТ5. В видео показано, как загрузить Python, убедиться, что он добавлен в путь, установить библиотеку MetaTrader5 и открыть Meta Editor для создания вашего первого скрипта Python. Чтобы продемонстрировать процесс, в видео представлен пример скрипта для открытия сделки, определяющий символ, размер лота, цену, стоп-лосс, тейк-профит, отклонение, магическое число и комментарии. Скрипт запускается в платформе MetaTrader 5, в результате чего открывается сделка.

  • 00:05:00 В этом разделе спикер обсуждает использование методов GTC (перейти к отмене) и IOC (немедленно или отменить) для исполнения ордеров, причем IOC — это тип ордера, который частично выполняет ордер и отменяет остальную часть, если это невозможно полностью заполнен. Затем они объясняют, как скрипт отправляет ордер на сервер MT5, и включают оператор печати, чтобы подтвердить, был ли ордер успешным или нет. Демонстрация скрипта на МТ5 показывает успешное исполнение ордера. Наконец, видео заканчивается, и спикер благодарит зрителей за просмотр и предлагает им подписаться на канал.
Introduction & Setup | Trading with Python #0
Introduction & Setup | Trading with Python #0
  • 2021.10.27
  • www.youtube.com
In this video I will show you:- how to set up Python- how to open a trading account- write code in MetaEditor- create a Python script that can run in MetaTra...
 

Jupyter Notebook и рыночные данные



Jupyter ноутбук и рыночные данные | Торговля с Python #1

Видео «Jupyter Notebook & Market Data | Trading with Python #1» знакомит зрителей с Jupyter Notebook и рыночными данными. Jupyter Notebook — популярная веб-среда кодирования, используемая для визуализации и анализа данных, разработки стратегии и тестирования на исторических данных. Зрители могут получить доступ к рыночным данным, таким как технические данные и данные OHLC, извлекая символы следа из Metatrader 5 и запрашивая рыночные данные. Рассказчик демонстрирует, как получать цены спроса и предложения с помощью Python, используя библиотеку datetime, и как периодически запрашивать данные через цикл while с использованием модуля time, что приводит к обновлениям в реальном времени.

  • 00:00:00 В этом разделе зрители знакомятся с Jupyter Notebook и рыночными данными. Jupyter Notebook — это веб-среда кодирования, популярная среди специалистов по обработке и анализу данных и машиностроителей, которая функционирует как Django для визуализации данных. Преимущества Jupyter Notebooks включают анализ данных, визуализацию, разработку стратегии и тестирование на истории. Между тем, зрители могут использовать определенные рыночные данные, такие как технические данные и данные OHLC, извлекая символы следа из Metatrader 5 и запрашивая рыночные данные. Зрители также могут развертывать торговые стратегии в среде MT5, чтобы управлять своими рисками и отслеживать свои сделки. В видео объясняется, как установить Jupiter Notebook с помощью pip и как создать каталог под названием Trading With Python перед переходом на сервер Jupiter. Наконец, чтобы запросить данные о цене от определенного символа, зрители могут использовать код «пустой пятиточечный информационный тик символа».

  • 00:05:00 В этом разделе видео рассказчик демонстрирует, как получить цены спроса и предложения с помощью Python, используя библиотеку datetime. Сначала они показывают, как преобразовать метку времени Unix в объект даты и времени и как периодически запрашивать данные через цикл while с использованием модуля time. Полученный результат отображает обновленные цены спроса и предложения в режиме реального времени.
Jupyter Notebook & Market Data | Trading with Python #1
Jupyter Notebook & Market Data | Trading with Python #1
  • 2021.10.28
  • www.youtube.com
In this video I will show you:-How to setup Jupyter Notebook Environment-Extract Tradable symbols from MetaTrader5-Request Market DataPlaylist with all Tradi...
 

Подключение Python к MetaTrader 5



Подключение Python к MetaTrader 5

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

  • 00:00:00 В этом разделе видеоруководство знакомит с интеграцией Python в платформу MetaTrader5. Платформа имеет собственную документацию, где люди могут запрашивать рыночные данные, анализировать данные и совершать сделки, используя алгоритмическую стратегию. Для работы с Python видео объясняет самые основные команды, импортируя библиотеки MetaTrader5, pandas, plotly и datetime. Затем видео демонстрирует инициализацию и вход в торговый счет, а также получение информации об учетной записи, такой как номер входа, кредитное плечо, баланс и капитал. Раздел заканчивается объяснением того, как использовать mt.symbolstotal для получения общего количества символов, предлагаемых брокером, и как использовать empty.symbols get для получения таких данных, как маржинальные требования и размеры контрактов для каждого символа.

  • 00:05:00 В этом разделе спикер обсуждает, как получить данные по символу с помощью Python и MetaTrader 5. Спикер объясняет, что с помощью команды получения символов с пустой точкой можно получить данные по всем символам, а с помощью пустой точки информация о символе с конкретным именем символа будет возвращать данные только для этого символа. Докладчик также показывает, как получить текущую цену символа, используя информационный тик символа, и как получить данные открытия, максимума, минимума и закрытия (OHLC) или данные свечи, используя диапазон частот копирования пустых точек. Выполняя анализ данных и калибруя индикаторы на основе этих данных, можно разрабатывать собственные торговые стратегии. Наконец, спикер демонстрирует, как проверить фактические тики и транзакции символа, используя диапазон тиков mt dot copy, чтобы увидеть историю всех цен покупки и продажи на платформе.

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

  • 00:15:00 В этом разделе видео объясняется, как открывать и закрывать сделки через Python с помощью MetaTrader5. Запрос в MetaTrader5 должен иметь такие параметры, как действие, символ, объем, тип, стоп-лосс, тейк-профит, отклонение, магия, комментарий, время ордера и тип заполнения. Затем в видео показано, как включить алгоритмическую торговлю и выполнить ордер через Python, что подтверждает открытие позиции через платформу. Наконец, видео объясняет, как закрыть позицию, указав номер позиции и объем, и демонстрирует с помощью Python, что можно закрыть позицию с определенным идентификатором тикета через MetaTrader5.

  • 00:20:00 В этом разделе видео ведущий демонстрирует, как закрыть позицию с помощью Python в MetaTrader5. Он показывает, что, скопировав идентификатор тикета позиции, можно заменить его на ту позицию, которую необходимо закрыть. При успешной замене позиция закрывается и платформа показывает ноль открытых позиций. Ведущий предлагает зрителям задавать любые вопросы о документации по MetaTrader5 или интеграции скриптов Python в MetaTrader5 в разделе комментариев.
Connect Python to MetaTrader5
Connect Python to MetaTrader5
  • 2021.10.04
  • www.youtube.com
Hey everyone, in this video, we will look at the MetaTrader5 Python integration.00:00 Intro00:27 Imports01:09 Initialize MT5 01:46 Logging in02:30 Account In...
 

Торговля с Python. Код простого торгового робота



Код простого торгового робота | Торговля с Python

В видеоуроке показано, как написать простой торговый робот на Python с использованием платформы MetaTrader 5. Робот использует простую стратегию пересечения скользящих средних: покупка происходит, когда свеча закрывается выше скользящей средней, и продается, когда свеча закрывается ниже нее. Докладчик объясняет код, написанный на Python для этой стратегии, включая функции для рыночных ордеров, закрытия ордеров и получения информации о конкретных символах. Функция signal формирует торговые сигналы на основе стратегии, а настройки робота определяют параметры символа, объема, таймфрейма и отклонения. В видео также рассматривается логика торговой стратегии и код, необходимый для ее реализации, с сигналами на покупку и продажу, которые приводят к ордерам на покупку или продажу соответственно. Зрителям предлагается предлагать торговые идеи или стратегии для потенциальных тем видео.

  • 00:00:00 В этом разделе видеоурока автор объясняет, как закодировать простого торгового робота с помощью Python и платформы MetaTrader 5 (MT5). Торговый робот использует простую стратегию пересечения скользящих средних, при которой покупка происходит, когда свеча закрывается выше скользящей средней, а продажа происходит, когда свеча закрывается ниже нее. Создатель демонстрирует код, написанный на Python для этой стратегии, который включает в себя функции, разработанные для упрощения написания стратегии автоматической торговли. Эти функции включают в себя рыночный ордер для размещения ордеров, ордер на закрытие для закрытия ордеров и получение экспозиции для получения экспозиции по определенному символу. Создатель также объясняет сигнальную функцию, используемую для генерации торговых сигналов на основе простой стратегии пересечения скользящих средних. Наконец, создатель уточняет параметры символа, объема, таймфрейма и отклонения, необходимые для определения настроек торговой стратегии для робота.

  • 00:05:00 В этом разделе ведущий рассказывает о логике торговой стратегии и коде, необходимом для ее реализации. Стратегия использует функции, определенные в предыдущих разделах, для покупки или продажи на основе сигнала, сгенерированного кодом. Если дан сигнал на покупку, код проверяет, есть ли какие-либо открытые короткие позиции, и закрывает их перед созданием ордера на покупку, если таковых нет. Противоположное происходит с сигналом на продажу. Код также включает операторы печати для предоставления информации о стратегии и использует функцию сна для обновления стратегии каждую секунду. Ведущий показывает, как добавить стратегию на платформу МТ5 и запустить ее. Они также призывают зрителей оставлять торговые идеи или стратегии в разделе комментариев для потенциальных тем видео.
Code a simple Trading Robot | Trading with Python
Code a simple Trading Robot | Trading with Python
  • 2021.10.29
  • www.youtube.com
In this video I will show you:- How to code a simple trading robot- How to deploy the robot to trade through MetaTrader5Playlist with all Trading with Python...
 

Как отправить ордер на рынок



Как отправлять ордера на рынок | Торговля с Python #3

В этом видеоруководстве ведущий демонстрирует, как отправлять рыночные ордера с помощью Python и MetaTrader 5. В учебном пособии рассматривается создание словаря запросов с параметрами для рыночного ордера, включая торговое действие, символ, объем и тип ордера, а также дополнительные параметры. такие как стоп-лосс, тейк-профит, отклонение и комментарий. В видео также рассматривается закрытие открытых позиций с использованием метода position get и передача номера тикета ордера. Затем руководство переходит к открытию лимитного или стоп-ордера с указанием цены, объема и других параметров, а также к изменению и удалению ордеров с помощью команд mt5.trade action стоп-лосс-тейк-профит и mt5.trade action remove соответственно.

  • 00:00:00 В этом разделе видеоруководство демонстрирует, как отправлять рыночные ордера на торговую платформу с помощью Python и MetaTrader 5. В учебном пособии объясняется, что рыночный ордер — это тип ордера, который мгновенно открывает позицию на покупку или продажу по цене текущая цена. В докладе показано, как создать словарь запросов с параметрами рыночного ордера, включая указание торгового действия, символа, объема и типа ордера. Он также описывает дополнительные параметры, такие как стоп-лосс и тейк-профит, отклонение и комментарий, и объясняет, как передать словарь для отправки ордера. Наконец, в руководстве показано, как закрыть открытую позицию, используя получение позиций и передачу номера тикета ордера.

  • 00:05:00 В этом разделе видео объясняет, как закрывать позиции в платформе. В функции торгового действия необходимо указать позицию и тип ордера, а также указать объем в случае частичного закрытия. Затем видео переходит к объяснению того, как открыть лимитный ордер с желаемой ценой, объемом, типом и другими параметрами, такими как стоп-лосс, тейк-профит и комментарий. Тот же метод можно использовать для стоп-ордеров, а для изменения ордеров необходимо получить существующий номер тикета, а затем ввести новые спецификации.
    |
  • 00:10:00 В этом разделе спикер объясняет, как модифицировать ордера и удалять их с помощью Python на МТ5. Чтобы изменить ордер, трейдеру необходимо использовать команду mt5.trade action стоп-лосс-тейк-профит с четырьмя параметрами: стоп-лосс, тейк-профит, идентификатор позиции и значения. Указав эти входные данные, трейдер может обновить свои значения стоп-лосса и тейк-профита. Для удаления ордеров им необходимо использовать команду mt5.trade action remove с одним параметром — номером ордера тикета, который можно найти в разделе отложенных ордеров. При этом трейдер может удалить любые отложенные ордера, которые не были исполнены по прошествии определенного времени.
 

Как закрыть ВСЕ позиции



Как закрыть ВСЕ позиции | Торговля с Python #4

В видеоуроке показано, как использовать Python для закрытия всех позиций в торговой платформе MetaTrader 5. Это влечет за собой импорт библиотеки MetaTrader5 и использование метода mt5.positions.get для получения текущего списка открытых позиций. Затем определяется функция close_position, использующая метод mt5.symbol_info_tick для получения текущей цены и словаря запросов для связи с торговой платформой. Программа перебирает список открытых позиций, передавая каждую позицию функции close_position для закрытия каждой сделки. Рассказчик предоставляет ссылку на код и список воспроизведения учебника для дальнейшего обучения Python.

 

Извлечение и визуализация данных



Извлечение и визуализация данных | Торговля с Python #5

Видео демонстрирует, как извлекать и визуализировать ежедневные данные OHLC для символа EURUSD из MetaTrader 5 с помощью Python. Процесс включает в себя импорт библиотек, таких как MetaTrader 5, pandas и Plotly.graph_objects, для визуализации данных. Извлеченные данные преобразуются в фрейм данных Pandas и визуализируются с помощью функции Plotly OHLC. Докладчик также показывает, как скрыть ползунок диапазона на графике, и предоставляет ссылки для загрузки кода и других видеороликов о торговле с помощью Python.

Extract and Visualize Data | Trading with Python #5
Extract and Visualize Data | Trading with Python #5
  • 2021.11.01
  • www.youtube.com
In this video I will show you:- How to Extract and Visualize Data in MetaTrader5 through PythonPlaylist with all Trading with Python videos:https://www.youtu...
 

Код скользящего стоп-лосса



Код скользящего стоп-лосса | Торговля с Python #6

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

  • 00:00:00 В этом разделе видео демонстрируется, как закодировать робота трейлинг-стоп-лосс с помощью Python. Видео начинается с объяснения того, как скользящий стоп-лосс может помочь трейдерам ограничить убытки и максимизировать прибыль. Затем ведущий показывает, как настроить необходимые переменные конфигурации и подключить Python к платформе привода перед получением необходимых данных из открытой позиции. Далее в видео показано, как рассчитать расстояние между текущей ценой и стоп-лоссом и определить максимальное расстояние между ними. Наконец, докладчик демонстрирует, как использовать закодированную функцию для применения стоп-лосса к открытым позициям с помощью платформы MetaTrader 5.

  • 00:05:00 В этом разделе видео показывает настройку максимального стоп-лосса, суммы исполнения и стоп-лосса по умолчанию. Скрипт позволяет обновлять стоп-лосс на основе текущей цены с ограничением в шесть пунктов от стоп-лосса и торговым стоп-лоссом на три пункта, когда он превышает максимальный стоп-лосс. Скрипт также применяет стоп-лосс на 3 пункта ниже цены покупки, если для позиции нет стоп-лосса. Видео демонстрирует, как стоп-лосс следует за прибылью, а также как он обновляется до уровня безубыточности в случае пробоя. Несмотря на то, что в видеоролике торговая позиция без происшествий, демонстрация показывает, как Python можно использовать для отслеживания позиций.
Code a Trailing Stoploss | Trading with Python #6
Code a Trailing Stoploss | Trading with Python #6
  • 2021.11.03
  • www.youtube.com
In this video I will show you:- Code a Trailing Stoploss for MetaTrader5 through PythonPlaylist with all Trading with Python videos:https://www.youtube.com/p...
 

Управляйте своими позициями с Tkinter



Управляйте своими позициями с помощью Tkinter | Торговля с Python #7

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

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

  • 00:05:00 В этом разделе видео создатель обсуждает более продвинутую функцию управления открытыми позициями с помощью Tkinter. Открытые позиции сохраняются в строковой переменной и получаются с помощью функции «получить открытые позиции», которая связана с пользовательской платформой драйверов. Эти позиции отображаются с помощью списка Tkinter, который позволяет выбирать и закрывать несколько позиций одновременно. Кнопка закрытия связана с командой закрытия позиции, которая ссылается на элемент отклонения, определенный с помощью метки и записи. Наконец, программа настроена на обновление позиций в режиме реального времени и может запускаться в основном цикле корневой точки. Код доступен на сайте создателя.

  • 00:10:00 Извините, похоже, мне не предоставили выдержку из расшифровки стенограммы, которую я мог бы обобщить. Предоставленный вами текст является призывом к действию в конце видео от создателя. Если у вас есть какие-то конкретные выдержки из стенограммы, я буду рад предоставить краткое изложение.
Manage your positions with Tkinter | Trading with Python #7
Manage your positions with Tkinter | Trading with Python #7
  • 2021.11.04
  • www.youtube.com
In this video, we will create a Tkinter app with Python to manage our positions in MetaTrader5.Playlist with all Trading with Python videos:https://www.youtu...
 

ПОЛУЧАЙТЕ оплату за то, что ваши сделки открыты



ПОЛУЧАЙТЕ оплату за то, что ваши сделки остаются открытыми | Торговля с Python #8

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

GET PAID for holding your Trades open | Trading with Python #8
GET PAID for holding your Trades open | Trading with Python #8
  • 2021.11.05
  • www.youtube.com
In this video, we will discuss Carry Trading and Positive Swaps and how to find them.Playlist with all Trading with Python videos:https://www.youtube.com/pla...
Причина обращения: