Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
MetaTrader 5 Python User Group - как использовать Python в Metatrader
Ренат Фатхуллин, 2019.03.13 22:40
Мы готовим модуль MetaTrader 5 для Python, аналогичный R.
Как ипакет для R, мы пока тестируем на простых функциях извлечения данных из рабочей копии терминала.
Как можно проверить работу:
- Установите Python 3.7.2 x64 с сайтаhttps://www.python.org/downloads/windows/, указав% путь в% PATH.
- Установите matplotlib для поддержки графиков.
pip install matplotlib
- Запустите установку пакета Python
.pip install MetaTrader5
- На компьютере должен быть установлен MetaTrader 5 сборки 2007 или выше.
- Запустите тестовый скрипт
.python metatrader5-test.py
- Терминал MetaTrader 5 запустится в фоновом режиме, данные будут извлечены, показаны в консоли и построены графики
Тестовый код:
from datetime import datetime from MetaTrader5 import * MT5Initialize() MT5WaitForTerminal() print(MT5TerminalInfo()) print(MT5Version()) ticks1 = MT5CopyTicksFrom( "EURAUD" , datetime( 2019 , 1 , 28 , 13 ), 10000 , MT5_COPY_TICKS_ALL) ticks2 = MT5CopyTicksRange( "AUDUSD" , datetime( 2019 , 1 , 27 , 13 ), datetime( 2019 , 1 , 28 , 13 , 1 ), MT5_COPY_TICKS_ALL) rates1 = MT5CopyRatesFrom( "EURUSD" , MT5_TIMEFRAME_M1, datetime( 2019 , 1 , 28 , 13 ), 1000 ) rates2 = MT5CopyRatesFromPos( "EURRUB" , MT5_TIMEFRAME_M1, 0 , 1000 ) rates3 = MT5CopyRatesRange( "EURPLN" , MT5_TIMEFRAME_M1, datetime( 2019 , 1 , 27 , 13 ), datetime( 2019 , 1 , 28 , 13 )) MT5Shutdown() #DATA print( 'ticks1(' , len(ticks1), ')' ) for val in ticks1[: 10 ]: print(val) print( 'ticks2(' , len(ticks2), ')' ) for val in ticks2[: 10 ]: print(val) print( 'rates1(' , len(rates1), ')' ) for val in rates1[: 10 ]: print(val) print( 'rates2(' , len(rates2), ')' ) for val in rates2[: 10 ]: print(val) print( 'rates3(' , len(rates3), ')' ) for val in rates3[: 10 ]: print(val) #PLOTTING x_time = [x.time for x in rates2] y_open = [y.open for y in rates2] y_close = [y.close for y in rates2] import matplotlib.pyplot as plt plt.plot(x_time, y_open, 'g-' ) plt.plot(x_time, y_close, 'r-' ) plt.show()
Позже мы добавим больше возможностей и разместим пакет в публичном репозитории пакетов Python, чтобы вы могли установить его правильно.
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
MetaTrader 5 Python User Group - как использовать Python в Metatrader
Ренат Фатхуллин, 2019.03.14 14:54
Это интеграция в одну сторону.
То есть из Python / R можно запросить данные у терминала MetaTrader 5. Сам терминал ничего не знает о внешних пользователях и ничего им не передает. От тестера тем более.
Интеграционные пакеты предназначены для того, чтобы аналитики могли использовать рыночные данные в своей среде.
Этот пакет недоступен на PYPI. Ссылка на репо PYPI в ОП не является пакетом, который предназначен для использования с новым API.
Первое сообщение - это просто информация, которую я собрал с этого портала mql5, включая тему, начатую MQ.
А этот пост #1 (от MQ) следует использовать как инструкцию.
Машинный перевод с русского на английский (обсуждение идет при участии, например, MQ)
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
MetaTrader 5 R User Group - как использовать R в Metatrader
Владимир Перервенко, 2019.03.15 11:35
От "R или Python" к "R и Python"
Давайте рассмотрим различные аспекты этих языков, что в каждом из них хорошо, а что не очень.
Python
С момента своего выхода в 1991 году Python стал чрезвычайно популярным и широко используется в обработке данных. Вот некоторые из причин его широкой популярности:
- объектно-ориентированный язык
- универсальный
- имеет множество расширений и невероятную поддержку сообщества
- прост и легок в освоении
- такие пакеты, как pandas, numpy и scikit-learn, делают Python отличным выбором для машинного обучения.
- Однако в Python нет специализированных пакетов для статистических расчетов, в отличие от R
Первый релиз языка был выпущен в 1995 году и с тех пор стал де-факто стандартным языком для науки о данных. Состоит из пакетов для использования во многих областях науки о данных. Я приведу лишь список задач, которые решаются пакетами R:
Темы
- Bayesian - Bayesian Inference.
- Chemphys - Хемометрика и вычислительная физика
- ClinicalTrials - Дизайн, мониторинг и анализ клинических испытаний
- Cluster - Cluster Analysis & Finite Mixture Models
- Базы данных - Базы данных с R
- DifferentialEquations - Дифференциальные уравнения
- Распределения - Распределения вероятностей
- Эконометрика - Эконометрика
- Environmetrics - Анализ экологических и природоохранных данных
- ExperimentalDesign - проектирование экспериментов (DoE) и анализ экспериментальных данных
- ExtremeValue - Анализ экстремальных значений
- Финансы - Эмпирические финансы
- FunctionalData - Функциональный анализ данных
- Генетика - Статистическая генетика
- Графика - Графические дисплеи и динамическая графика, графические устройства и визуализация
- HighPerformanceComputing - Высокопроизводительные и параллельные вычисления с R
- Гидрология - Гидрологические данные и моделирование
- MachineLearning - Машинное обучение и статистическое обучение
- MedicalImaging - Анализ медицинских изображений
- Мета-анализ - Мета-анализ
- MissingData - Недостающие данные
- ModelDeployment - Развертывание моделей с помощью R
- Многомерная статистика - Многомерная статистика
- NaturalLanguageProcessing - Обработка естественного языка
- NumericalMathematics - Числовая математика
- OfficialStatistics - Официальная статистика и методология опросов
- Оптимизация - Оптимизация и математическое программирование
- Фармакокинетика - Анализ фармакокинетических данных
- Филогенетика - Филогенетика, особенно сравнительные методы
- Психометрика - Психометрические модели и методы
- Воспроизводимые исследования - Воспроизводимые исследования
- Робастные - Робастные статистические методы
- SocialSciences - Статистика для социальных наук
- Spatial - Анализ пространственных данных
- SpatioTemporal - Обработка и анализ пространственно-временных данных
- Survival - Анализ выживания
- TimeSeries - анализ временных рядов
- WebTechnologies - веб-технологии и сервисы
- gR - gRaphical Models in R.
Это быстрый и очень поверхностный взгляд на два языка. Почему бы не использовать Python и R вместе?
Подробнее -
встраивать код Python вместе с R.
rPython - снова пакет, позволяющий R вызывать Python. Он позволяет запускать Python-код, выполнять вызовы функций, присваивать и получать из него переменные (отсутствует в репозитории для R 3.5.2).
SnakeCharmR - это современная, переработанная версия rPython. Это rPython, который использует "jsonlite" и имеет множество улучшений по сравнению с rPython. (отсутствует в репозитории для R 3.5.2)
PythonInR - упрощает доступ к Python из R, предоставляя функции для взаимодействия с Python изнутри R.
reticulate - пакет предоставляет полный набор инструментов для взаимодействия между Python и R. Из всех вышеперечисленных альтернатив эта наиболее широко используется, тем более что она активно развивается Rstudio. Reticulate встраивает сессию Python в сессию R, обеспечивая бесшовное и высокопроизводительное взаимодействие. Пакет позволяет ретикулировать Python-код в R, создавая новую породу проектов, объединяющих два языка.
После завершения подготовки данных, начатой в предыдущих постах, я покажу, как легко использовать пакеты Python в проектах на R на примере пакета CatBoost.
Удачи
Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий
MetaTrader 5 Python User Group - как использовать Python в Metatrader
Ренат Фатхуллин, 2019.03.15 23:09
Пакет MetaTrader5 уже есть в 32/64 библиотеках для Python 3.7 и ставится одной строкой.
pip install MetaTrader5
документацию по MQL5.
Здравствуйте, меня заинтересовал ваш проект, я программист на питоне, этот модуль на питоне будет иметь систему взаимодействия с заказами на покупку и продажу.
Я не кодер (и это не мой проект).
Я просто собираю всю информацию, связанную с этой темой (это обобщающий поток).
Прочитайте это сообщение #1 от MetaQuotes.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Основное исследование
Статья
Помощь по Metatrader 5
----------------
Кодовая база
----------------
Форум
----------------
Блоги
Что почитать - Python для финансов: Analyze Big Financial Data - запись в блоге (книга)
----------------
больше, чтобы следовать ...