可以参考这个范例:
[PEL] 复制代码 ma1:=ma(close,5);
ma2:=ma(close,30);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
if cross(ma1,ma2) then
begin
buy(1,1,limit,c);
maxprofit:=0;
end
//平仓
sell(cross(ma2,ma1),0,limit,c);
//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;
if holding > 0 and enterbars > 0 then
begin
win:=c-enterprice; //记录最大盈利
if win>maxprofit then maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调
end
if holding < 0 and enterbars > 0 then
begin
win:=enterprice-c; //记录最大盈利
if win > maxprofit then maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调
end
//从最高盈利回落平仓
止赢:sell(win2 >= 50*mindiff, 0,limit,c);
需要留意的是这里盈利是用收盘价计算的。也可以改用最高(多)最低价(空)。但是在大周期上不适合,因为大周期上不好直接判断 大周期内 最高最低价出现的顺序。 |