运行MQL程序属性
为了获取当前运行的MQL5程序的信息,可以使用ENUM_MQL_INFO_INTEGER 和 ENUM_MQL_INFO_STRING常量。
标识符 | 描述 | 类型 |
MQL_MEMORY_LIMIT | MQL5程序最大可能的动态内存数,MB计算 | int |
MQL_MEMORY_USED | MQL5程序使用的内存大小,MB计算 | int |
MQL_PROGRAM_TYPE | MQL5程序类型 | |
MQL_DLLS_ALLOWED | 允许为已生效的程序交易 | bool |
MQL_TRADE_ALLOWED | 允许为已生效的程序交易 | bool |
MQL_SIGNALS_ALLOWED | 允许为已生效的程序更改信号 | bool |
MQL_DEBUG | 表示程序在调试模式下运行 | bool |
MQL_PROFILER | 表示程序在代码分析模式下运行 | bool |
MQL_TESTER | 表示程序在测试中运行 | bool |
MQL_FORWARD | 表示程序在前向测试过程中运行 | bool |
MQL_OPTIMIZATION | 表示程序在优化模式下运行 | bool |
MQL_VISUAL_MODE | 表示程序在可视测试模式下运行 | bool |
MQL_FRAME_MODE | 表示EA交易在收集优化结果框架模式下运行 | bool |
MQL_LICENSE_TYPE | EX5模块的许可证类型。许可证涉及EX5模块,从这里使用 MQLInfoInteger(MQL_LICENSE_TYPE)发出请求。 |
标识符 | 描述 | 类型 |
MQL_PROGRAM_NAME | mql5已执行程序名称 | string |
MQL_PROGRAM_PATH | 以执行系统路径 | string |
运行程序类型信息,使用ENUM_PROGRAM_TYPE 值
标识符 | 描述 |
PROGRAM_SCRIPT | 脚本 |
PROGRAM_EXPERT | 专家 |
PROGRAM_INDICATOR | 指标 |
标识符 | 描述 |
LICENSE_FREE | 免费无限使用版 |
LICENSE_DEMO | 市场付费产品的试用版仅在策略测试中工作 |
LICENSE_FULL | 购买的授权版允许至少5次激活。激活次数由卖家设定。卖家可以提高允许的激活次数 |
LICENSE_TIME | 有期限限制的授权版 |
示例:
ENUM_PROGRAM_TYPE mql_program=(ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE);
switch(mql_program)
{
case PROGRAM_SCRIPT:
{
Print(__FILE__+" is script");
break;
}
case PROGRAM_EXPERT:
{
Print(__FILE__+" is Expert Advisor");
break;
}
case PROGRAM_INDICATOR:
{
Print(__FILE__+" is custom indicator");
break;
}
default:Print("MQL5 program type value is ",mql_program);
}