请教一下这段函数限制一根K线只开仓一次,怎么个改法才不爱时间周期的影响?

 

下面函数是限制一根K线只开仓一次,我想改成在EA测试时不受下图的“时间周期”影响

我写的这个EA是以4小时图来开单的,当合适开仓条件时,如果选成这个,就会变成在15分图上每一根K线开仓一次了。。。

这个才是我想要的开仓单,下面函数要怎么改才才不受““时间周期””的影响?



bool Fun_New_Bar()

 {
 static datetime New_Time = 0;
 bool New_Bar = false;
 if (New_Time!= Time[0])
 {
 New_Time = Time[0];
 New_Bar = true;
 }
 return(New_Bar);
 }
 bool isNewBar()
 { static datetime TimeBar=0;
 bool flag=false;
 if(TimeBar!=Time[0])
 {
 TimeBar=Time[0];
 flag=true;
 }
 return (flag);
 }
 
bool IsNewTFbar(ENUM_TIMEFRAMES tf)
  {
   static datetime t=0;
   
   if(t!=iTime(NULL,tf,0))
     {
      t=iTime(NULL,tf,0);
      return(true);
     }
   return (false);
  }


自己调用,想判断哪个周期就传入对应的tf (TimeFrame)。

bool newbar = IsNewTFbar(PERIOD_H4); //判断H4有没有新的K线
 
Ziheng Zhuang:



可以了,非常感谢你,谢谢

原因: