收盘价模型的收盘提前发单案例

1、原始策略是收盘价模型,ONBARCLOSE的事件机制。2、添加onbaropen的那段代码,即可实现收盘提前N秒发单。双均线收盘价模型的收盘提前5秒发单案例Params Numeric FastLength(5);// 短期指数平均线参数 Numeric SlowLength(20);// 长期指数平均线参数 Vars Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Events //每根BAR开始的时候设置触发时间点 OnBarOpen(ArrayRef<Integer> indexes) { Numeric advancesec(5); //提前多少秒 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) { 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); } }

我有个两个问题希望向您请教,比如我引用15分钟k线。就是如果实盘,我引用的开平仓信号,是close>X,buy/sell(1,close);这会导致信号闪烁问题,这个是否会导致实盘,比如13:13:40秒发出平仓信号?另外,我为了避免信号闪烁问题问题。我运用了,前K数据,close[1]>X,buy/sell(1,open);这种情况下虽然不会有信号闪烁问题,但是我比较担心收盘提前发单时,是否会因为我引用的是close[1],而导致在14:59:55秒,依旧是引用的14:45:00这跟K线的Close。而不是我期望的虚拟一根新Bar,然后以14:59:55作为Close[1]去运行?

👍