[PEL] 复制代码 //总持仓2手 剩下1手的时候,补开仓1手
MA10:MA(CLOSE,10);
MA60:MA(CLOSE,60);
jc:CROSS(MA10,MA60);//平空开多
sc:CROSS(MA60,MA10);//平多开空
ss:=2;//手数2
if ref(jc,0) then
begin
sellshort(holding<0,holding,MARKETR);//平空
开多:buy(holding=0,ss,MARKETR); // 开多
end
if ref(sc,0) then
begin
平多:sell(holding>=0,holding,MARKETR);//平多
开空:buyshort(holding=0,ss,MARKETR);//开空
end
if OPENPROFITPER>=1.011 then //浮动盈利达到% 就平仓
begin
if holding=ss then
begin
多2-1:sell(holding>0,1,MARKETR);//改2手先平1
p1:=EXITPRICE;
p2:=0;
end
if holding=-ss then
begin
空2-1:sellshort(holding<0,1,MARKETR);//改2手先平1
p2:=EXITPRICE;
p1:=0;
end
end
VARIABLE:p1:=0,p2:=0;//记录上次是平多止盈还是平空止盈
pcd1:=p1<>0 and (p1-C)/p1>=0.0091;//在前面止盈平仓价格基础上回落% 再次开多仓入场1手
pcd2:=p2<>0 and (C-p2)/p2>=0.0091;//在前面止盈平仓价格基础上上涨% 再次开空仓入场1手
if pcd1 and holding=1 then 1仓开多:buy(1,1,MARKETR);//改剩下1手的时候,补开多1手
if pcd2 and holding=-1 then 1仓开空:buyshort(1,1,MARKETR);//改剩下1手的时候,补开空1手
持仓:holding
加了下单时候对仓位的判断 |