[PEL] 复制代码
INPUT:SS(2,1,200,1);
variable:maxprofit=0;//有仓位时最大获利幅度
平空:SELLSHORT(平空条件 ,0,MARKET);
if 开多条件 and holding=0 then
begin
开多:BUY(开多条件 AND HOLDING=0,SS,MARKET); //开多信号
maxprofit:=0;
end
平多:SELL(平多条件 ,0,MARKET); //平多信号
if 开空条件 and holding=0 then
begin
开空:BUYSHORT(开空条件 AND HOLDING=0,SS,MARKET); //开空信号
maxprofit:=0;
end
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding=SS and enterbars > 0 then
begin
win:=(c-enterprice); //记录最大盈利的价差
if win>maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
if holding=-SS and enterbars > 0 then
begin
win:=(enterprice-c); //记录最大盈利的价差
if win > maxprofit then
maxprofit:=win;
win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end
//最大浮盈超过3000;从最大浮盈回撤20%
多止赢:SELL(win2 >= 20 and maxprofit*MULTIPLIER>=3000 AND HOLDING=SS,1,limit,c);
空止赢:SELLSHORT(win2 >= 20 and maxprofit*MULTIPLIER>=3000 AND HOLDING=-SS,1,limit,c);
|