为何mt5重启后指标箭头消失

 

为何mt5重启后指标箭头消失,有时候是价格变动几下就消失箭头信号了,就这个简单代码,为啥?

int OnCalculate(const int rates_total,

                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int limit,i;
   if(prev_calculated==0)
     {
      limit=50;
      ArrayInitialize(bk,EMPTY_VALUE);
     }
   else
      limit=prev_calculated-1;
   for(i=limit; i<rates_total && !IsStopped();i++)
     {

      if(true&& i-bkt>16)//当前位置和上次条件成立位置大于16根bars
        {
         bk[i]=low[i];
         bkt=i;////记录条件成立时候的bars位置
        }
     }
   return(rates_total);
  }
 

1.重启后指标会从新加载,指标buffer都是要从新计算的,因此指标buffer会被置于空值,信号会消失。

2.价格变动几下也会出现消失的情况,这种情况就是指标buffer都被初始化为空值了。

  因为某些情况下prev_calculated会被置零,这些情况包括:掉线后又连线,价格图表有丢失数据重新补充后,切换图表周期,修改指标参数。

  prev_calculated被置零,你的代码中指标的buffer就初始化为空值了。