跨周期模型策略源码如下
请问老师,写的这个跨周期均线交易模型有没有什么问题,策略研究加载到品种上只开仓了一次,平仓是在最后一天平的。 ----------------------------------------------------------- Params array<string> mysymbol(["i9888.DCE","rb888.SHFE"]); Numeric Length1(5); Numeric Length2(10); Numeric Length3(20); Numeric Length4(40); Vars Numeric pinzhon; Numeric ma; Numeric ma1; Numeric ma2; Numeric ma3; Numeric ma4; Events OnInit() { for pinzhon = 0 to GetArraySize(mysymbol) { SubscribeBar(mysymbol[pinzhon],"1h",20220101); SubscribeBar(mysymbol[pinzhon],"15m",20220101); SubscribeBar(mysymbol[pinzhon],"3m",20220101); } } OnBar(ArrayRef<Integer> indexs) { Data0.ma1 = data0.Average(Data0.Close,Length1);//小时级别的5ma Data0.ma2 = data0.Average(Data0.Close,Length2);//小时级别的10ma Data0.ma3 = data0.Average(Data0.Close,Length3);//小时级别的20ma Data1.ma1 = data1.Average(Data1.Close,Length1);//15分钟级别的5ma Data1.ma2 = data1.Average(Data1.Close,Length2);//15分钟级别的10ma Data1.ma3 = data1.Average(Data1.Close,Length3);//15分钟级别的20ma Data2.ma1 = data2.Average(Data2.Close,Length1);//3分钟级别的5ma Data2.ma2 = data2.Average(Data2.Close,Length2);//3分钟级别的10ma Data2.ma3 = data2.Average(Data2.Close,Length3);//3分钟级别的20ma If( Marketposition == 0 and data0.ma1 > data0.ma2 and data1.ma1 > data1.ma2 and data1.ma2 > data1.ma3 and data2.ma1 > data2.ma2 and data2.ma2 > data2.ma3) { Buy(1,Open); } If(Marketposition == 1 and data0.ma1 > data0.ma2 and data1.ma1 < data1.ma2 and data1.ma2 < data1.ma3 Or data0.ma1 < data0.ma2 and data1.ma1 > data1.ma2 and data1.ma2 > data1.ma3) { Sell(1,Open); } } //------------------------------------------------------------------------ // 编译版本 2022/05/06 180517 // 版权所有 xian99 // 更改声明 TradeBlazer Software保留对TradeBlazer平台 // 每一版本的TradeBlazer公式修改和重写的权利 //------------------------------------------------------------------------