我想知道是否有任何方法可以使用外部程序或dll或任何东西来设置ENUM_MQL_INFO_INTEGER的属性id值。我试过这个:
int OnInit()
{
//---
MQL_DLLS_ALLOWED = 1;
Print(MQLInfoInteger(MQL_DLLS_ALLOWED));
//---
return(INIT_SUCCEEDED);
}它给出错误:
'MQL_DLLS_ALLOWED' - l-value required TestingEnum.mq5 15 4
'1' - cannot convert enum TestingEnum.mq5 15 22
'=' - l-value required TestingEnum.mq5 15 21请告诉我我能做些什么。
发布于 2019-10-20 22:35:24
我不能直接帮助你回答你的问题,主要是因为评论中讨论的原因。我相信你可以检查是否允许DLL的值,但你不能轻易地启用/禁用它。也许有一种方法可以从命令行运行MT终端,使用一些键允许或阻止dll,所以你可以检查一下。但这意味着重新启动你的平台,我不确定这是否方便。
如果我是您,并且厌倦了多次启用/禁用dll,我会引入一个客户端的全局变量,其值为0或1(当然是两倍)。然后,如果它是零,则不调用dll,并且ea不启动(如果您在OnInit()中检查),如果它是非零值,则dll工作。一个简单的脚本改变这个GV可以写和分配热键。在这种情况下,热键会阻止一切,并在需要时再次允许dll。如果你需要任何帮助-我将编辑我的代码并提供一些基本的例子。
https://stackoverflow.com/questions/58437141
复制相似问题