我的想法是:
1、如果开仓后浮动利润达到1.5万就平仓;
2、如果开仓马上到止损点位8点,就立即止损;
3、开仓后只要有3个点的利润,就要保住,当价格朝开仓价格逼近的时候,设置的止盈单可以至少保住0.4点的利润
4、开仓后利润不断扩大,则不断调整止盈位,通过折返点数来调整。
横线下方是代码,请大家指正,谢谢!
-------------------------------------------------------------------
止损点数:=8;
持仓量:=holding;
//浮动利润超过1.5万,止盈退出
if openprofit>15000 then begin
if 持仓量>0 then begin
//平多仓止盈
sell(1=1,holding,NEXTHIGH);
end
if 持仓量<0 then begin
//平空仓止盈
sellshort(1=1,holding,NEXTLOW);
end
end
上次开仓价:=ENTERPRICE;
上次开仓量:=ENTERVOL;
平仓历时:=EXITBARS;
上次平仓价:=EXITPRICE;
上次平仓量:=EXITVOL;
亏损次数:=NUMLOSSTRADE;
开仓历时:=OPENBAR;
今开:=DYNAINFO(4);
最高:=DYNAINFO(5);
最低:=DYNAINFO(6);
最新:=DYNAINFO(7);
买一价:=DYNAINFO(28);
卖一价:=DYNAINFO(34);
//开仓后立即到达止损位,马上止损
多损:SELL(L<=上次开仓价-止损点数 and holding>0,100%,MARKET); {以市价退出亏损头寸}
空损:SELLSHORT(H>=上次开仓价+止损点数 and holding<0,100%,MARKET); {以市价退出亏损头寸}
////////////////////////////////////
开仓以来最低价:=LLV(L,ENTERBARS);
开仓以来最高价:=LLV(H,ENTERBARS);
//只要开仓后有利润,就要保住
if 开仓以来最高价-上次开仓价<=3 then begin
//多单设置止盈位
追多盈:SELL(1=1 and holding>0,holding,Stopr,上次开仓价+0.4); //有0.4点赚的位置放一个止盈单
end
if 上次开仓价-开仓以来最低价<=3 then begin
//空单设置止盈位
追空盈:SELLSHORT(1=1 and holding<0,holding,Stopr,上次开仓价-0.4);
end
//////////////////////////////////
//开仓后利润不断扩大,到达一定数之后折返到一定幅度就止盈
//第一目标10点-15点,折返3点
if between(开仓以来最高价-上次开仓价,10,15) then begin
折返点数:=3;
追多盈1:SELL(1=1 and holding>0,holding,Stopr,开仓以来最高价-折返点数);
end
if between(上次开仓价-开仓以来最低价,10,15) then begin
折返点数:=3;
追空盈1:SELL(1=1 and holding<0,holding,Stopr,开仓以来最低价+折返点数);
end
//第二目标16点-25点,折返5点
if between(开仓以来最高价-上次开仓价,16,25) then begin
折返点数:=5;
追多盈2:SELL(1=1 and holding>0,holding,Stopr,开仓以来最高价-折返点数);
end
if between(上次开仓价-开仓以来最低价,16,25) then begin
折返点数:=5;
追空盈2:SELL(1=1 and holding<0,holding,Stopr,开仓以来最低价+折返点数);
end
//第三目标26点-35点,折返8点
if between(开仓以来最高价-上次开仓价,26,35) then begin
折返点数:=8;
追多盈3:SELL(1=1 and holding>0,holding,Stopr,开仓以来最高价-折返点数);
end
if between(上次开仓价-开仓以来最低价,26,35) then begin
折返点数:=8;
追空盈3:SELL(1=1 and holding<0,holding,Stopr,开仓以来最低价+折返点数);
end
//第四目标36点-150点,折返10点
if between(开仓以来最高价-上次开仓价,36,150) then begin
折返点数:=10;
追多盈4:SELL(1=1 and holding>0,holding,Stopr,开仓以来最高价-折返点数);
end
if between(上次开仓价-开仓以来最低价,36,150) then begin
折返点数:=10;
追空盈4:SELL(1=1 and holding<0,holding,Stopr,开仓以来最低价+折返点数);
end
希望楼主能加入开仓。。。我看不错
不错 支持一下