检查策略代码是否写错,模拟测试结果与策略说明有点差距

策略说明:
        当某bar对应参数为14的CCI指标上穿1且收盘价对应cci值大于1时开仓做多单,固定开5手,当后续bar对应参数为14的CCI指标下穿 1时平仓。第一次开仓多单未平仓时,不开新单。
系统要素:
        1、参数为14的CCI指标
入场条件:
        1、某bar对应参数为14的CCI指标上穿1且收盘价对应cci值大于1
        2、当前没有未平仓的多单
出场条件:
        1、后续bar对应参数为14的CCI指标下穿 1
注    意:
        此公式仅做多
*/
Params
    Numeric cciLength(14);        // CCI指标参数
    Numeric Lots(5);              // 交易手数
Vars
    Series<Numeric> typicalPrice(0);  // 典型价格
    Series<Numeric> smaTP(0);        // 典型价格的简单移动平均线
    Series<Numeric> atrVal(0);       // 真实波动幅度均值
    Series<Numeric> cciVal(0);       // CCI指标值
    Bool isOpened(False);           // 标记是否已经开仓

Events
    OnBar(ArrayRef<Integer> indexs)
    {
        // 计算典型价格
        typicalPrice = (High + Low + Close) / 3;

        // 计算典型价格的简单移动平均线
        smaTP = Average(typicalPrice, cciLength);

        // 计算真实波动幅度均值
        atrVal = AvgTrueRange(cciLength);

        // 计算CCI指标
        cciVal = (typicalPrice - smaTP) / (0.015 * atrVal);

        // 画线
        PlotNumeric("CCI", cciVal);

        // 入场条件判断
        If(!isOpened And MarketPosition != 1 And cciVal[1] <= 1 And cciVal > 1 And cciVal > 1)
        {
            // 开多单
            Buy(Lots, Open);
            isOpened = True;
        }

        // 出场条件判断
        If(MarketPosition == 1)
        {
            // 参数为14的CCI指标下穿 1时,平多单
            If(cciVal[1] >= 1 And cciVal < 1)
            {
                Sell(0, Open);
                isOpened = False;
            }
        }
    }
//------------------------------------------------------------------------
// 编译版本        GS2014.10.25
// 版权所有        TradeBlazer Software 2003-2025
// 更改声明        TradeBlazer Software保留对TradeBlazer平
//                        台每一版本的TradeBlazer公式修改和重写的权利


请大神帮我看下,这段策略代码是哪里出了问题,我要限制开仓,固定开仓,但是模拟测试总是会多次买入超量,Numeric Lots(5);              // 交易手数,这句写的有问题么?

代码检查
TBQ3写好策略单元做模拟测试怎么绑定模拟交易账户
优化后同参数策略运行结果与优化结果差异大
DEMO账户如何实时测试 策略?
使用SetPremiseFormulas加载含有plotline函数的策略画图失效测试代码
策略代码检查不出问题,是否有专门的人帮忙看源码问题?
求管理帮忙检查策略
策略测试报告指标解释
在策略研究测试问题
在模拟平台,测试运行算法交易策略,回测遇到问题

这是你的图表,你说的超量买入是什么意思

应该很明显偷价了,用open作为信号价格,但是信号触发并不是在开盘时刻

这个应该要问作者怎么回事,很低级的错误,建议作者再多看看零基础的教程,多研究几个盘中突破模型的案例代码学习一下

我好像根你遇到一样的问题了,管理没人回复

...人家不用下班休息的么?你是奴隶主吗拿鞭子催着人家回你啊?