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

在搞个系统,图表成功后想再后台交易,请帮忙! [金字塔]

  • 咨询内容:

    INPUT:P(50,2,200,1){建仓量},P1(1,0,50,1){初始止损幅度},P2(5,2,100,1){止盈幅度},P3(30,5,60,5){回撤止盈};
    VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000;{用于隔夜高开或低开时间差}                
    WIN1:=0;                                                           
    WIN2:=0;//止盈、止损、回撤控制
     
    交易时间:=TIME>VMIN AND TIME<151430;

    a:=open+10;
    b:=open-10;

    HNL:=IF(HIGH>REF(HHV(HIGH,3),1),LOW,0);
    L1:=IF(HNL>REF(L,1),REF(L,1),IF(HNL>REF(L,2),REF(L,2),IF(HNL>REF(L,3),REF(L,3),IF(HNL>REF(L,4),REF(L,4),0))));
    L2:=IF(L1>REF(L,1),REF(L,1),IF(L1>REF(L,2),REF(L,2),IF(L1>REF(L,3),REF(L,3),IF(L1>REF(L,4),REF(L,4),0))));
    L3:=VALUEWHEN(L2>0,L2);
    LNH:=IF(LOW<REF(LLV(LOW,3),1),HIGH,99999);
    H1:=IF(LNH<REF(H,1),REF(H,1),IF(LNH<REF(H,2),REF(H,2),IF(LNH<REF(H,3),REF(H,3),IF(LNH<REF(H,4),REF(H,4),99999))));
    H2:=IF(H1<REF(H,1),REF(H,1),IF(H1<REF(H,2),REF(H,2),IF(H1<REF(H,3),REF(H,3),IF(H1<REF(H,4),REF(H,4),0))));
    H3:=VALUEWHEN(H2>0,H2);
    SEL:=VALUEWHEN((CLOSE>H3 and REF(CLOSE,1)<=H3)or(CLOSE<L3 and REF(CLOSE,1)>=L3),IF(CLOSE>H3 and REF(CLOSE,1)<=H3,1,0));
    LINE:IF(SEL=1,L3,H3),COLORblue,LINETHICK2;
    DRAWNUMBER(ISLASTBAR,LINE,LINE,0,COLORblue);

    //建立多头的进场条件
    long:=c>a AND C>LINE ;
    if long then
    begin
    sellshort(holding<0,0,MARKET);
    buy(holding=0,p,limitr,a);
    end

    //建立空头的进场条件
    short:=c<b AND C<LINE ;
    if short then
    begin
    sell(holding>0,0,MARKET);
    buyshort(holding=0,p,limitr,b);

    end

    //盈亏计算
         IF ENTERBARS>0 THEN BEGIN
             WIN1:=(C-ENTERPRICE)/ENTERPRICE*100;
             IF WIN1>MAXPROFIT THEN
                 MAXPROFIT:=WIN1;
             WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
         END
     
         //多头初始浮亏 P1% 止损
         IF WIN1<-P1 THEN
             SELL(1,HOLDING,LIMITR,CLOSE);
     
         //多头利润大于 P2% 止盈
         IF WIN1>P2 THEN
             SELL(1,HOLDING,LIMITR,CLOSE);
         
         //多头获利后回撤 P3%止盈
         IF WIN2>P3 AND OPENPROFIT>0 THEN
             SELL(1,HOLDING,LIMITR,CLOSE);
     //END
     
    // IF HOLDING<0 THEN BEGIN
        
         //空头平仓
    //     IF 平空 THEN
    //         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
     
         //空头收盘平仓
        // IF NOT(交易时间) THEN
          //   SELLSHORT(1,HOLDING,LIMITR,CLOSE);
         
         //盈亏计算
         IF ENTERBARS>0 THEN BEGIN
             WIN1:=(ENTERPRICE-C)/ENTERPRICE*100;
             IF WIN1>MAXPROFIT THEN
                 MAXPROFIT:=WIN1;
             WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
         END
     
         //空头初始浮亏超过 P1% 止损
         IF WIN1<-P1 THEN
             SELLSHORT(1,HOLDING,LIMITR,CLOSE);
     
         //空头利润大于 P2%止盈
         IF WIN1>P2 THEN
             SELLSHORT(1,HOLDING,LIMITR,CLOSE);
         
         //空头回撤 P3% 止盈
         IF WIN2>P3 AND OPENPROFIT>0 THEN
             SELLSHORT(1,HOLDING,LIMITR,CLOSE);
    // END

     

     

     

  • 金字塔客服: 有啥问题???

     

  • 用户回复:

    您这模型是图表程序划交易成功了,还是光看图表成功了?

    我也是个新手啊,别挑我~

     您的交易时间 从末尾时间是股指  开盘时间是商品  VMIN = 090000;  TIME<151430;

    我也复制进软件看了看,胜率高的离谱了 都90%以上,  还有一些问题,可能是我嫩点,没完全读出您的模型意思,希望您再斟酌斟酌!

     

  • 网友回复: 90以上太高啦。肯定有问题

     

  • 网友回复:

    因为楼主没有搞清楚后台自动交易的原理,所以我们采用了依旧取前台信号,后台下单的方法来解决问题。

    希望楼主仔细研究下面的代码,至于后台的工作机理部分,希望楼主日后熟练使用金字塔的交易策略后再来自己尝试编写更复杂的后台策略。

    下面代码红色部分就是我们给你添加的代码。

     

     

    INPUT:P(50,2,200,1){建仓量},P1(1,0,50,1){初始止损幅度},P2(5,2,100,1){止盈幅度},P3(30,5,60,5){回撤止盈};
    VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000;{用于隔夜高开或低开时间差}                
    WIN1:=0;                                                           
    WIN2:=0;//止盈、止损、回撤控制
     
    交易时间:=TIME>VMIN AND TIME<151430;

    a:=open+10;
    b:=open-10;

    HNL:=IF(HIGH>REF(HHV(HIGH,3),1),LOW,0);
    L1:=IF(HNL>REF(L,1),REF(L,1),IF(HNL>REF(L,2),REF(L,2),IF(HNL>REF(L,3),REF(L,3),IF(HNL>REF(L,4),REF(L,4),0))));
    L2:=IF(L1>REF(L,1),REF(L,1),IF(L1>REF(L,2),REF(L,2),IF(L1>REF(L,3),REF(L,3),IF(L1>REF(L,4),REF(L,4),0))));
    L3:=VALUEWHEN(L2>0,L2);
    LNH:=IF(LOW<REF(LLV(LOW,3),1),HIGH,99999);
    H1:=IF(LNH<REF(H,1),REF(H,1),IF(LNH<REF(H,2),REF(H,2),IF(LNH<REF(H,3),REF(H,3),IF(LNH<REF(H,4),REF(H,4),99999))));
    H2:=IF(H1<REF(H,1),REF(H,1),IF(H1<REF(H,2),REF(H,2),IF(H1<REF(H,3),REF(H,3),IF(H1<REF(H,4),REF(H,4),0))));
    H3:=VALUEWHEN(H2>0,H2);
    SEL:=VALUEWHEN((CLOSE>H3 and REF(CLOSE,1)<=H3)or(CLOSE<L3 and REF(CLOSE,1)>=L3),IF(CLOSE>H3 and REF(CLOSE,1)<=H3,1,0));
    LINE:IF(SEL=1,L3,H3),COLORblue,LINETHICK2;
    DRAWNUMBER(ISLASTBAR,LINE,LINE,0,COLORblue);

    //建立多头的进场条件
    long:=c>a AND C>LINE ;
    if long then
    begin

    tsellshort(holding<0,0,mkt);
    sellshort(holding<0,0,MARKET);

    tbuy(holding=0,lmt,a);
    buy(holding=0,p,limitr,a);

    end

    //建立空头的进场条件
    short:=c<b AND C<LINE ;
    if short then
    begin

    tsell(holding>0,0,mkt);
    sell(holding>0,0,MARKET);

    tbuyshort(holding=0,p,lmt,b);
    buyshort(holding=0,p,limitr,b);

    end

    //盈亏计算
         IF ENTERBARS>0 THEN BEGIN
             WIN1:=(C-ENTERPRICE)/ENTERPRICE*100;
             IF WIN1>MAXPROFIT THEN
                 MAXPROFIT:=WIN1;
             WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
         END
     
         //多头初始浮亏 P1% 止损
         IF WIN1<-P1 THEN 

         begin

              TSELL(1,HOLDING,MKT); 
             SELL(1,HOLDING,LIMITR,CLOSE); 

          end
     
         //多头利润大于 P2% 止盈
         IF WIN1>P2 THEN 

         begin

             TSELL(1,HOLDING,MKT); 
             SELL(1,HOLDING,LIMITR,CLOSE); 
         end

         //多头获利后回撤 P3%止盈
         IF WIN2>P3 AND OPENPROFIT>0 THEN 

        begin

             TSELL(1,HOLDING,MKT); 
             SELL(1,HOLDING,LIMITR,CLOSE); 

        end

     //END
     
    // IF HOLDING<0 THEN BEGIN
        
         //空头平仓
    //     IF 平空 THEN
    //         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
     
         //空头收盘平仓
        // IF NOT(交易时间) THEN
          //   SELLSHORT(1,HOLDING,LIMITR,CLOSE);
         
         //盈亏计算
         IF ENTERBARS>0 THEN BEGIN
             WIN1:=(ENTERPRICE-C)/ENTERPRICE*100;
             IF WIN1>MAXPROFIT THEN
                 MAXPROFIT:=WIN1;
             WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
         END
     
         //空头初始浮亏超过 P1% 止损
         IF WIN1<-P1 THEN 

         BEGIN

             TSELLSHORT(1,HOLDING,MKT); 
             SELLSHORT(1,HOLDING,LIMITR,CLOSE); 

         END
     
         //空头利润大于 P2%止盈
         IF WIN1>P2 THEN 

         BEGIN

             TSELLSHORT(1,HOLDING,MKT); 
             SELLSHORT(1,HOLDING,LIMITR,CLOSE); 

         END
          
         //空头回撤 P3% 止盈
         IF WIN2>P3 AND OPENPROFIT>0 THEN 

         BEGIN

             TSELLSHORT(1,HOLDING,MKT); 
             SELLSHORT(1,HOLDING,LIMITR,CLOSE);

         END
    // END

 

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

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


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

相关文章

    没有相关内容