“冲突的上面一撤单这段代码就会马上执行导致止损失败:”
如果你不限制好撤单的条件,那肯定会冲突的。等于说是撤单条件 和你其他平仓条件 有交集情况下,那撤单肯定会在你平仓信号发出后 立刻就执行了的。
如果你是提前挂止盈单,需要等触发止损时候 撤单止损。那最好完善下撤单条件。比如在撤单的条件里判断下当前的盈亏情况等 或者把判断下当前不满足止盈的平仓条件 比如当前atr>6 才允许撤单
[PEL] 复制代码 globalvariable:mark:=0;
//多头至少亏损五个点
if 平多条件 and c<tavgenterpriceex2('','',0)-5*MINDIFF and tbuyholdingex('','',2)>0 and tremainqty(2,'',stklabel)>0 and mark=0 then
begin
tcancelex(1,2,'',stklabel);//先撤单
mark:=1;
end
//确保完全撤单后再执行平仓
if mark and tbuyholdingex('','',1)>0 and tremainqty(2,'',stklabel)=0 then
begin
tsell(1,1,mkt);
mark:=0;
end |