关于历史回溯onbar执行次数的问题
2022-10-24 22:01


// +-------------------------------------------------------------+
// | 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次呢?

 

评论区
timinginfo

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

2022-10-25 10:21
顶部