1

我正在使用 MetaTrader4 终端,并且我是经验丰富的 python 开发人员。

有谁知道,如何连接 MT4 和 Python?
我想:
- 连接到 MT4
- 读取美元/欧元数据
- 下订单(买/卖)

有谁知道一些图书馆,一个带有说明或文档的页面,或者至少知道如何做到这一点?

我用谷歌搜索了前 30 页,但没有发现任何有用的东西。

4

5 回答 5

3

我认为您可以尝试 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

于 2020-06-30T01:03:16.407 回答
1

几个选项:

  • 与文件交换(将数据从 mt4 写入 python 文件,另一个文件夹与买入/卖出指令相反);
  • 0MQ(或类似的东西)作为更好的选择。
于 2017-08-18T07:46:38.697 回答
1

有几种方法可以做到这一点,但最好的方法是使用WebSocket. 由于WebSocket提供双向通信,因此很容易使用获取数据MT4 EA并将它们发送到WebSocket. 您可以记录每个TickEA并将其发送到WebSocketWebSocket应该由您的 Python 脚本打开。您也可以EA从 python 脚本命令。会有一个双向数据流从EAPython。有一个 WebSocket 库可供MQL您阅读MT4 WebSocket 库帖子,对于 python,您只需从 RedHat浏览Python WebSocket 。

于 2019-08-22T04:56:01.593 回答
0

我已经通过此链接https://stackoverflow.com/a/66720906/8514920的示例展示了您的问题的解决方案

于 2021-03-24T13:03:45.433 回答
0

到目前为止,我推荐https://github.com/darwinex/dwxconnect,它使任何人都可以用任何编程语言编写交易策略并通过 MetaTrader 4 或 5 进行交易,而无需在 MQL 中编写算法代码。

我发现上述建议中唯一缺少的是能够将自定义指标数据从 MT4/5 获取到首选编程语言。我确实找到了允许这样做的https://github.com/khramkov/MQL5-JSON-API 。然而 MQL5-JSON-API 对我来说有点复杂,或者说需要更多的努力来实现。这有什么帮助

于 2021-08-06T12:23:48.307 回答