优化策略
Params Numeric length1(5); Numeric length2(20); Vars Series<Numeric> ma1; //5日均线 Series<Numeric> ma2; //20日均线 Global Integer id; Plot plt0; Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { PrintClear; id = SubscribeBarCounts("si888.GFEX","1m",5000); Integer i; for i=0 to DataSourceSize-1 { data[i].plt0.figure(0); } Array<Numeric> timepoint; timepoint[0]=0.145850; SetTriggerBarClose(timepoint); //通过该函数改变触发时间 } OnReady() { SetOrderMap2MainSymbol; } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize-1] { ma1 = AverageFC(O,length1); ma2 = AverageFC(O,length2); PlotNumeric("5日均线",ma1); PlotNumeric("20日均线",ma2); data[id].plt0.barv("成交量",Vol); //Integer num = NthCon(CrossOver(ma1,ma2),1); If(MarketPosition<>1 and CrossOver(ma1,ma2)) { Buy(1, Close); //1.成交量大于10000;2.K线阳3跳及以上 3.5根K线内有金叉;4.无多仓。 } If( MarketPosition <>-1 And (CrossUnder(ma1,ma2))) //1.死叉;2.成交量小于10000, { SellShort(1, Close); } } } OnBarClose(ArrayRef<Integer> indexes) { If(Time == 0.1458) //bar时间,在5分钟bar里是最后一根 { Sell(0,Close); BuyToCover(0,Close); print("收盘平仓"); } } 今天想优化一下昨简单的双均线策略,然后选一个比较好的参数,可是估化完居然没有一个收益是正的,我感觉不太可能啊,是不是我优化的不对啊,短周期5-20,长周期20-100,可是优化完居然全是绿的,瞬间感觉没希望了😭,是不是我优化的方法不对啊