蔡老师的代码是错误的
老师在一个视频中讲了一个策略,该策略的交易思路为 // 开盘30分钟内不操作; // 开盘30分钟后,如果价格突破前30分钟波动区间的最高点则做多;如果价格突破前30分钟波动区间的最低点,则做空 // 每天14:55平所有仓 // 交易头寸为1手 老师给出的代码为 Params Numeric RangeEndTime(93000); Numeric TradeEndTime(145500); Numeric lots(1); Vars Series<Numeric> UpperBand; Series<Numeric> LowerBand; Events OnBar(ArrayRef<Integer> indexs) { If(CurrentBar == 0 or Date <> Date[1]) { UpperBand = High; LowerBand = Low; } Else if (Time <= RangeEndTime * 0.000001) { UpperBand = Max(High,UpperBand); LowerBand = Min(Low, LowerBand); } Else if (Time >= TradeEndTime * 0.000001) { Sell(0,Open); BuyToCover(0,Open); } Else { If (High >= UpperBand) Buy(lots,Max(Open,UpperBand)); If (Low <= LowerBand) SellShort(lots,Min(Open,LowerBand)); } PlotNumeric("Upperband",Upperband); PlotNumeric("LowerBand",Lowerband); } 在5分钟周期上测试,按策略的交易思想,也就是在每天第七根K线上开仓,但实际的结果是到了14:50策略还在开仓,如下图所示。很显示,在个策略的代码是错误 的 这个特策略交易思想还是不错的,哪位高手给改一下,谢谢!