全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
【求助】跨多周期策略,重复发出开仓指令的问题
2022-02-26 09:07

请教下,能否帮忙优化一下代码:

方案:长中短三个周期,①三个收盘价都超过均线则开多 ②三个收盘价都低于均线则开空

异常点:当短周期,中周期都已经向上突破了均线时,此时长周期一直在均线附近上下波动,导致2min之内重复发了4个开仓信号,k线图标上面也随之的出现信号,消失信号4次(走完之后,k线上面最终只显示了一个信号),导致结果是:应该只开1个多,但是开了4个多仓。代码里面的条件MarketPosition <> 1也没有起到限制开仓一手的作用。

代码如下:

------------------------------------------------------------------------------------------------

Params
    Numeric length(20);


Vars
    Series<Numeric> p_ma;
    Numeric cc;
    Global Numeric sum_cc;
    
Events
    OnBar(ArrayRef<Integer> indexs)
    {
    sum_cc=0;
    range[0:DataCount-1]
    {
        p_ma = Average(c,length);
        PlotNumeric("P_ma",p_ma);
        if(c > p_ma)
        {
            cc = 1;
        }
        Else
        {
            cc = -1;
        }
        sum_cc = sum_cc + cc;
    }
    Commentary("sum_cc="+text(sum_cc));
    If(sum_cc > 1 and MarketPosition <> 1)
    {
        buy(1,C);
    }
    Else if(sum_cc < -1 and MarketPosition <> -1)
    {
        SellShort(1,C);
    }
    
}

kyover

你这又偷价又信号闪烁,重新学一学开发吧,基本等于瞎写

2022-02-28 08:50
您未登录,请先 登录注册 后发表评论
顶部