代码1
if holding>0 and r13>=5 and r13<=7.5 and r12-l>=2 then
begin
sell(1,0,limitr,r12-2);
end
if holding<0 and r14>=5 and r14<=7.5 and h-r11>=2 then
begin
sellshort(1,0,limitr,R11+2);
end
代码2
if holding>0 and r13>=5 and r13<=7.5 then
begin
sell(r12-l>=2,0,limitr,r12-2);
end
if holding<0 and r14>=5 and r14<=7.5 then
begin
sellshort(h-r11>=2,0,limitr,R11+2);
end
代码1 是不是 and r13>=5 and r13<=7.5 and r12-l>=2 这3个条件同时满足了 `不分先后`就执行 平仓 代码2 是吧是 先满足 and r13>=5 and r13<=7.5 这个 后满足r12-l>=2 才执行平仓??
因为这个是移动止盈代码 按照设计应该是 先 满足r13>=5 and r13<=7.5 这个条件 然后后面 r12-l>=2 这个满足才会平仓 代码1 在实盘过程 是可以的 先满足 r12-l>=2 后满足r13>=5 and r13<=7.5 这个条件 也可以
这样的话跟设计就不相符了
我想问的是 代码2的话是否能过按照设计来执行呢 就是满足了
r13>=5 and r13<=7.5 条件之后 在判断r12-l>=2 这个回调点数呢
代码1 那几个条件是需要在同一个K上同时满足才行。而代码2其实也是一样的。只是判断的先后顺序不同而已。结果都是一样的。
[此贴子已经被作者于2019/1/14 15:02:59编辑过]
但是这样的话就跟设计原理有区别了
代码的意思就是盈利5到7.5个点 然后 回调2个点 就执行平仓
现在用代码1的话是 没有满足 5到7.5个点 而是先回调了2个点 之后满足了 5到7.5这个 也会平仓
能不能给个代码就是 先满足前面 然后在进入后面的呢
得看你 r13 ,r12的计算方式了,因为正常你这样已经满足需求了。
zgyl:=(HHV(H,ENTERBARS)-CLOSE);//最高盈利
dqyl:c-ENTERPRICE;//当前盈利
if zgyl>=5*MINDIFF and zgyl<=7.5*MINDIFF and dqyl<zgyl-2*MINDIFF and holding>0 then .....
最高盈利这个肯定是至少是发生在当前或当前之前的位置上,相当于先条件成立了。