终端和程序字符串特性
MQLInfoString 和 TerminalInfoString 函数可用于找出终端和 MQL 程序的若干字符串特性。
标识符 |
说明 |
---|---|
MQL_PROGRAM_NAME |
正在运行的 MQL 程序的名称 |
MQL_PROGRAM_PATH |
正在运行的 MQL 程序的路径 |
TERMINAL_LANGUAGE |
终端语言 |
TERMINAL_COMPANY |
公司(经纪人)名称 |
TERMINAL_NAME |
终端名称 |
TERMINAL_PATH |
从中启动终端的文件夹 |
TERMINAL_DATA_PATH |
存储终端数据的文件夹 |
TERMINAL_COMMONDATA_PATH |
安装在计算机上的所有客户端终端的共享文件夹 |
正在运行的程序的名称 (MQL_PROGRAM_NAME) 通常与主模块(mq5 文件)的名称一致,但也可能不同。尤其是如果你的源代码编译为一个 库 ,而该库被导入到另一个 MQL 程序中(EA 交易、指标,脚本或服务),则 MQL_PROGRAM_NAME 特性将返回主程序的名称,而不是该库的名称(库不是独立程序,无法运行)。
我们在 处理文件中讨论过工作终端文件夹的安排。使用列出的特性,你可以找出终端安装位置 (TERMINAL_PATH),还可以找到当前终端实例 (TERMINAL_DATA_PATH) 以及所有实例 (TERMINAL_COMMONDATA_PATH) 的工作数据。
有一个简单脚本 EnvDescription.mq5 可将所有这些特性记录在日志中。
void OnStart()
|
下面是一个结果示例。
MQLInfoString(MQL_PROGRAM_NAME)=EnvDescription / ok
|
终端界面语言不仅可以通过 TERMINAL_LANGUAGE 特性中的一个字符串获取,还可以通过代码页编号获取(参见下一节中的 TERMINAL_CODEPAGE 特性)。