文章 "MetaTrader 5 与 Python 的集成:接收和发送数据" - 页 10

[删除]  
Maxim Dmitrievsky:
请看我上一篇文章中的例子。这里使用的是旧版本的软件包。当然,它需要先通过 pip install 安装。

谢谢,马克西姆。我在提问之前就看过这个例子了 )))但我的经验无法让我立即注意到其中的差异。不过我会学会的 )))

 
先生们,问这个问题很尴尬(我觉得这个问题很愚蠢),但是 SocketCreate() 这个东西知道如何对Tester 进行策略分析 吗?
 
immediacy:
先生们,问这个问题很尴尬(我觉得这个问题很愚蠢),但是 SocketCreate() 知道如何对Tester 进行策略分析 吗?

不知道

 

下午好!在启动 socketserver 时,我遇到了以下错误:请帮助我("dummy")

Traceback (most recent call last):

文件 "C:C:{python\Socket_client-server\Socket client-server\socketserver\socketserver.py", 第 48 行, 在 <module> 中
serv = socketserver('127.0.0.1', 9090)
File "C:C:\python\Socket_client-server\Socket client-server\socketserver.py", line 15, in __init__
self.sock.bind((self.adress, self.port))
AttributeError: 'socketserver' 对象没有 'adress' 属性。
>>>
 

嗨,有趣的文章。谢谢。


我想知道您为什么决定用 Python 实现服务器,而用 MT5 实现作为客户端的 EA?


让服务器在 MT5 中作为 EA 提供数据并执行交易,而客户端在 Python 中处理数据并做出发送到服务器的交易决策,这样不是更自然吗?


客户端使用 EA,服务器使用 python,是否有我忽略的明显优势?



如果我没记错的话,根据过去使用 ZeroMQ 的经验,服务器是作为 MT5 的 EA 使用,而客户端是使用 python。

 
yogibass:

@Maxim Dmitrievsky

我只想说,感谢您提供这个工具。我一直希望能用 Python 来编写我的指标,自从您开始这个主题后,我就能访问实时期货数据,并用它来开发和运行我的指标。我用 Python 绘制和分析实时数据,并通过 MT5 平台进行交易,效果非常好。请继续努力,我真心希望 Python 能得到 MT 社区的全面支持。

谢谢,并致以最诚挚的问候!

你好,我想使用 api 将 MT5 与实时数据连接起来。因为在我的国家,没有支持 MT5 的授权经纪商或数据供应商。请帮帮我。
 
Maxim Dmitrievsky #:

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



after i add the localhost,it still remind me the error'4014'

 

感谢您的完整描述。

我有一个问题:

我们有没有可能在 python 环境中通过命令运行 .ex5 类型的脚本?

我想通过 python 运行该脚本,并将结果保存到 excel 文件中,这样我就可以在网站或 Android 程序中再次使用 excel 数据了。

非常感谢。

 
你好,马克西姆。
您关于 Python 和 mt5 整合的文章鼓励我深入研究这一主题。我用 Python 写了很多东西,几乎使用了库中的所有函数。
现在需要在 mt5 的图表上绘制一些用 Python 计算的东西。以您关于通过套接字通信的代码为基础,我编写了以下方案:点击图表角落时,mt5 会发送数据 请求,以绘制 纤维和通道。在您的示例中,python 返回两个值,但我必须返回多达 12 个不同结构的数据,每个结构有三个坐标点。
一开始,我被 mt5 不能一次性返回描述所有结构的长字符串这一事实所困扰。我通过几次较短的查询进行了交换。一切似乎都能正常工作,但时好时坏。
直觉告诉我这与超时设置有关。能否请您提供一个解决方案?
不胜感激
 

你好 - 谁能帮帮我?


我试图在 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)

^

缩进错误:预计有缩进块

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

回溯(最近一次调用):

文件 "<stdin>",第 1 行,在 <module> 中

文件 "<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]