求助跨周期,指标变化时出现信号闪烁
商品为rb2110,数据源0为5分钟周期,数据源1为1小时周期,在5分钟周期交易;1小时周期金叉开多、死叉开空。开空所在的1小时周期内如果出场则依旧以1小时周期的死叉条件进场,实测发现死叉若13:55出场,下一个1小时周期正好金叉,会发生闪烁;下面附图和策略代码 //------------------------------------------------------------------------ //1.5分钟周期 //2.60分钟周期 Params Numeric fast_window(5);// 快速均线 Numeric slow_window(20);// 慢速均线 Vars Natural Series<Numeric> fast_ma; Natural Series<Numeric> slow_ma; Events OnBarOpen(ArrayRef<Integer> indexs){ Range[1:1]{ fast_ma=AverageFC(Close[1],fast_window); slow_ma=AverageFC(Close[1],slow_window); } } OnBar(ArrayRef<Integer> indexs){ Range[0:0]{ If(Data[1].CurrentBar>slow_window){ PlotNumeric("快线",Data[1].fast_ma,0,Yellow,0); PlotNumeric("慢线",Data[1].slow_ma,0,Cyan,0); If(MarketPosition==0){ If(Data[1].fast_ma>Data[1].slow_ma&&Data[1].fast_ma[1]<Data[1].slow_ma[1]){ Buy(1,Open); } If(Data[1].fast_ma<Data[1].slow_ma&&Data[1].fast_ma[1]>Data[1].slow_ma[1]){ SellShort(1,Open); } }Else If(MarketPosition==1&&BarsSinceEntry>4){ Sell(0,Open); }Else If(MarketPosition==-1&&BarsSinceEntry>4){ BuyToCover(0,Open); } } } }