我把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,这个问题能不能正常解决?
我来试下你的公式