[PEL] 复制代码
VARIABLE:BUYPRICE=0;
EMA13:=EMA(C,10),COLORWHITE;
EMA21:=EMA(C,21),COLORYELLOW;
EMA34:=EMA(C,34),COLORFF00FF;
EMA60:=MA(C,55),COLORFFCC66;
X1:=(C+L+H)/3;
X2:=EMA(X1,5);
X3:=EMA(X2,4);
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;
AA:(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORRED;
DK:=IF(X2>X3 AND C>EMA13 AND CROSS(C,AA),1,0);
KK:=IF(X2<X3 AND C<EMA13 AND CROSS(AA,C),1,0);
//开多单
IF DK and holding=0 THEN BEGIN
多开:BUY(1,1,MARKETR);
BUYPRICE:=LOW; //开仓单根k对应的最低价
END
//调试代码,放在止盈止损前面
KCLOW:BUYPRICE;//开仓当根k上的最低价
FY:OPENPROFIT;//浮动盈亏
JJ:AVGENTERPRICE;
bar:TYPEBAR(1,1)+1;
//1:初始止损
//持仓情况:1手持仓
//解发平仓:当开仓后,初始止损为开仓位K线最低价,触发则立即止损;(即跌破开仓位置的最低价止损)
IF HOLDING=1 AND TYPEBAR(1,1)>0 AND BUYPRICE>LOW THEN BEGIN
初始止损:SELL(1,1,MARKETR);
END
//2:强制平仓:
//持仓情况:1手持仓
//触发平仓:当前K线收盘价 - 多持仓均价 <= -20点(对应变动单位),强制平仓;
IF HOLDING=1 AND TYPEBAR(1,1)>0 AND OPENPROFIT<=-20*MINDIFF THEN BEGIN
强平:SELL(1,1,MARKETR);
END
//3:保本平仓
//持仓情况:1手持仓(单次开仓)
//触发平仓:当开仓后浮动盈利>8点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
MAX_OPENPROFIT:HHV(OPENPROFIT,bar);//开仓以来最大的浮动盈亏的价格
//***********************************************************************************
//如果保本中提到的点数是不是价格,而是变动价位,直接在对应位置*MINDIFF部分。如:>=8*MINDIFF
//下面条件注释部分(56,66,74行)是最大浮盈大于N后回落到持仓2个变动价位的浮盈时平仓
//非注释条件部分,是最大浮盈大于N后回落到持仓均价时平仓。
//***********************************************************************************
//IF HOLDING=1 AND HHV(OPENPROFIT,bar)>=8*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
IF HOLDING=1 AND HHV(OPENPROFIT,bar)>=8 AND AVGENTERPRICE>=CLOSE THEN BEGIN
保本1:SELL(1,1,MARKETR);
END
//持仓情况:2手持仓(多次开仓)
//触发平仓:当开仓后浮动盈利>6点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
//IF HOLDING=2 AND HHV(OPENPROFIT,bar)>=6*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
IF HOLDING=2 AND HHV(OPENPROFIT,bar)>=6 AND AVGENTERPRICE>=CLOSE THEN BEGIN
保本2:SELL(1,2,MARKETR);
END
//持仓情况:3手持仓(多次开仓)
//触发平仓:当开仓后浮动盈利>4点,后当收盘价 - 多持仓均价 <=2 保本平仓所有仓位;
//IF HOLDING=3 AND HHV(OPENPROFIT,bar)>=4*MINDIFF AND OPENPROFIT<=2*MINDIFF THEN BEGIN
IF HOLDING=3 AND HHV(OPENPROFIT,bar)>=4 AND AVGENTERPRICE>=CLOSE THEN BEGIN
保本3:SELL(1,3,MARKETR);
END