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

实现二三档进场的单子 [金字塔]

  • 咨询内容: 实现二三档进场的单子,在本周期用限定价低于收盘价平仓,次周期以后低于最高价平仓



    //策略核心:
    //进场
    //周线KDJ933,J<0,设为基准价,
    //第一次进场;买每份的45%;10/11
    //第二次进场基准价下跌3%,买每份的35%;9.7/9.7+0.97
    //第三次进场基准价下跌6%,买每份的20%;9.4/9.4+15%
    //离场
    //      第一进场成本价上涨10%,平仓45%;
    //      第二进场成本价上涨12%,平仓35%;
    //      第三进场成本价上涨15%,平仓20%;

    RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
    K:=SMA(RSV,P1,1);
    D:=SMA(K,P2,1);
    J:=3*K-2*D;
    VARIABLE: 基准价=0,flag1=0,flag2=0,flag3=0,VOL1=0,VOL2=0,VOL3=0;


    //初始化底仓价格和调仓
    IF CROSS(0,J) AND HOLDING=0 THEN BEGIN
        基准价:=CLOSE;
    END
    SS:=1000000/基准价;

    //交易条件 
    //实现二三档进场的单子,在本周期用限定价低于收盘价平仓,次周期以后低于最高价平仓
    {
    PD1:=基准价*1.1<H;
    IF ENTERBARS>1 THEN BEGIN
        PD2:=(基准价*0.97)*1.1<H;
    END

    IF ENTERBARS=1 THEN BEGIN
        PD2:=(基准价*0.97)*1.1<C;
    END

    IF ENTERBARS>1 THEN BEGIN
        PD3:=(基准价*0.94)*1.15<H;
    END

    IF ENTERBARS=1 THEN BEGIN
        PD3:=(基准价*0.94)*1.15<C;
    END
    }

    PD1:=基准价*1.1<H;
    PD2:=(基准价*0.97)*1.1<C;
    PD3:=(基准价*0.94)*1.15<C;

    KD1:=CROSS(0,J);
    KD2:=CROSS(基准价*0.97,L);
    KD3:=CROSS(基准价*0.94,L);



    //第二次进场的平仓;买每份的35%
    PCC2:=(基准价*0.97)*1.1-OPEN;
    IF PD2 THEN BEGIN
       SELL(flag2=1,VOL2,LIMITR,OPEN+PCC2);
       flag2:=2;
    END

    //第三次进场的平仓;买每份的20%
    PCC3:=(基准价*0.94)*1.15-OPEN;
    IF PD3 THEN BEGIN
       SELL(flag3=1,VOL3,LIMITR,OPEN+PCC3);
       flag3:=3;
    END

    //第一次进场的平仓;买每份的45%
    PCC1:=基准价*1.1-OPEN;
    IF PD1 THEN BEGIN
       SELL(flag1=1,VOL1,LIMIT,OPEN+PCC1);
       flag1:=0;
       flag2:=0;
       flag3:=0;
       基准价:=0;
    END


    //第一次进场;买每份的45%
    IF KD1 THEN BEGIN
       T:=3;
       BUY(HOLDING=0 AND flag1=0,SS*45/100,THISCLOSE);
       T:=2;
       VOL1:=SS*45/100;
       flag1:=1;
    END

    //第二次进场;买每份的35%
    CZ2:=基准价*0.97-OPEN;
    IF KD2 AND flag2=0 AND T=2 THEN BEGIN
       BUY(1,SS*35/100,LIMIT,OPEN+CZ2);
       T:=1;
       VOL2:=ENTERVOL;
       flag2:=1;
    END

    //第三次进场;买每份的20%
    CZ3:=基准价*0.94-OPEN;
    IF KD3 AND flag3=0 AND T=1 THEN BEGIN
       BUY(1,SS*20/100,LIMIT,OPEN+CZ3);
       T:=0;
       VOL3:=ENTERVOL;
       flag3:=1;
    END




    {

    //-------------------以触及市价平仓--------------------------------
    ZSPRICE:=基准价*(1-ZS/100);
    ZSC:=ZSPRICE-OPEN;
    IF L<=ZSPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
      DRAWTEXT(1,LOW,'止损');
      SELL(HOLDING>0,0,LIMITR,OPEN+ZSC);
    END

    {
    ZYPRICE:=ENTERPRICE*(1+ZY/100);
    ZYC:=ZYPRICE-OPEN;
    IF H>=ZYPRICE AND HOLDING>0 AND ENTERBARS>0 THEN BEGIN
      DRAWTEXT(1,HIGH,'止盈');
      SELL(HOLDING>0,0,LIMITR,OPEN+ZYC);
    END

     

  • 金字塔客服: 请问有什么需求?

     

  • 用户回复:


    此主题相关图片如下:qq图片20161021104014.png

     


     需求就是要PD2,PD3,在本周期用低于收盘价,次周期的时候低于最高价为交易条件,我一直改不对,而且附图中回测数据,二三档可以开仓的位置没有开仓

     

  • 网友回复:

    有白色箭头了,说明价格不合理,不能成交的

    用函数ignorecheckprice来避免这个问题,用法:BUY(1,SS*20/100,LIMIT,OPEN+CZ3),ignorecheckprice;

     

  • 网友回复: 加上ignorecheckprice;后
    此主题相关图片如下:qq图片20161021105007.png

 

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

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容