我把TBQuant自带的双均线策略稍微改了一下,加了Range[0: DataCount-1 ],
代码如下:
Params
Numeric FastLength(5);// 短期指数平均线参数
Numeric SlowLength(20);// 长期指数平均线参数
Vars
Series<Numeric> AvgValue1;
Series<Numeric> AvgValue2;
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0: DataCount-1 ]
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric("MA1",AvgValue1);
PlotNumeric("MA2",AvgValue2);
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
Buy(1,Open);
If(MarketPosition==1)
{
Print("当前Bar商品名称1:"+Symbol()+ ",日期:"+Text(Date())+",时间:"+Text(Time()));
Print("开多:"+Text(1)+",价格:"+Text(Open)); //
}
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
SellShort(1,Open);
If(MarketPosition==-1)
{
Print("当前Bar商品名称1:"+Symbol()+ ",日期:"+Text(Date())+",时间:"+Text(Time()));
Print("开空:"+Text(1)+",价格:"+Text(Open)); //
}
}
}
}
在策略交易-新建策略单元-叠加,叠加4个品种的时候,运行之后,在打开k线-控制台,可以看到开仓日期、价格等信息与交易记录比较一致。
但是叠加品种增加的时候,比如增加到6种,在K线控制台中,输出的开仓信息有很多重复的。
现在我搞不清楚到底是代码的问题,还是软件的问题,该怎么解决?
日线情况比较特殊,如果你叠加有夜盘日线和无夜盘日线后
夜盘的日线运行时会运行2次。 你看看是不是这种情况
好像不是因为夜盘的原因,我又试了一下,加载了9个纯夜盘品种,见下图
运行结果都有重复的
也就是品种少的话,运行正常,超过5个以上,就会出现BUG,这个问题能不能正常解决?
我来试下你的公式