日线级别截面策略尾盘OnBarClose调仓时是否会出现信号闪烁的问题?
在多图层的商品截面策略中,日线级别,如果参考OnBarClose示例。我希望是每日尾盘收盘前发单调仓。但是会因为每个品种每日开盘时间的不一样,有3次不同的开盘时间:21:00, 9:00和国债9:30。如图最后一根bar,早开盘的品种执行了OnBarClose里的内容:PlotNumeric("MA1",AvgValue1); PlotNumeric("MA2",AvgValue2);这样是否会因为9:00,9:30不同开盘时间发生信号闪烁误下单?按理说OnBarOpen定义了执行的时间,有点糊涂了。 Params Numeric FastLength(5);// 短期指数平均线参数 Numeric SlowLength(20);// 长期指数平均线参数 Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Events //每根BAR开始的时候设置触发时间点 OnBarOpen(ArrayRef<Integer> indexes) { Range[0:DataSourceSize()-1] { Numeric advancesec(10); //提前多少秒 Array<Numeric> timePoint; Numeric ret = DateTimeAdd(RealEndDateTime, -1*advancesec); ret = StringToTime(TimeToString(ret)); Print("endtime="+text(RealEndDateTime)+" SetTriggerBarClose:" + Text(ret)); ArrayPushBack(timePoint, ret); SetTriggerBarClose(timePoint); } } OnBarClose(ArrayRef<Integer> indexs) { Range[0:DataSourceSize()-1] { AvgValue1 = AverageFC(Close,FastLength); AvgValue2 = AverageFC(Close,SlowLength); PlotNumeric("MA1",AvgValue1); PlotNumeric("MA2",AvgValue2); If(MarketPosition <>1 && AvgValue1 > AvgValue2) { Buy(0,Close); } If(MarketPosition <>-1 && AvgValue1 < AvgValue2) { SellShort(0,Close); } } }