您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

请问老师如何实现模型组合后的交易次数 [金字塔]

  • 咨询内容:  

     

    下面是2个模型组合,图表交易。请问老师模型1与模型2分别交易不超过2次,如何改编呢?

     

    input: cang2(1,0,10,1);
    variable:cc1=0,cc2=0;

     

    runmode:0;

    variable:zs=0,cc1=0;

    ma5:=ma(c,5);

    ma20:=ma(c,20);

    entertime:=time>100000 and time<144500;

    if holding>0 and cc1<=0 then sell(1,1,limitr,o);

    if holding<0 and cc1>=0 then sellshort(1,1,limitr,o);

    if holding=0 and cc1>0 then buy(1,1,limitr,o);

    if holding=0 and cc1<0 then buyshort(1,1,limitr,o);

    if cc1>0 and l<zs then begin

    sell(1,1,limitr,min(o,zs-0.6));

    cc1:=0;

    end

    if cc1<0 and h>zs then begin

    sellshort(1,1,limitr,max(o,zs+0.6));

    cc1:=0;

    end

    if cc1>0 and ma5<ma20 then cc1:=0;

    if cc1<0 and ma5>ma20 then cc1:=0;

    if cc1=0 and ma5>ma20 and entertime then begin

    cc1:=1;

    zs:=c-10;

    end

    if cc1=0 and ma5<ma20 and entertime then begin

    cc1:=-1;

    zs:=c+10;

    end

    if time>=150000 then begin

    cc1:=0;

    end

    /////////////////////////////////以上是模型1

    /////////////////////////////////模型2——20周期反手
    hi:=ref(hhv(h,20),1);
    lo:=ref(llv(l,20),1);
    if cc2>0 and l<lo then begin
    pc:=min(max(holding,0),cang2);
    kc:=cang2-pc;
    if pc>0 then sell(1,pc,limitr,min(o,lo-0.2)-0.6);
    if kc>0 then buyshort(1,kc,limitr,min(o,lo-0.2)-0.6);
    cc2:=0;
    end
    if cc2<0 and h>hi then begin
    pc:=min(abs(min(holding,0)),cang2);
    kc:=cang2-pc;
    if pc>0 then sellshort(1,pc,limitr,max(o,hi+0.2)+0.6);
    if kc>0 then buy(1,kc,limitr,max(o,hi+0.2)+0.6);
    cc2:=0;
    end
    if cc2=0 and h>hi then begin
    pc:=min(abs(min(holding,0)),cang2);
    kc:=cang2-pc;
    if pc>0 then sellshort(1,pc,limitr,max(o,hi+0.2)+0.6);
    if kc>0 then buy(1,kc,limitr,max(o,hi+0.2)+0.6);
    cc2:=1;
    end
    if cc2=0 and l<lo then begin
    pc:=min(max(holding,0),cang2);
    kc:=cang2-pc;
    if pc>0 then sell(1,pc,limitr,min(o,lo-0.2)-0.6);
    if kc>0 then buyshort(1,kc,limitr,min(o,lo-0.2)-0.6);
    cc2:=-1;
    end

    /////////////////////////////////以上是模型2

     

     

  • 金字塔客服:

    模型1与模型2分别交易不超过2

    这句话是什么意思呢?

     

  • 用户回复: 以下是引用klc在2014/2/16 17:55:26的发言:

    模型1与模型2分别交易不超过2

    这句话是什么意思呢?

    就是模1开仓不超过2次,模2开仓不超过2次。

     

  • 网友回复:

    variable:num=0;// 全局变量,控制交易次数,没开仓一次把这个值加1。

     

    if holding=0 and cc1>0 and num<2 then

    begin

    buy(1,1,limitr,o);

    num:=num+1;

    end

     

    if holding=0 and cc1<0 and num<2 then

    being

    buyshort(1,1,limitr,o);

    num:=num+1;

    end

     

  • 网友回复: 以下是引用yukizzc在2014/2/17 9:08:18的发言:

    variable:num=0;// 全局变量,控制交易次数,没开仓一次把这个值加1。

     

    if holding=0 and cc1>0 and num<2 then

    begin

    buy(1,1,limitr,o);

    num:=num+1;

    end

     

    if holding=0 and cc1<0 and num<2 then

    being

    buyshort(1,1,limitr,o);

    num:=num+1加在开仓语句控制交易次数,结果交易信号几乎看不到了;如num:=num+1加在平仓语句中控制交易次数又控制不住,即交易超过2次,如模型不组合在一起分别运行则正常即不超过2次。昨天我已都试过了。老师上面的方法你实际试验的结果如何呀?

    num:=num+1;

    end

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容