VARIABLE:YDZY=1; {移动止盈总开关,1为开,0为关}
VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价}
fh:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);//昨高
fl:=CALLSTOCK(STKLABEL,VTLOW,6,-1);//昨低
fc:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);//昨收
fo:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);//昨开
CYC:=barslast(date<>ref(date,1))+1;
OpenD:=valuewhen(cyc=1,open);//今开
level:=OpenD+(fh-fl);
leve2:=OpenD-(fh-fl);
leve3:=ma((fh-fl),3)/6;
leve4:=if((fh-fl)<ma((fh-fl),3)/2,(OpenD-ma((fh-fl),3)/2),(OpenD+ma((fh-fl),3)/2));
T2:=TIME>=145500;
平空:SELLSHORT(T2 AND HOLDING<0,1,MARKET);
开多:BUY(((level+3*mindiff)or(leve2+3*mindiff))and HOLDING=0,1,MARKET);
平多:SELL(T2 AND HOLDING>0,1,MARKET);
开空:BUYSHORT(((level-3*mindiff)or(leve2-3*mindiff)) and HOLDING=0,1,MARKET);
//固定止损部分************************
If c=(Enterprice+leve3) AND HOLDING<0 then begin
空损:SellShort(1,0,marketr);
End
If c=(Enterprice-leve3) AND HOLDING>0 then begin
多损:Sell(1,0,marketr);
End
//移动止盈
IF YDZY=1 THEN BEGIN
//每周期判断是否创新低
IF L<LOWPRICE THEN BEGIN
LOWPRICE:=L;
END
IF ENTERPRICE-LOWPRICE>=9*mindiff THEN BEGIN
IF c=(Enterprice-leve3) THEN BEGIN //回撤
空赢:SELLSHORT(1,0,MARKET);
END
END
END
//移动止盈
IF YDZY=1 THEN BEGIN
//每周期判断是否创新高
IF H>HIGHPRICE THEN BEGIN
HIGHPRICE:=H;
END
IF HIGHPRICE-ENTERPRICE>=9*mindiff THEN BEGIN
IF c=(Enterprice+leve3) THEN BEGIN //回撤
多赢:SELL(1,0,MARKET);
END
END
END
净利润线:NETPROFIT,noaxis,colorffffff,linethick1,LINEDOT;
胜率%:percentwin*100,colorFF,linethick0;