将 Python 脚本连接到终端和账户
initialize 函数建立与 MetaTrader 5 终端的连接,具有两种形式:简短(无参数)和完整(有多个可选参数,第一个 path,它是位置参数,其余都是命名参数)。
bool initialize()
bool initialize(path, account = <ACCOUNT>, password = <"PASSWORD">,
server = <"SERVER">, timeout = 60000, portable = False)
path 参数设置终端文件 (metatrader64.exe) 的路径(注意,与所有其他参数不同,这是一个未命名的参数,因此如果指定了该参数,则必须在列表的第一位)。
如果没有指定路径,模块将尝试自己查找可执行文件(开发者没有透露确切的算法)。为了消除歧义,请使用第二种形式的带参数的函数。
在account 参数中,可以指定交易账户的账号。如果未指定,则将使用选定终端实例中的最后一个交易账户。
交易账户的密码在 password 参数中指定,也可以省略:如果省略,存储在终端数据库中的指定交易账户的密码将被自动替换。
server 参数的处理方式与交易服务器名称(在终端中指定)类似:如果未指定,则自动替换终端数据库中为指定交易账户保存的服务器。
timeout 参数是指为连接设定的超时时间(以毫秒为单位)(如果超过该时间,将会发生错误)。默认值为 60000(60 秒)。
portable 参数包含用于在便携模式下启动终端的标志(默认为 False)。
如果成功连接到 MetaTrader 5 终端,该函数返回 True,否则返回 False。
如果必要,在调用 initialize 时,可以启动 MetaTrader 5 终端。
例如,与特定交易账户的连接展示如下。
import MetaTrader5 as mt5
|
login 函数还使用指定的参数连接到交易账户。但这意味着与终端的连接早已建立,即该函数通常用来更改账户。
bool login(account, password = <"PASSWORD">, server = <"SERVER">, timeout = 60000)
account 参数中提供了交易账号。这是一个必需的未命名参数,意味着它必须出现在列表的第一位。
password、server 和 timeout 参数与 initialize 函数的相关参数相同。
如果成功连接到交易账户,函数返回 True,否则返回 False。
shutdown()
shutdown 函数关闭先前建立的与 MetaTrader 5 终端的连接。
上述函数的例子将在 下一节提供。
连接建立后,脚本可以找到终端的版本。
tuple version()
version 函数返回关于 MetaTrader 5 终端版本的简短信息,格式是三个值的元组:版本号、内部版本号和内部版本日期。
字段类型 |
说明 |
---|---|
整数 |
MetaTrader 5 终端版本(当前版本为 500) |
整数 |
内部版本号(例如,3456) |
字符串 |
内部版本日期(例如 '25 Feb 2022') |
如果出现错误,该函数将返回 None,并且可以使用 last_error 获得错误代码。
有关终端的更完整信息,可以使用 terminal_info 函数获取。