策略单元中数据叠加功能使用有问题
2022-08-08 21:25

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

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

 

 

评论区
ShaZi_TB

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

运行结果都有重复的

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

2022-08-09 21:47
顶部