[PEL] 复制代码 MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA1,MA2) AND HOLDING=0 THEN
BEGIN
BUY(1,1,limit,c);
maxprofit:=0;
END
if cross(ma2,ma1) AND HOLDING=0 then
begin
BUYSHORT(1,1,limit,c);
maxprofit:=0;
end
//平仓
SELL(CROSS(MA2,MA1),0,limit,c);
SELLSHORT(CROSS(MA2,MA1),0,LIMIT,C);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(c-enterprice)/enterprice*100; //记录最大盈利
if win>maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if holding < 0 and enterbars > 0 then
begin
win:=(enterprice-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//出现浮动亏损比如2%平仓
止损:SELL(win < -2,0,limit,c);
止损2:SELLshort(win < -2,0,limit,c);
//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0,limit,c);
止赢2:SELLSHORT(win2 >= 60 and openprofit > 0, 0,limit,c); |