[PEL] 复制代码
INPUT:N1(4,1,100,1),N2(6,1,100,1),N3(9,1,100,1),N4(13,1,100,1),N5(18,1,100,1),N6(24,1,100,1); //定义周期参数
INPUT:SS(1,1,100,1); //定义下单手数
VARIABLE:status=0;
LINE1:=(EMA(C,N1)+EMA(C,N1*2)+EMA(C,N1*4))/3;
LINE2:=(EMA(C,N2)+EMA(C,N2*2)+EMA(C,N2*4))/3;
LINE3:=(EMA(C,N3)+EMA(C,N3*2)+EMA(C,N3*4))/3;
LINE4:=(EMA(C,N4)+EMA(C,N4*2)+EMA(C,N4*4))/3;
LINE5:=(EMA(C,N5)+EMA(C,N5*2)+EMA(C,N5*4))/3;
LINE6:=(EMA(C,N6)+EMA(C,N6*2)+EMA(C,N6*4))/3,COLORRED;
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:=ASSET,NOAXIS,COLORGRAY;
TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR1,20);
突破点最高价:=VALUEWHEN(CROSS(LINE1,LINE5),HHV(C,1));
突破点最低价:=VALUEWHEN(CROSS(LINE5,LINE1),LLV(C,1));
突历周期:=BARSLAST(CROSS(LINE1,LINE5));
破历周期:=BARSLAST(CROSS(LINE5,LINE1));
上轨:突破点最高价+2*ATR;
下轨:突破点最低价-2*ATR;
转多点:=突破点最高价+4*ATR;
转空点:=突破点最低价-4*ATR;
H70:REF(HHV(C,70),1),COLORMAGENTA;
L70:REF(LLV(C,70),1),COLORMAGENTA;
转空条件:CROSS(转空点,C) AND C<转空点 AND 破历周期<突历周期 AND 破历周期<60;
转多条件:CROSS(C,转多点)AND C>转多点 AND 突历周期<破历周期 AND 突历周期<60;
多损条件:=CROSS(下轨,C) AND 破历周期<突历周期;
平多条件:=C>ENTERPRICE+10*ATR;
加多条件:=CROSS(LINE5,LINE1) AND REF(破历周期,1)>13;
空损条件:=CROSS(C,上轨) AND 突历周期<破历周期;
平空条件:=C<ENTERPRICE-10*ATR;
加空条件:=CROSS(LINE1,LINE5) AND REF(突历周期,1)>13;
//交易系统
//转多:
IF 转多条件 and status<=0 THEN BEGIN
SELLSHORT(1,HOLDING,MARKET);
翻多:BUY(1 AND HOLDING=0,ss,MARKET);
status:=1;
END
IF status=1 THEN BEGIN
多损:SELL(多损条件,HOLDING,MARKET);
平多:SELL(平多条件,SS,MARKET);
加多:BUY(加多条件,SS,MARKET);
END
//转空:
IF 转空条件 and status>=0 THEN BEGIN
SELL(1,HOLDING,MARKET);
翻空:BUYSHORT(1 AND HOLDING=0,ss,MARKET);
status:=-1;
END
IF status=-1 THEN BEGIN
空损:SELLSHORT(空损条件,HOLDING,MARKET);
平空:SELLSHORT(平空条件,SS,MARKET);
加空:BUYSHORT(加空条件,SS,MARKET);
END