帮助!

 
如何规定在一支蜡烛打开时,有一个命令被打开,在下一支蜡烛打开时,它被关闭,新的命令被打开!
 
Anton Tarasov:
如何说明随着一支蜡烛的打开,一个订单被打开,而随着下一支蜡烛的打开,它被关闭,一个新的订单被打开!?
要做的第一件事是指定平台。
 
Alexey Kozitsyn:
首先,你需要指定平台。
ǞǞǞ
 
Anton Tarasov:
ǞǞǞ

下面是确定新柱状体 开始的函数

/// Определяет начало нового бара
bool NewBar()
{
    static datetime lastbar = 0;
    datetime curbar = iTime(Symbol(), PERIOD_M1, 0);
    if(lastbar!=curbar)
    {
        lastbar=curbar;
        return (true);
    }
    return(false);
}
 
Alexey Volchanskiy:

这里有一个函数来确定一个新条形 的起始点

谢谢你!

 
Alexey Volchanskiy:

下面是一个确定新柱状体 开始的函数

这不是正确的功能!!!。

它将在EA的第一次运行中给出一个错误的信号。

这是正确和可靠的方法。

// =========================================================================================================// 
bool NewBar()
  {
   static datetime time=0;
   datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0);
   if(time==0)
     {
      time=cur_time;
      return false;
     }
   if(time!=cur_time)
     {
      time=cur_time;
      return true;
     }
   return false;
  }
// =========================================================================================================//
 
Vladimir Pastushak:

这不是正确的功能!!!。

它将在EA第一次启动时给出一个错误的信号。

这是正确和可靠的方法。

对EA来说,一个不必要的如果就像脖子上的一块石头。
 
Anton Tarasov:
如何规定,随着一支蜡烛的开启,一个订单被打开,随着下一支蜡烛的开启,它被关闭,一个新的订单被打开!?
如果一个订单 开仓时间 小于Time[0],那么我们就关闭它。如果之后没有订单,我们会开一个新的订单。
 
Dmitry Fedoseev:
一个不必要的如果就像EA脖子上的一块石头。
再放一个别的,然后
 
bool NEW_BAR() еще короче
 {
  static int nBars=0;
  if(nBars!=Bars)
   {
    nBars=Bars;
    return(true);
   }
  return(false);
 }
 
Alexey Busygin:
那就把第二个人放下吧。
而这一点和小弟弟是一样的。
原因: