全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
蔡老师的代码是错误的
yxp168 分享到
2021-02-06 16:45

老师在一个视频中讲了一个策略,该策略的交易思路为

// 开盘30分钟内不操作;
// 开盘30分钟后,如果价格突破前30分钟波动区间的最高点则做多;如果价格突破前30分钟波动区间的最低点,则做空
// 每天14:55平所有仓
// 交易头寸为1手

老师给出的代码为

Params
    Numeric RangeEndTime(93000);
    Numeric TradeEndTime(145500);
    Numeric lots(1);
Vars
    Series<Numeric> UpperBand;
    Series<Numeric> LowerBand;    
Events


    OnBar(ArrayRef<Integer> indexs)
    {
        If(CurrentBar == 0 or Date <> Date[1])
        {
            UpperBand = High;
            LowerBand = Low;
        }
        Else if (Time <= RangeEndTime * 0.000001)
        {
            UpperBand = Max(High,UpperBand);
            LowerBand = Min(Low, LowerBand);
        }
        Else if (Time >= TradeEndTime * 0.000001)
        {
            Sell(0,Open);
            BuyToCover(0,Open);
        }
        Else
        {
            If (High >= UpperBand)
                Buy(lots,Max(Open,UpperBand));
            If (Low <= LowerBand)
                SellShort(lots,Min(Open,LowerBand));
        }
        PlotNumeric("Upperband",Upperband);
        PlotNumeric("LowerBand",Lowerband);
        
    }

在5分钟周期上测试,按策略的交易思想,也就是在每天第七根K线上开仓,但实际的结果是到了14:50策略还在开仓,如下图所示。很显示,在个策略的代码是错误 的

这个特策略交易思想还是不错的,哪位高手给改一下,谢谢!

kyover

你确定你公式写的正确?我用你的公式直接复制下来运行完全是正常的,建议你再仔细检查下代码,看看是不是粗心打开了错误的测试报告

2021-02-08 09:36
您未登录,请先 登录注册 后发表评论
顶部