[PEL] 复制代码
//适用于图表程序化交易
//此策略仅供参考学习,请勿直接用于实盘
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 L<DOWTR AND BARPOS>MINN; //开空条件
CONPD:C<MIDTR; //平多条件
CONPK:C>MIDTR; //平空条件
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 C<HHV(C,ENTERBARS)*(1-STOPRANGE*0.001); //多仓止盈条件
CONKCZY:REF(LLV(L,ENTERBARS),1)<ENTERPRICE*(1-2*0.001*STOPRANGE) AND C>LLV(C,ENTERBARS)*(1-STOPRANGE*0.001); //空仓止损条件
多仓止盈:SELL(CONDCZY AND HOLDING>0,HOLDING,MARKET);
空仓止盈:SELLSHORT(CONKCZY AND HOLDING<0,HOLDING,MARKET);