以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 帮忙看看两段代码的区别在那? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167692) |
-- 作者:baidus12 -- 发布时间:2019/1/14 14:50:38 -- 帮忙看看两段代码的区别在那? 代码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 |
-- 作者:FireScript -- 发布时间:2019/1/14 14:52:14 -- 逻辑上可以说是一样的。怎么?实际效果有差异吗? |
-- 作者:baidus12 -- 发布时间:2019/1/14 14:55:51 -- 代码1 是不是 and r13>=5 and r13<=7.5 and r12-l>=2 这3个条件同时满足了 `不分先后`就执行 平仓 代码2 是吧是 先满足 and r13>=5 and r13<=7.5 这个 后满足r12-l>=2 才执行平仓??
|
-- 作者:baidus12 -- 发布时间:2019/1/14 14:59:38 -- 因为这个是移动止盈代码 按照设计应该是 先 满足r13>=5 and r13<=7.5 这个条件 然后后面 r12-l>=2 这个满足才会平仓 代码1 在实盘过程 是可以的 先满足 r12-l>=2 后满足r13>=5 and r13<=7.5 这个条件 也可以 这样的话跟设计就不相符了
|
-- 作者:baidus12 -- 发布时间:2019/1/14 15:01:49 -- 我想问的是 代码2的话是否能过按照设计来执行呢 就是满足了 r13>=5 and r13<=7.5 条件之后 在判断r12-l>=2 这个回调点数呢 |
-- 作者:FireScript -- 发布时间:2019/1/14 15:02:51 -- 代码1 那几个条件是需要在同一个K上同时满足才行。而代码2其实也是一样的。只是判断的先后顺序不同而已。结果都是一样的。
[此贴子已经被作者于2019/1/14 15:02:59编辑过]
|
-- 作者:baidus12 -- 发布时间:2019/1/14 15:10:33 -- 但是这样的话就跟设计原理有区别了 代码的意思就是盈利5到7.5个点 然后 回调2个点 就执行平仓 现在用代码1的话是 没有满足 5到7.5个点 而是先回调了2个点 之后满足了 5到7.5这个 也会平仓 能不能给个代码就是 先满足前面 然后在进入后面的呢
|
-- 作者:FireScript -- 发布时间:2019/1/14 15:38:21 -- 得看你 r13 ,r12的计算方式了,因为正常你这样已经满足需求了。 dqyl:c-ENTERPRICE;//当前盈利 if zgyl>=5*MINDIFF and zgyl<=7.5*MINDIFF and dqyl<zgyl-2*MINDIFF and holding>0 then ..... 最高盈利这个肯定是至少是发生在当前或当前之前的位置上,相当于先条件成立了。 |