通过series储存的数据存在滞后的现象
Vars //此处添加变量 global numeric direct_sum; global numeric series_sum; series <numeric> bid_price; tick call_contract_tick; //存放call的tick数据 Defs //此处添加公式函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { PrintClear; SubscribeBar("ag2605C18000.SHFE", Frequency(), BeginDateTime()); } OnBar(ArrayRef<Integer> indexs) { gettick("ag2605C18000.SHFE",call_contract_tick); if (BarStatus==2) { print("------------"+TimeToString(time)+"------------"); print("买一价:"+text(call_contract_tick.bidask1.bidP)); //直接显示data1的买一价 bid_price=call_contract_tick.bidask1.bidP; //通过series变量记录data1的买一价后,再进行显示 print("bid_price:"+text(bid_price)); direct_sum=direct_sum+call_contract_tick.bidask1.bidP; //直接计算买一价的累计值 series_sum=series_sum+bid_price; //通过series变量bid_price记录买一价后,再进行累计 print("direct_sum:"+text(direct_sum)); //正常情况下,direct_sum应该等于series_sum;但实际发现经过一段时间后,二者会不相等,表明通过series记录的数据存在一些问题 print("series_sum:"+text(series_sum)); } } 我发现通过series储存的高频数据,存在一定的滞后现象参考以上demo,data0加载为ag2605的tick数据插入以上demo的代码按理来说,不论何时,通过[直接求和的direct_sum]都应该等于[通过series数据求和的series_sum]但实际上,在程序进行一段时间后,二者会不相等查看控制台也会发现series储存的bid_price会不等于其原始数据的现象是否是是程序存在问题?能否修正一下?