首页 > 解决方案 > 获得“找到空的受控语句”警告 | 元编辑器

问题描述

我将如何确保以下if,else if语句遵循以下规则:

“如果其中任何一个 都属实,/*Condition 1*/则进行评估”/*Condition 2*/

/*Conditions 3 - 12*/

目前,我收到empty controlled statement found 313 38 编译器错误/警告。

if(shiftOneClose < shiftOneOpen){ /*Condition 1*/
   if((bearHammer / (shiftOneOpen - shiftOneLow) <= OoTMax))
   if((bearHammer / bullNail) <= OoTMax)
   if(bearHammer >= Transform(PCM,2)); /*Line 313*/

}

else if(shiftOneClose > shiftOneOpen){ /*Condition 2*/
   if((bullHammer / (shiftOneClose - shiftOneLow) <= OoTMax))
   if((bullHammer / bullNail) <= OoTMax)
   if(bullHammer >= Transform(PCM,2));

}

if.... /*Conditions 3 - 12*/
if....
if....
if....
if....
if....
if....
if....
if....
if....
{

  [execute trade]

}

标签: mql4algorithmic-tradingmetatrader4low-latencyforex

解决方案


您可以使用通用控制结构,然后使用其他编程语言,如 C++、JAVA。

如果您不熟悉: &&这表示and ||这意味着or

例子:

//--- so in order to make it evaluate conditions 3-12, if only condition 1 or 2 is true
if(condition1 || condition2){
  if(condition3 && condition4){ /* so on until 12 */
     //--- execute trade
  }
}

为了提高代码的可读性,我建议你将一些条件移到函数中


推荐阅读