Обсуждение статьи "Соединение MetaTrader 5 и Python: получение и отправка данных" - страница 10

[Удален]  
Maxim Dmitrievsky:
Посмотрите пример из моей последней статьи. Здесь использовалась старая версия пакета. И его нужно установить сначала через pip install, конечно же

Спасибо, Максим. Пример смотрел ещё до вопроса ))) Но опытность пока не позволяет замечать различия с ходу. Но я научусь )))

 
Господа, неловко спрашивать (чувствую, что вопрос глупый), но эта штука - SocketCreate() умеет в Тестер стратегий?
[Удален]  
immediacy:
Господа, неловко спрашивать (чувствую, что вопрос глупый), но эта штука - SocketCreate() умеет в Тестер стратегий?

нет

 

Добрый день! при запуске socketserver выдает такую ошибку: помогите пожалуйста "чайнику")

Traceback (most recent call last):

  File "C:\python\Socket_client-server\Socket client-server\socketserver.py", line 48, in <module>
    serv = socketserver('127.0.0.1', 9090)
  File "C:\python\Socket_client-server\Socket client-server\socketserver.py", line 15, in __init__
    self.sock.bind((self.adress, self.port))
AttributeError: 'socketserver' object has no attribute 'adress'
>>> 
 

Привет, интересная статья. Спасибо за это.


Хотел спросить. Почему вы решили реализовать сервер на Python, а советник в качестве клиента на MT5?


Не было бы более естественным, если бы сервер был советником в MT5, предоставляющим данные и выполняющим действия трейдеров, а клиент(ы) в python, обрабатывающим данные и принимающим торговые решения, которые отправляются на сервер?


Есть ли какое-то очевидное преимущество в использовании клиента в качестве эксперта и сервера на python, которое я упускаю?



Если я правильно помню, из прошлого опыта работы с ZeroMQ, сервер был в качестве эксперта в MT5, а клиент в python.

 
yogibass:

@Максим Дмитриевский

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

Спасибо и наилучшие пожелания!

Здравствуйте, я хочу подключить МТ5 к живым данным с помощью api. Потому что в моей стране нет авторизованных брокеров или поставщиков данных, которые поддерживают mt5. Не могли бы вы мне помочь.
 
Maxim Dmitrievsky #:

Hi, sockets don't work in tester at this time. Also, you mus add localhost to allowed webrequests in mt5 settings



После того, как я добавил localhost, он по-прежнему напоминает мне об ошибке '4014'.

 

Спасибо за полное описание.

У меня вопрос:

возможно ли запустить скрипт типа .ex5 командой в среде python?

Я хочу запустить его через python, и скрипт сохранит результаты в excel-файле, так что я могу использовать данные excel снова на моем сайте или в программе для андроид.

Большое спасибо.

 
Здравствуйте Максим.
Ваша статья по интеграции Python и mt5 сподвигла меня на более глубокое погружение в тему. Много что написал на питоне используя практически все функции библиотеки.
Дошло до необходимости отрисовывать что-то на графике в mt5, рассчитанное в питоне. Взяв за основу ваш код по взаимодействию через socket, я написал следующий сценарий: по клику в углу графика мт5 шлется запрос на данные для отрисовки фиб и каналов. В вашем примере питон возвращает два значения, мне же приходится возвращать данные для до 12 разных структур с тремя точками координат каждая. 
Сперва я уперся в то, что в мт5 не возвращалась длинная строка, описывающая сразу все структуры. Сделал обмен через несколько более коротких запросов. Все вроде бы работает, но от раза к разу.
Что-то подсказывает, что дело в настройке таймаутов. Не могли бы вы подсказать направление для поиска решения?
Заранее вам признателен
 

Здравствуйте - Может кто-нибудь помочь мне!!!


Я пытаюсь выполнить этот код в Python и продолжаю получать ошибку:


Ниже приведен мой код, и он приводит к ошибке:


>>> # Копирование данных в датафрейм

>>> d = pd.DataFrame()

>>> for i in sym:

... rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

Файл "<stdin>", строка 2

rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

^

IndentationError: ожидается блок с отступами

>>> d[i] = [y.close for y in rates]

Traceback (последний последний вызов):

Файл "<stdin>", строка 1, в <модуль>.

Файл "<stdin>", строка 1, в <listcomp>

AttributeError: у объекта 'numpy.void' нет атрибута 'close'


# sbcapitalfx Heat Map - version 1.0



import MetaTrader5 as mt

import pandas as pd

from datetime import datetime

import matplotlib.pyplot as plt



# Initializing MT5 connection 



mt.initialize()



login = ************

password = ' ************ '

server = 'MetaQuotes-Demo'



mt.login(login,password,server)



# Create currency watchlist for which correlation matrix is to be plotted

sym = ['EURUSD','USDJPY','USDCHF','USDNZD']



# Copying data to dataframe

d = pd.DataFrame()

for i in sym:

        rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

        d[i] = [y.close for y in rates]