Группа пользователей MetaTrader 5 Python - краткое содержание

 

Основное исследование

----------------

Статья

----------------

Помощь по Metatrader 5

----------------

Кодовая база

----------------

Форум

----------------

Блоги

Что почитать - Python для финансов: Analyze Big Financial Data - запись в блоге (книга)

----------------

больше, чтобы следовать ...

Python Releases for Windows
Python Releases for Windows
  • www.python.org
The official home of the Python Programming Language
 

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

MetaTrader 5 Python User Group - как использовать Python в Metatrader

Ренат Фатхуллин, 2019.03.13 22:40

Мы готовим модуль MetaTrader 5 для Python, аналогичный R.

Как ипакет для R, мы пока тестируем на простых функциях извлечения данных из рабочей копии терминала.

Как можно проверить работу:

  1. Установите Python 3.7.2 x64 с сайтаhttps://www.python.org/downloads/windows/, указав% путь в% PATH.

  2. Установите matplotlib для поддержки графиков.
    pip install matplotlib
  3. Запустите установку пакета Python
    .
    pip install MetaTrader5
  4. На компьютере должен быть установлен MetaTrader 5 сборки 2007 или выше.

  5. Запустите тестовый скрипт
    .
    python metatrader5-test.py
  6. Терминал 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 R - краткое содержание
 

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

MetaTrader 5 Python User Group - как использовать Python в Metatrader

Ренат Фатхуллин, 2019.03.14 14:54

Это интеграция в одну сторону.

То есть из Python / R можно запросить данные у терминала MetaTrader 5. Сам терминал ничего не знает о внешних пользователях и ничего им не передает. От тестера тем более.

Интеграционные пакеты предназначены для того, чтобы аналитики могли использовать рыночные данные в своей среде.


 
Этот пакет недоступен на PYPI. Ссылка на репо PYPI в ОП - это не тот пакет, который предназначен для использования с новым API.
 
nicholi shen:
Этот пакет недоступен на PYPI. Ссылка на репо PYPI в ОП не является пакетом, который предназначен для использования с новым API.

Первое сообщение - это просто информация, которую я собрал с этого портала mql5, включая тему, начатую MQ.
А этот пост #1 (от MQ) следует использовать как инструкцию.

 

Машинный перевод с русского на английский (обсуждение идет при участии, например, MQ)

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

MetaTrader 5 R User Group - как использовать R в Metatrader

Владимир Перервенко, 2019.03.15 11:35

От "R или Python" к "R и Python"

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

Давайте рассмотрим различные аспекты этих языков, что в каждом из них хорошо, а что не очень.

Python

С момента своего выхода в 1991 году Python стал чрезвычайно популярным и широко используется в обработке данных. Вот некоторые из причин его широкой популярности:

  • объектно-ориентированный язык
  • универсальный
  • имеет множество расширений и невероятную поддержку сообщества
  • прост и легок в освоении
  • такие пакеты, как pandas, numpy и scikit-learn, делают Python отличным выбором для машинного обучения.
  • Однако в Python нет специализированных пакетов для статистических расчетов, в отличие от R

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.

Поставляется с отличными библиотеками визуализации (ggplot2, shiny). Возможность автономного анализа (Rstudio). 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, создавая новую породу проектов, объединяющих два языка.

Заключение
И R, и Python - достаточно надежные языки, и одного из них вполне достаточно для выполнения задачи анализа данных. Тем не менее, у обоих языков есть свои плюсы и минусы, и если бы мы могли использовать сильные стороны обоих, то в конечном итоге смогли бы сделать гораздо более качественную работу. В любом случае, знание обоих методов сделает нас более гибкими, что повысит наши шансы на работу в различных условиях.

После завершения подготовки данных, начатой в предыдущих постах, я покажу, как легко использовать пакеты Python в проектах на R на примере пакета CatBoost.

Удачи


 
Здравствуйте, меня заинтересовал ваш проект, я программист на питоне, этот модуль на питоне будет иметь систему для взаимодействия с заказами на покупку и продажу
 
190:
Здравствуйте, меня заинтересовал ваш проект, я программист на питоне, этот модуль на питоне будет иметь систему взаимодействия с заказами на покупку и продажу.

Я не кодер (и это не мой проект).

Я просто собираю всю информацию, связанную с этой темой (это обобщающий поток).
Прочитайте это сообщение #1 от MetaQuotes.

Причина обращения: