三轨道波动率策略
此交易策略是在ATR策略的基础了,添加一条趋势线判断,使其更加适用于与震荡行情,使策略逻辑更加细化,能应付趋势和震荡。这条额外添加的趋势震荡判断线至少可以让我们的有效开仓次数增加,这样既提高了资金的使用率,也提高的潜在的收益率。

     一、三轨道波动率策略交易思路

         1、多头入场规则:当价格大于上轨和高点;

         2、空头入场规则:当价格低于下轨和低点;

         3、多头出场规则:当价格低于中轨;

         4、空头出场规则:当价格高于中轨;

     二、策略源码

         //适用于图表程序化交易

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

        INPUT:N(20,1,100,1),MINN(20,1,100,1),MAXN(60,1,100,1),STOPRANGE(50,1,100,1);
        INPUT:SS(1,1,100,1);

        VOLAT:=STD(C,N);                                             //N周期内的收盘价的标准差
        VOLATCHANGE:=(VOLAT-REF(VOLAT,1))/VOLAT;  //标准差的变化率
        N1:=INTPART((1+VOLATCHANGE)*MINN);
        N2:=MIN(N1,MAXN); 
        N3:=MAX(N2,MINN);
        MIDTR:MA(C,N3);                                               //定义的中间轨道线
        UPTR:MIDTR+2*STD(C,N3);                                //定义的上轨
        DOWTR:MIDTR-2*STD(C,N3);                              //定义的下轨
        HPRICE:REF(HHV(H,N3),1);                                 //前一周期的N3个周期内的最高价
        LPRICE:REF(LLV(L,N3),1);                                   //前一周期的N3个周期内的最低价

        CONKD:H>=HPRICE AND H>UPTR AND BARPOS>MINN;       //开多条件
        CONKK:L<=LPRICE AND LMINN;     //开空条件
        CONPD:CMIDTR;                                                             //平空条件

        SELLSHORT(CONPK,HOLDING,MARKET);
        SELL(CONPD,HOLDING,MARKET);
        BUY(CONKD AND HOLDING=0,SS,MARKET);
        BUYSHORT(CONKK AND HOLDING=0,SS,MARKET);

        CONDCZY:REF(HHV(H,ENTERBARS),1)>ENTERPRICE*(1+2*0.001*STOPRANGE) AND CLLV(C,ENTERBARS)*(1-STOPRANGE*0.001);           //空仓止损条件

        多仓止盈:SELL(CONDCZY AND HOLDING>0,HOLDING,MARKET);
        空仓止盈:SELLSHORT(CONKCZY AND HOLDING<0,HOLDING,MARKET);