欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【趋势策略】升级版恒温器策略

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4592人关注过本帖平板打印复制链接

主题:【趋势策略】升级版恒温器策略

帅哥哟,离线,有人找我吗?
gxx978
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
【趋势策略】升级版恒温器策略  发帖心情 Post By:2020/5/15 17:04:00 [只看该作者]

        趋势策略是最常用的程序化交易策略,但在震荡行情中,趋势策略的表现往往不适应。恒温器策略能够对震荡和趋势行情中自动调节交易行为,有效的弥补了趋势策略在震荡行情中的水土不服。本期分享的升级版恒温器策略,在趋势行情中,启用布林带交易系统;正震荡行情中,启用KD交易系统,并加入了止盈止损的交易动作,能够及时的锁定收益,并及时止损。

 

        一、升级版恒温器策略交易思路

           1、CMI大于等于20时,执行趋势模式的开平仓交易

           2、CMI小于20时,执行震荡模式的开平仓交易

           3、设置止盈止损价位。

 

       二、金字塔策略源码

           //该策略适用于图表程序化交易

           //该策略仅供参考学习,请勿直接用于实盘

         

          INPUT:N(50,1,100,1),SS(1,1,100,1),N_TMP(1.2,0.1,10,0.1),N_CMI(30,1,100,1),N_KD(9,1,100,1),M1(3,1,100,1),M2(3,1,100,1),MIND(30,1,100,1),STOPLOSS(3,1,100,1);

          MAC:=MA(CLOSE,N);
          TMP:=STD(CLOSE,N);
          TOP:MAC+N_TMP*TMP;
          BOTTOM:MAC-N_TMP*TMP;

          CMI:ABS(CLOSE-REF(CLOSE,N_CMI-1))/(HHV(HIGH,N_CMI)-LLV(LOW,N_CMI))*100;   //CMI指标,用于判断当前是震荡市,还是趋势市

          RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100;
          K:=SMA(RSV,M1,1);
          D:=SMA(K,M2,1);

 

          震荡平空开多条件:=K>D AND D<MIND AND BARPOS>N;
          震荡平多开空条件:=K<D AND D>100-MIND AND BARPOS>N;

          趋势开多条件:=C>TOP AND BARPOS>N;
          趋势平多条件:=C<MAC AND BARPOS>N;
          趋势开空条件:=C<BOTTOM AND BARPOS>N;
          趋势平空条件:=C>MAC AND BARPOS>N;

 

          IF CMI<20 THEN BEGIN
             IF 震荡平空开多条件 THEN BEGIN
             SELLSHORT(HOLDING<0,HOLDING,MARKET);
             BUY(HOLDING=0,SS,MARKET);
             END
             IF 震荡平多开空条件 THEN BEGIN
             SELL(HOLDING>0,HOLDING,MARKET);
             BUYSHORT(HOLDING=0,SS,MARKET);
             END
            END

 

          IF CMI>=20 THEN BEGIN
             SELL(趋势平多条件 AND HOLDING>0,HOLDING,MARKET);
             SELLSHORT(趋势平空条件 AND HOLDING<0,HOLDING,MARKET);
             BUY(趋势开多条件 AND HOLDING=0,SS,MARKET);
             BUYSHORT(趋势开空条件 AND HOLDING=0,SS,MARKET);
            END   

    

          震荡多单止盈:=REF(CMI,ENTERBARS+1)<20 AND C>ENTERPRICE*(1+0.01*STOPLOSS*3) AND K<D;
          震荡空单止盈:=REF(CMI,ENTERBARS+1)<20 AND C<ENTERPRICE*(1-0.01*STOPLOSS*3) AND K>D;
          震荡多单止损:=REF(CMI,ENTERBARS+1)<20 AND C>ENTERPRICE*(1-0.01*STOPLOSS*3) AND K<D;
          震荡空单止损:=REF(CMI,ENTERBARS+1)<20 AND C>ENTERPRICE*(1+0.01*STOPLOSS*3) AND K>D;

          趋势多单止盈:=REF(CMI,ENTERBARS+1)>=20 AND C>ENTERPRICE*(1+0.01*STOPLOSS*3) AND C<MAC;
          趋势空单止盈:=REF(CMI,ENTERBARS+1)>=20 AND C>ENTERPRICE*(1-0.01*STOPLOSS*3) AND C>MAC;
          趋势多单止损:=REF(CMI,ENTERBARS+1)>=20 AND C>ENTERPRICE*(1-0.01*STOPLOSS*3) AND C<MAC;
          趋势空单止损:=REF(CMI,ENTERBARS+1)>=20 AND C>ENTERPRICE*(1+0.01*STOPLOSS*3) AND C>MAC;

 

          S1:SELL(震荡多单止盈 AND HOLDING>0,HOLDING,MARKET);
          S2:SELLSHORT(震荡空单止盈 AND HOLDING<0,HOLDING,MARKET);
          S3:SELL(震荡多单止损 AND HOLDING>0,HOLDING,MARKET);
          S4:SELLSHORT(震荡空单止损 AND HOLDING<0,HOLDING,MARKET);
          S5:SELL(趋势多单止盈 AND HOLDING>0,HOLDING,MARKET);
          S6:SELLSHORT(趋势空单止盈 AND HOLDING<0,HOLDING,MARKET);
          S7:SELL(趋势多单止损 AND HOLDING>0,HOLDING,MARKET);
          S8:SELLSHORT(趋势空单止损 AND HOLDING<0,HOLDING,MARKET);


 回到顶部