下载MetaTrader 5
要添加评论,请登录注册
下载文档为文件。很容易!
LuisChen
9
LuisChen 2013.12.02 13:26 
大家好。我刚刚学习MQL4编写EA。写了一段代码是
bool CloseOrWaiting(int Locator)//判断是否平仓。
{
switch(Locator)
{
case 1:
判断是否符合多单出场条件。
break;
case 2:
判断是否符合空单出场条件。
break;
}
return(false);
}

昨晚编译都没有问题,今天再编译时MT4报错'Locator'-internal error
提示函数的整型参数Locator有问题,我查了Baidu也没找到internal error意味着什么
程序已经写完了。。就差这一点编译不过去,求大虾指教,十分感谢!!!
okwh
1629
okwh 2013.12.03 13:40  

进入函数前用print(locator)检查它是什么。

BaiChun Li
838
BaiChun Li 2014.01.15 15:29  

似乎还有另外的问题,return(false);在switch之外,那这个函数无论如何都会返回0,无论如何都返回“失败”。

如果这样的话return和bool类型似乎就显得多余了,可以省略一行代码,呵呵。

另外, switch下的case其实还有类似"else"的表达,MQL4里面是一个default,其意义在于假设:Locator参数一定是1、2,那这个表达就可以;但是如果Locator还有除1、2之外一大堆其他的整形的可能,那么用一个default:至少一定不会报错。

/
要添加评论,请登录注册