static int last_rates_total=0; // previous value "input timeseries size at previous static int last_prev_calculated=0; // previous value "bar processed at previous call.
和验证码,并输出到期刊
//+------------------------------------------------------------------+//| Custom indicator iteration function//+------------------------------------------------------------------+intOnCalculate (constint rates_total, // размер входных таймсерий constint prev_calculated, // обработано баров на предыдущем вызове
...
{
int N=rates_total-prev_calculated; if (N>MAX_PERIOD) N-=MAX_PERIOD;
staticint last_rates_total=0; // размер входных таймсерий staticint last_prev_calculated=0; // обработано баров на предыдущем вызове if (rates_total!=last_rates_total || prev_calculated!=last_prev_calculated) {
Print("N=", N, ", rates_total=", rates_total, ", prev_calculated=", prev_calculated);
last_rates_total=rates_total; last_prev_calculated=prev_calculated;
}
for (int i=N; i>0 && !IsStopped(); i--) {
...
}
aUP[0]=EMPTY_VALUE; aDN[0]=EMPTY_VALUE;
return(rates_total);
}
//---if ( rates_total < MinBars ) return(0);
//--- last counted bar will be recountedint limit=rates_total-prev_calculated-1;
if(prev_calculated>0) limit++;
//---for( int i=limit; i>=0; i--)
{
IndBuffer[i] = Add your code here
}
//---return(rates_total);
试着在OnCalculate的最开始打印prev_calculated。
并与一些标准指标进行比较--是否闪动。
static int last_rates_total=0; // previous value "input timeseries size at previous
static int last_prev_calculated=0; // previous value "bar processed at previous call.
和验证码,并输出到期刊
在一分钟内启动AOM指标,得到了这个报告
没有什么意外,只对新进来的酒吧进行正常处理。
在OnCalculate()函数 中增加了两个静态变量,用于比较当前值和先前值。
没有什么意外,有一个正常的处理过程,只有新的棒子进来了。
不,我在图表上放了几个标准指标 "移动平均线"、"令人敬畏的振荡器"。观察到的。没有,没有发现"数据窗口"中的数值闪烁或消失的情况。
不,我在图表上放了几个标准指标 "移动平均线"、"令人敬畏的振荡器"。观察到的。不,我没有注意到"数据窗口"中的数值有任何闪动或消失。
我是指那些在源头(mq5)的指标。
如果它们不闪烁,那么问题显然在你的代码中。简化它,直到它不再闪烁。反之亦然--将标准代码细化到你的状态,直到它闪烁起来。
所以你必须接受它,认为它是理所当然的,不再寻找原因?
顺便说一句,我还没有为OnCalculate() 函数找到一个通用的 "包装器",甚至在标准指标中也没有找到,以便一劳永逸地使用它。
也许,你知道有些指标有这样的 "包装",可以把它作为一个参考。
所以你必须接受它,认为它是理所当然的,并停止寻找原因?
但我已经把代码简化到了极致。好吧,我试着用其他方式。
这可能是关于任何小事。
顺便说一句,我还没有为OnCalculate()函数找到一个通用的 "包装器",即使在标准指标中也是如此,以便一劳永逸地使用它。
也许,你可以建议一个有这样一个 "包装器 "的指标,将其作为参考?
我已经看到了几个变种。你可以搜索和选择。
我自己就用这个。