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

------自己改写的双轨道交易系统 ,为神马回测是0呢 [金字塔]

  • 咨询内容:  不是数据导入的问题 ,因为 其余的系统策略回测没有问题

    代码如下 ,测试编译没有问题
    之前回测有数据的 ,也不知道出了什么问题 一夜之后不行了


    //中间变量
    INPUT:N(16,1,30,1),K1(0.4,0.1,1,0.1),K2(0.8,0.1,1,0.1),NMIN(6,1,10,1),SS(100,100,1000,100);
    //INPUT:P1(3,1,5,1),P2(80,10,100,10);{计算最大回撤止损};
    VARIABLE:P2=80;
    variable:MAXPROFIT:=0;
    variable:PROFIT:=0;
    variable:DOWNPROFIT:=0;
    variable: EX=0;
    CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
    LHIGH:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
    LLOW:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
    LCLOSE:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
    TOPEN:=VALUEWHEN(CYC=1,OPEN);
    HH:=HHV(LHIGH,N);//N日HIGH的最高价
    HC:=HHV(LCLOSE,N);//N日CLOSE的最高价
    LC:=LLV(LCLOSE,N);//N日CLOSE的最低价
    LL:=LLV(LLOW,N);//N日LOW的最低价
    MOVING:=MAX(HH-LL,HC-LL);//RANGE
    T1:=TIME>=090200 AND TIME<=145000+NMIN*100;
    T2:=TIME>=145000+NMIN*100 AND TIME<=150000;
    HOLDER:=SS;
    幅度:=0;
    UP:TOPEN+K1*MOVING;
    DOWN:TOPEN-K2*MOVING;
    BUYCON:=C>UP AND HOLDING=0 ;
    BUYSHORTCON:=C<DOWN AND HOLDING=0 ;
    亏跳:=10;
    盈跳:=200;
    {
    多头浮亏10跳止损条件: (ENTERPRICE-C)>5*MINDIFF();
    空头浮亏10跳止损条件: (C-ENTERPRICE)>5*MINDIFF();
    }
    //移动动态止损部分

    ///每天的 开盘的时候 持仓为0 开仓为0

    IF TIME =090100 THEN BEGIN
       EXTGBDATASET('B',0);//A 代表是否有仓位 b代表是否开过仓位
       EXTGBDATASET('A',0);
    END
    ///

    //持有空仓的情况
    IF HOLDING=0 THEN BEGIN
     IF T1 THEN BEGIN
       IF BUYCON THEN BEGIN
        BUY( EXTGBDATA('B')=0 AND EXTGBDATA('A')=0,HOLDER,MARKET);
              EXTGBDATASET('A',1);
              EXTGBDATASET('B',1);  
       END
       IF BUYSHORTCON THEN BEGIN
        BUYSHORT( EXTGBDATA('B')=0 AND EXTGBDATA('A')=0,HOLDER,MARKET);
              EXTGBDATASET('A',-1);
              EXTGBDATASET('B',1); 
       END
     END
     
    END



    IF HOLDING>0 THEN BEGIN

      IF T1 THEN BEGIN
       //最高价格 浮亏10跳 止盈操作

       //浮亏10跳 止损
      
      
              IF  ( AVGENTERPRICE()-DYNAINFO(  7)>10*MINDIFF) THEN BEGIN
              SELL(1,HOLDER,MARKET);
              EXTGBDATASET('A',0);
              EXTGBDATASET('B',1);
              END
             
       //
      END
     
      IF T2 THEN BEGIN
      SELL(1,HOLDER,MARKET);
      EXTGBDATASET('A',0);
      EXTGBDATASET('B',0);
      END
    END


     
    IF HOLDING<0 THEN BEGIN
       IF T1 THEN BEGIN

              IF  ( DYNAINFO(  7)-AVGENTERPRICE()>10*MINDIFF) THEN BEGIN
              SELLSHORT(1,HOLDER,MARKET);
              EXTGBDATASET('A',0);
              EXTGBDATASET('B',1);
              END
             
       END
      
       IF T2 THEN BEGIN
       SELLSHORT(1,HOLDER,MARKET);
       EXTGBDATASET('A',0);
       EXTGBDATASET('B',0);
       END
    END 


    //交易系统

    {

    开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET);
    开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET);
    收盘平多:SELL(T2,手数,MARKET);
    收盘平空:SELLSHORT(T2,手数,MARKET);
    }
    当前持仓:HOLDING,COLORGRAY,LINETHICK0;
    当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值

     

  • 金字塔客服:

    不要重复发帖

    http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=142077

 

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

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


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

相关文章

    没有相关内容