关于我的嵌套if语句为什么会显示“找到空控制语句”警告的任何特别有效的理由?

问题描述

对,我得到这个事实的背后原因是什么

empty controlled statement found@H_502_4@

在编译我的EA时在MetaEditor中显示消息吗?

在我将EA更改为包括嵌套的if和else if语句之前进行编译时,这并没有发生。坦率地说,对于MetaEditor决定如何表现为这种情况,没有任何押韵或理由。我已经编码了五年了,这在现在之前从未发生过。

shiftOneOpen         =  iOpen(Symbol(),1);
shiftOneClose        =  iClose(Symbol(),1);
shiftOneHigh         =  iHigh(Symbol(),1);
shiftOneLow          =  iLow(Symbol(),1);
bullNailOpen         =  iOpen(Symbol(),2);
bullNailClose        =  iClose(Symbol(),2);
bearNailOpen         =  iOpen(Symbol(),2);
bearNailClose        =  iClose(Symbol(),2);
bullHammer           =  (shiftOneClose - shiftOneOpen);
bearHammer           =  (shiftOneOpen - shiftOneClose);
bullNail             =  (bullNailClose - bullNailOpen);
bearNail             =  (bearNailOpen - bearNailClose);
   
/*---------------------------------------------------------------------------*/

if(shiftOneClose < shiftOneOpen){
   if((bearHammer / (shiftOneOpen - shiftOneLow) <= OoTMax))
   if((bearHammer / bullNail) <= OoTMax)
   if(bearHammer >= Transform(PCM,2));  <--Line 302 -->
} 

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

**<!--The below variables MUST ALL equal true for order to execute. These variable are a constant regardless as to whether `shiftOneClose > shiftOneOpen` or `shiftOneClose < shiftOneOpen`-->**

if....
if...
if...
if..{

<!----Perform relevant function--->

}@H_502_4@

这是编译日志的结果:

empty controlled statement found single-inverted-hammer.mq4 302 38@H_502_4@

empty controlled statement found single-inverted-hammer.mq4 309 38@H_502_4@

0 errors,2 warnings,472 msec elapsed 1 5@H_502_4@

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)