用 Python 连接 MT5。
下载、配置、连接、读取、订阅、断开。
分步文字说明
- 0:00
用 Python 连接 MT5。
本教程介绍如何用 Python 连接 MT5、读取模拟账户、接收实时报价,并正确断开连接。
- 0:12
从下载示例开始。
打开 mrpc 点 pro 斜杠 api,登录后选择 Python,然后点击下载示例。网站提供的文件会创建新的模拟账户,并完成一次完整的模拟交易流程,因此需要个人 API 密钥。下载文件可能包含这个密钥,请妥善保管,不要公开分享。
- 0:39
选择合适的示例。
本教程使用单独提供的 Python 报价示例。它连接已有模拟账户,不发送交易请求。只要还有试用容量,已有模拟账户可以使用 TRIAL。创建新的模拟账户则需要个人密钥。请区分这两种示例。
- 1:04
准备 Python 环境。
使用 Python 三点十或更高版本。在项目目录中创建虚拟环境,并使用该环境的 Python 安装 requests 和 websocket client。requests 用于 REST 请求,websocket client 用于接收实时流。网站原始演示只使用标准库;这两个依赖包属于本教程的实时报价示例。
- 1:35
配置连接信息。
设置屏幕上的四个环境变量,并将占位内容替换为自己的信息。服务器名称必须与经纪商的模拟服务器完全一致,密码应使用该账户的交易密码。环境变量可以避免把凭据写进源代码。macOS 和 Linux 用户应使用 export,而不是 PowerShell 的环境变量语法。
- 2:05
连接一次,复用终端 ID。
示例调用 Connect E X,传入模拟账号、密码和服务器,然后把 terminal instance GUID 保存在内存中。后续 REST 请求通过 id 请求头发送终端 ID,通过 APIKey 请求头发送 API 密钥。API 密钥标识您的 MetaRPC 访问权限,终端 ID 则选择这次连接的账户。
- 2:35
检查每一次响应。
先检查 HTTP 状态码。收到 HTTP Status Code 200 后,解析 JSON 并检查 error。如果 error 不为空,就停止当前步骤,私下查看错误代码和错误信息;否则读取 data。示例只记录简洁的错误信息,不打印连接 URL,因为 URL 中包含交易密码。
- 3:04
读取账户信息。
这里展示的是真实 Python 运行结果。程序从 data 中读取 account Currency、account Balance 和 account Equity。这些是经纪商账户的数据,不是 MetaRPC 的服务余额。下面三行报价也是程序实际收到的消息,并非编造的示例数据。
- 3:31
订阅实时报价。
WebSocket 地址订阅 EURUSD 报价。Python 可以在 WebSocket 握手请求头中发送 APIKey 和 id。每收到一条 JSON 消息,先检查 error,再读取 data 点 symbol Tick。bid 是卖出报价,ask 是买入报价。time U T C 提供 UTC 时间戳。
- 3:57
停止订阅并断开连接。
完整示例收到三条报价后就停止。清理逻辑先关闭 WebSocket,再使用同一个终端 ID 调用 Disconnect,即使接收流失败也会执行。关闭 WebSocket 只是停止订阅;Disconnect 才会释放托管终端。请求中的五分钟过期时间只是后备措施,不能代替清理。
- 4:26
完成第一次本地集成。
使用虚拟环境中的 Python 运行示例。成功时会依次输出账户摘要、三条报价、WebSocket closed 和 Terminal disconnected。修改程序时请保留错误检查和清理逻辑。现在可以用自己的业务逻辑替换打印语句,并在准备好后使用个人 API 密钥。