为何mt5重启后指标箭头消失 新评论 Dongbo Bai 2019.02.13 11:52 为何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); } 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 初学者的问题 MQL5 MT5 MetaTrader 5 Questions from Beginners MQL5 MT5 MetaTrader 5 Ziheng Zhuang 2019.02.14 11:17 #1 1.重启后指标会从新加载,指标buffer都是要从新计算的,因此指标buffer会被置于空值,信号会消失。 2.价格变动几下也会出现消失的情况,这种情况就是指标buffer都被初始化为空值了。 因为某些情况下prev_calculated会被置零,这些情况包括:掉线后又连线,价格图表有丢失数据重新补充后,切换图表周期,修改指标参数。 prev_calculated被置零,你的代码中指标的buffer就初始化为空值了。 新评论
为何mt5重启后指标箭头消失,有时候是价格变动几下就消失箭头信号了,就这个简单代码,为啥?
int OnCalculate(const int rates_total,
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);
}