关于历史回溯onbar执行次数的问题


// +-------------------------------------------------------------+
// | This formula for testing                                    |
// +-------------------------------------------------------------+

Params

Vars
    Global Integer runCount(0);

Events
    OnBar(ArrayRef<Integer> indexs)
    {
        runCount = runCount + 1;
        Commentary("CurrentBar = " + Text(CurrentBar));
        Commentary("runCount = " + Text(runCount));

    }
 

加载日线4个数据源(rb888、v9888、p9888、al888)到该公式,回测2014.10.1-2015.10.1之间的数据,如图:

rb888第三根CurrentBar=2,runCount=5

同样加载日线4个数据源(rb888、v9888、p9888、al888)到该公式,回测2021.10.1-2022.10.1之间的数据,如图:

rb888第三根CurrentBar=2,runCount=3

从onbar的运行机制看,第三根K线的onbar应该是运行了三次,所以runCount=3应该正确的。那问题是第一组数据为何runCount=5? onbar被驱动了5次呢?

 

关于OnBar代码执行方式的问题
请问早期历史数据回测onbar多次执行的问题
关于onbar的问题
关于OnBarClose()回溯的问题
关于回溯类型变量的问题
求助关于OnBar中的问题
关于onbar的问题
历史回测 onBar 触发机制
关于ReStart();执行的问题
Onbar OnTick谁先更新的问题?

数据不要用太早的,以前没有夜盘会多触发一次

我感觉也是没有夜盘的问题,可能是时间线不同,导致实际bar数据有多个,多次触发了onbar,但这个问题如何处理? 现在多品种回溯,以前的数据反复出现信号闪烁 

第一个图应该是有问题