问题描述
在下面的代码中,if(sma5_after > sma18_after)
永远不会为真,而此条件在图表中重复多次
我在 Meta Trader4 中使用 Mql4
void OnTick()
{
if(iVolume(_Symbol,_Period,0)<=1)
{
sma5_befor = iMA(_Symbol,5,MODE_SMA,PRICE_CLOSE,2);
sma5_after = iMA(_Symbol,0);
...
sma18_befor = iMA(_Symbol,18,2);
sma18_after = iMA(_Symbol,0);
...
sma5_slop = (sma5_after - sma5_befor) / Point;
...
if(sma5_after > sma18_after){ // this condition never is true in Meta Trader4 tester!! WHY?
Print("OK");
}
}
}
请帮帮我
谢谢
解决方法
您在 sma18_after 分配中有一个拼写错误。这一行:
sma18_after = iMA(_Symbol,_Period,5,MODE_SMA,PRICE_CLOSE,0);
应该是这样的:
sma18_after = iMA(_Symbol,18,0);