策略单元中数据叠加功能使用有问题

我把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线控制台中,输出的开仓信息有很多重复的。

现在我搞不清楚到底是代码的问题,还是软件的问题,该怎么解决?

 

 

策略单元中数据叠加数据重复计算
多数据源叠加的策略单元
关于策略单元格之间的数据交互问题
策略单元中使用跨周期程序,出现的问题。
代码中如何获取“策略单元设置”—“周期设置”的数据
如何跨策略单元传递数据?
关于策略单元设置问题
在策略单元中,如何通过代码锁定交易期货合约和交易周期,避免在策略单元中的手动调整
采用一个策略单元,数据源叠加,放在Onbar里,请问:tb处理性能是否满足要求?
希望增加批量导出策略单元优化结果的功能

日线情况比较特殊,如果你叠加有夜盘日线和无夜盘日线后

夜盘的日线运行时会运行2次。 你看看是不是这种情况

好像不是因为夜盘的原因,我又试了一下,加载了9个纯夜盘品种,见下图

运行结果都有重复的

也就是品种少的话,运行正常,超过5个以上,就会出现BUG,这个问题能不能正常解决?

我来试下你的公式