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

[原创]固定轮训模式下优化止损止赢的优化 [金字塔]

  • 咨询内容:

    INPUT:P1(2,0,50,1){初始止损幅度},P2(5,2,100,1){止盈幅度};
    VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000;{用于隔夜高开或低开时间差}                
    WIN1:=0;                                                           
    WIN2:=0;//止盈、止损、回撤控制
     //信号模块:该模块主用于多空头及平仓信号的量化
    {示例如下:开多:当MA10上穿MA20时,发出买入开仓交易指令; 平空:当MA10
    上穿MA5时,发出卖出平仓交易指令;平多:当MA5上穿MA10时,发出买入平仓交
    易指令;开空:当MA10下穿MA20时,发出开空交易指令;}
    MA5: MA(o,5);                                                  
    MA10:MA(o,10);                                                 
    MA20:MA(o,20);                                                 
                                                                       
    开多:=CROSS(MA10,MA20);                                            
    平多:=CROSS(MA5,MA10);                                             
    开空:=CROSS(MA20,MA10);                                            
    平空:=CROSS(MA10,MA5);                                             
    交易时间:=TIME>VMIN AND TIME<151430;
    //图表日内交易模块:

     IF HOLDING=0 THEN BEGIN
         //多头开仓
         IF 交易时间 AND 开多 THEN BEGIN
             BUY(1,1,mkt);
             MAXPROFIT:=0;
         END
         
         //空头开仓
         IF 交易时间 AND 开空 THEN BEGIN
             BUYSHORT(1,1,mkt);
             MAXPROFIT:=0;
         END
     END
     
     IF HOLDING>0 THEN BEGIN
         //多头平仓
         IF 平多 THEN
             SELL(1,HOLDING,LIMITR,CLOSE);
     
         //多头收盘平仓

         IF NOT(交易时间) THEN
             SELL(1,HOLDING,LIMITR,CLOSE);
     
         //盈亏计算
         IF ENTERBARS>0 THEN begin
             WIN1:=(l-ENTERPRICE)/ENTERPRICE*100;
             win2:=(h-ENTERPRICE)/ENTERPRICE*100;
             end

    //这样算出来测试的时候虽然是K线走完了的,但是只要知道最高最低到过那里就可以了
        //多头初始浮亏 P1% 止损
         IF WIN1<-P1 THEN
             SELL(1,HOLDING,LIMITR,(ENTERPRICE(1-p1)));
     //这样写价格可以吗
         //多头利润大于 P2% 止盈
         IF WIN2>P2 THEN
             SELL(1,HOLDING,LIMITR,(ENTERPRICE(1+p1)));
          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-h)/ENTERPRICE*100;
             WIN2:=(ENTERPRICE-l)/ENTERPRICE*100; 
         END
     
         //空头初始浮亏超过 P1% 止损
         IF WIN1<-P1 THEN
             SELLSHORT(1,HOLDING,LIMITR,(ENTERPRICE(1+p1)));
     
         //空头利润大于 P2%止盈
         IF WIN1>P2 THEN
             SELLSHORT(1,HOLDING,LIMITR,(ENTERPRICE(1-p1)));
     
     END

    //在固定轮训模式下的测试优化,请仔细看看我的盈亏计算和止损止赢价格,如果不 对请高手指正

     

  • 金字塔客服:

     

    固定轮询,收盘确认信号,止损止盈要盘中下单?

     

    那你的写法不对哦。

    要把信号移到下一根的开盘价

     

  • 用户回复: 我用的是MA(O,10);是开盘价,

     

  • 网友回复: 这个只是测试用的,在实际用的时候止损止赢价格用市价比较好

     

  • 网友回复: 好复杂哦~

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

相关文章

    没有相关内容