XM交易工具
本网站使用Google Analytics,一种由Google, Inc.(“Google”掌握MT5交易平台 )提供的网络分析服务。Google Analytics会使用您计算机上的分析Cookie来帮助网站分析用户的网站使用情况。由Cookie生成的关于您使用本网站(包括您的IP地址)的信息可能会传输至Google并存储至其服务器。Google可能会利用这些信息来评估您对网站的使用情况,遵守网站的活动报告以及提供与网站活动和互联网使用有关的其他服务。若应法律要求,Google也可能会将此信息转发给第三方。Google不会将您的IP地址与其他任何数据关联起来。通过使用本网站,即您同意Google以上述方式处理您的相关数据。
ZEAL 科技
Zeal Capital Market (Seychelles) Limited is part of Zeal Group, which does not accept or offer any products to Hong Kong residents or public. Moreover, while the Zeal Capital Market (Seychelles) Limited 掌握MT5交易平台 is regulated and licensed in other jurisdictions and operates under strict regulations of those other jurisdictions, it does not offer any of its products to the Hong Kong public.
Zeal Capital Market(塞舌尔)有限公司及其全球分支機構不接受也不向香港居民或公眾提供任何產品。Zeal Capital Market(塞舌尔)有限公司及其全球分支機構不接受也不向香港居民或公眾提供任何產品在其他司法管轄區域接受監管並獲得牌照,在其嚴格的監管之下經營,集團對香港公眾不提供任何產品。
Zeal 掌握MT5交易平台 Capital Market(塞舌尔)有限公司及其全球分支機構不接受也不向香港居民或公眾提供任何產品及其全球分支机构不接受也不向香港居民或公众提供任何产品。Zeal Capital Market(塞舌尔)有限公司及其全球分支機構不接受也不向香港居民或公眾提供任何產品在其他司法管辖区域接受监管并获得牌照,在其严格的监管之下经营,集团对香港公众不提供任何产品。
掌握MT5交易平台
主菜单包括MT5软件的几乎所有的功能入口, 以及能够在交易平台里执行的所有功能。它可为“图表”操作, “分析”工具, 平台设置和其它功能提供访问。主菜单由以下项目组成: 文件, 视图, 插入, 图表, 工具, 窗口, 帮助。
即工具条中的(常用)基本操作、走势图选择、时间周期等,用于调整“图表”。平台有三个内置工具条: “基本”(常用基本操作), “走势线研究”(走势图选择)和“(时间)周期”。如下图,工具栏包含与主菜单的“查看”有重复的命令和功能。不过, 工具条是可定制的, 所以无佣网用户可以将频繁使用的控件添加在这里。
用户可以使用十字交叉线和数据窗口来查看精确价格, 时间或 指标 的数值。如下图
技术分析的本质是对“交易产品的价格图表”使用技术指标和分析对象进行研究。平台中的“图表”有各种设置, 因此无佣网用户可根据个人需要进行调试设置成自己喜欢的风格。每幅图表可以显示21个时间周期, 从分钟线 (M1) 到月线 (MN1)。
python接收_MT5 与 PYTHON 的集成:接收和发送数据
James Swineson 于 2021-01-26 04:掌握MT5交易平台 23:03 发布 1152 收藏 10
为什么要把 MQL5 与 Python 集成?
网络套接字是计算机网络上进程间通信的端点。MQL5 标准库包含一组 Socket 函数,这些函数为在互联网上操作提供了一个低层接口。这是不同编程语言的通用接口,因为它在操作系统级别进行系统调用。
若要建立连接,必须创建并初始化 TCP 服务器,以便客户端进程连接。一旦交互进程完成,则连接必须强制关闭。TCP 交换中的数据是字节流。
创建服务器时,我们需要将套接字与一个或多个主机(IP 地址)的未使用端口相关联。如果未设置主机列表,或将其指定为 “0.0.0.0”,则套接字将监听所有主机。如果指定 “127.0.0.1” 或 “localhost”,则只能在 “内部循环” 内连接,即仅在一台计算机内监听。
由于在 MQL5 中只提供客户端,我们利用 Python 创建一个服务器。
利用 Python 创建套接字服务器
本文的目的并非教授 Python 编程的基础知识。因此,假定读者熟悉这种语言。
我们将使用 掌握MT5交易平台 掌握MT5交易平台 3.7.2 版本的内置 socket 软件包。更详细信息,请阅读相关文档。
我们将编写一个简单的程序,它创建一个套接字服务器,并从客户端(MQL5 程序)接收必要的信息,处理它并发回结果。这似乎是最有效的交互方法。假设我们需要使用机器学习函数库,例如 scikit 掌握MT5交易平台 learn,它将计算价格的线性回归并返回坐标,根据这些坐标可以在 MetaTrader 5 终端中绘制一条线。这是基本的示例。然而,这种交互也可以用于训练神经网络,用于从终端发送数据(报价),学习并将结果返回给终端。
我们来创建 socketserver.py 程序并导入上述函数库:
创建类的对象时,构造函数将获取主机名(IP 地址)和端口编号。然后创建 sock 对象,该对象与地址和端口 sock.bind() 相关联。
recvmsg 方法监听传入连接 sock.listen(1)。当传入的客户端连接到达时,服务器会接受它 self.掌握MT5交易平台 sock.accept()。
然后,服务器在无限循环中等待传入的客户端消息,该消息抵达时是为数位流。由于事先不知道消息长度,服务器会分帧接收该消息,比如一次 1K 字节,直到读取整个消息 self.conn.recv(10000)。接收到的数据片段将会被转换为字符串 data.decode(“utf-8”),并添加到字符串 summdata 的其余部分。
一旦收到所有数据(如果不是数据 :),服务器就会向客户端发送一个字符串,其中包含计算出的回归线的最右边和最左边的坐标。该字符串初步转换为字节数组 conn.send(bytes(calcregr(self.cummdata),"utf-8"))。
一旦 Python 程序执行完毕,析构函数就会关闭套接字。
接收到的字节流转换为 utf-8 字符串,然后由 calcregr(掌握MT5交易平台 msg ='') 方法接受。由于字符串包含若干由空格分隔的价格序列(在客户端中实现),因此它将被转换至 float 类型的 NumPy 数组。之后价格数组会被转换为一列(数据接收格式为 sclearn)Y = np.array(chartdata).reshape(-1,1)。模型的预测变量是线性时间(一个数值序列; 其大小等于训练样本的长度)X = np.array(np).arange(len(chartdata))).reshape(-1,1)
接下来是训练和模型预测,而回归线的第一个和最后一个值(线段的边缘)被写入 “P” 变量,转换为字符串,并以字节形式传递给客户端。
现在,我们只需要创建类对象,并在循环中调用 recvmsg() 方法:
利用 MQL5 创建套接字客户端
最后一个函数 drawlr() 接收一个字符串,其中写入左、右线坐标,然后将字符串解析为字符串数组,并在图表上绘制线性回归线:
该函数在 OnTick() 处理程序中实现。
测试 MQL5-Python 客户端 - 服务器应用程序
为了运行该应用程序,您需要安装 Python 解释器。您可以从 官方网站 下载。
然后运行服务器应用程序 socketserver.py。它创建一个套接字,并监听来自 MQL5 程序 socketclientEA.mq5 的新连接。
连接活动和回归线价格也会在 MetaTrader 5 终端中显示。回归线也会在图表上绘制,并在每次新的即时报价来临时进一步更新:
我们已考研究通过套接字连接实现两个程序的直接交互。与此同时,MetaQuotes 已开发了一个 Python 软件包,允许直接从终端接收数据。更多有关详细信息,请参阅与 在 MetaTrader 中使用 Python 掌握MT5交易平台 相关的论坛讨论(俄语版,请酌情使用自动翻译选项)。 s0>
使用 MetaTrader 5 Python API 获取并分析报价
首先,您需要安装 MetaTrader5 Python 模块(Python 讨论摘要在此)。
之后创建所需品种列表,并从终端连续请求每个货币对的收盘价发至 pandas 数据帧:
我们可以从上面的热图中看到 GBPUSD 与 GBPJPY 之间的良好相关性。然后我们可以通过导入 statsmodels 函数库来测试协整:
两个货币对之间的关系可以显示为 Z 分值:
利用 Plotly 函数库可视化市场数据
通常需要按照便利的形式可视化报价。这可以利用 Plotly 函数库来实现,该函数库还允许以交互式 .html 格式保存图表。
我们下载 EURUSD 报价,并将其显示在烛条图表中:
在本文中,我们研究了终端与利用 Python 编写的程序之间实现通信的选项,通过套接字并直接使用 MetaQuotes 的专用库。不幸的是,MetaTrader 5 中当前实现的客户端套接字不适合在策略测试程序中运行,因此没有执行完整的测试,以及测量解决方案性能。我们等待套接字功能的进一步更新。