我在 Mql4 中的 if 条件从未成立

问题描述

在下面的代码中,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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...