我正在使用 MetaTrader4 终端,并且我是经验丰富的 python 开发人员。
有谁知道,如何连接 MT4 和 Python?
我想:
- 连接到 MT4
- 读取美元/欧元数据
- 下订单(买/卖)
有谁知道一些图书馆,一个带有说明或文档的页面,或者至少知道如何做到这一点?
我用谷歌搜索了前 30 页,但没有发现任何有用的东西。
我正在使用 MetaTrader4 终端,并且我是经验丰富的 python 开发人员。
有谁知道,如何连接 MT4 和 Python?
我想:
- 连接到 MT4
- 读取美元/欧元数据
- 下订单(买/卖)
有谁知道一些图书馆,一个带有说明或文档的页面,或者至少知道如何做到这一点?
我用谷歌搜索了前 30 页,但没有发现任何有用的东西。
我认为您可以尝试 MetaApi https://metaapi.cloud云服务,它提供对 MetaTrader 4 和 MetaTrader 5 账户的 REST API 和 WebSocket API 访问。
官方 REST API 文档:https ://metaapi.cloud/docs/client
SDK:https ://metaapi.cloud/sdks (javascript、python 和 Java SDK 于 2021 年 4 月提供)
Python SDK:https ://pypi.org/project/metaapi-cloud-sdk/
它支持读取账户信息、仓位、订单、交易历史、接收报价和访问市场数据。
该服务还提供复制交易 API https://metaapi.cloud/docs/copyfactory和 API 来计算 MetaTrader 账户上的外汇交易指标https://metaapi.cloud/docs/metastats。
几个选项:
有几种方法可以做到这一点,但最好的方法是使用WebSocket
. 由于WebSocket
提供双向通信,因此很容易使用获取数据MT4 EA
并将它们发送到WebSocket
. 您可以记录每个Tick
从EA
并将其发送到WebSocket
。WebSocket
应该由您的 Python 脚本打开。您也可以EA
从 python 脚本命令。会有一个双向数据流从EA
到Python
。有一个 WebSocket 库可供MQL
您阅读MT4 WebSocket 库帖子,对于 python,您只需从 RedHat浏览Python WebSocket 。
我已经通过此链接https://stackoverflow.com/a/66720906/8514920的示例展示了您的问题的解决方案
到目前为止,我推荐https://github.com/darwinex/dwxconnect,它使任何人都可以用任何编程语言编写交易策略并通过 MetaTrader 4 或 5 进行交易,而无需在 MQL 中编写算法代码。
我发现上述建议中唯一缺少的是能够将自定义指标数据从 MT4/5 获取到首选编程语言。我确实找到了允许这样做的https://github.com/khramkov/MQL5-JSON-API 。然而 MQL5-JSON-API 对我来说有点复杂,或者说需要更多的努力来实现。这有什么帮助