参考如下代码:
[PEL] 复制代码 GLOBALVARIABLE:MAXPROFIT=0; //最大盈利比
MA1:=ZKTJ=0 AND ZDTJ=1;
//开仓多单
//判断当前持仓状态下的最大盈利
IF TBUYHOLDING(1) > 0 AND TENTERBARS > 0 THEN
BEGIN
WIN:=(C-TENTERPRICE)/TENTERPRICE*100,NOAXIS; //记录多头最大盈利
IF WIN>0 AND WIN>MAXPROFIT THEN
MAXPROFIT:=WIN;
WIN2:=(MAXPROFIT-WIN)/MAXPROFIT*100,NOAXIS; //最大盈利后的回调幅度
END
//出现浮动亏损比如超过2%多头止损平仓
IF WIN < -2 THEN BEGIN
D止损:=TSELL(TBUYHOLDING>0,0,LMT,C),NOAXIS;
MAXPROFIT:=0; //平仓后,最大盈利比置0
END
//出现最高盈利后,回落到盈利的60%多头止盈平仓出场
IF WIN2 >= 60 THEN BEGIN
D止赢:=TSELL(TBUYHOLDING(1)>0 AND TOPENPROFIT > 0, 0,LMT,C),NOAXIS;
MAXPROFIT:=0; //平仓后,最大盈利比置0
END
MA2:=ZKTJ=1 AND ZDTJ=0;//做空:(ZKTJ=1 AND ZDTJ=0)
//开仓空单
//判断当前持仓状态下的最大盈利
IF TSELLHOLDING(1) > 0 AND TENTERBARS > 0 THEN
BEGIN
WIN:=(TENTERPRICE-C)/TENTERPRICE*100,NOAXIS; //记录空头最大盈利
IF WIN>0 AND WIN > MAXPROFIT THEN
MAXPROFIT:=WIN;
WIN2:=(MAXPROFIT-WIN)/MAXPROFIT*100,NOAXIS; //最大盈利后的回调幅度
END
//出现浮动亏损比如2%空头止损平仓
IF WIN < -2 THEN BEGIN
K止损:=TSELLSHORT(TSELLHOLDING(1)>0,0,LMT,C);
MAXPROFIT:=0; //平仓后,最大盈利比置0
END
//出现最高盈利后,回落到盈利的60%空头止盈平仓出场
IF WIN2 >= 60 AND TOPENPROFIT > 0 THEN BEGIN
K止赢:=TSELLSHORT(tsellholding(1)>0, 0,LMT,C);
MAXPROFIT:=0; //平仓后,最大盈利比置0
END |