if (c-ENTERPRICE<0 and holding>0) or (ENTERPRICE-c>0 and holding<0) and A then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
参考以上代码。
不对呀,没动静,没有执行A止损还是执行原来的平仓。
你原先思路里面没有限制其他平仓的。有其他平仓条件在此之前触发了肯定也会平仓的。
原先只有一个平仓策略,现在想加A条件,作错了可以止损少些。
那你现在的平仓条件A和之前平仓条件到底要如何协调呢? 这是你没有表述清楚的地方。因为2个直接没有限制,那就只会谁先触发谁平仓了。
开多后如果达到条件A,则执行A条件止损,如果没有达到A条件则执行原先B条件平仓。
开空后如果达到条件A,则执行A条件止损,如果没有达到A条件则执行原先B条件平仓。
if
((c-ENTERPRICE<0 and holding>0) or (ENTERPRICE-c>0 and holding<0)
) and A then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
原先代码好像少了个括号 你再试下。
哪里不对。只有B平仓没有A平仓这种? 还是其他方面,请详细说明。另外你的a b条件具体如何对我而言都是不清楚的。完全有可能a条件永远不会先与b条件触发。