以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 图表交易提前n秒下单的代码是否有漏洞? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=139505) |
-- 作者:uranusmoon -- 发布时间:2016/9/12 14:16:29 -- 图表交易提前n秒下单的代码是否有漏洞? 提前n秒下单,用的是众多坛友用的经典的控制代码: p2:=if(islastbar,dynainfo(207),time); p3:=time0-timetot0(p2),linethick0; 今天有一个奇怪的问题,模拟交易rb连续,1秒轮询,15分周期,11:15:32时候居然有平空开多的交易,但当时图表上并没有信号。查纪录,发现是11:15:25触发下单,这就奇怪了,因为我设置下单都需要满足条件p3<=5,即提前5秒下单,而15分周期窗口在11:25:25时刻应该不可能满足p3<5。想来想去怀疑是否p3的计算可能有漏洞,即提取time0,dynainfo(207)、time等函数的值时万一出现错误,使得p3的计算值为零或者为负数,导致不能正确控制下单时刻,交易信号忽闪??
|
-- 作者:jinzhe -- 发布时间:2016/9/12 14:23:55 -- 胡思乱想这么多还不如用实际的调试来验证你的想法 用debugfile来分别输出:p2;p3;p3>5;time0;time0-timetot0(p2);timetot0(p2) 这几项,看看在下单时,分别为多少
|
-- 作者:uranusmoon -- 发布时间:2016/9/12 14:43:47 -- 主要这问题难得一见,几十天头一次见,我也真搞不懂怎么回事。调试倒是会,没时间分析这么小概率的事件阿。 |
-- 作者:jinzhe -- 发布时间:2016/9/12 14:45:21 -- 那把你代码发过来,我本地测一下 |
-- 作者:uranusmoon -- 发布时间:2016/9/12 14:56:35 -- 大哥,几十天碰到一次的问题,怎么测试。代码就是阿火提的提前n秒下单代码,论坛里很多人在用。 p2:=if(islastbar,dynainfo(207),time); p3:=time0-timetot0(p2),linethick0; 交易代码: SELL(平多条件 AND HOLDING>0 and p3<=5,0,limitr,jgs-hdk); SELLSHORT(平空仓条件 AND HOLDING<0 and p3<=5,0,limitr,jgx+hdd); BUY(开多条件 AND HOLDING=0 and p3<=5,手数,limitr,jgx+hdd); BUYSHORT(开空条件 AND HOLDING=0 and p3<=5,手数,limitr,jgs-hdk);
|
-- 作者:jinzhe -- 发布时间:2016/9/12 15:01:39 -- 那麻烦按照上面的调试要求编写调试代码进策略里面。等再一次碰到问题时,发送调试日志和下单日志到论坛上 |
-- 作者:uranusmoon -- 发布时间:2016/9/12 15:12:34 -- 用debugfile监控的方法也许可行,但是我框架内有6个窗口,每个窗口都用debugfile监控,导致的程序负担太重了。 |
-- 作者:jinzhe -- 发布时间:2016/9/12 15:14:44 -- 就给你那个出问题的品种测 |
-- 作者:uranusmoon -- 发布时间:2016/9/12 15:21:55 -- 我觉得是随机出现的,不一定哪个品种。 |
-- 作者:jinzhe -- 发布时间:2016/9/12 15:30:08 -- 就测你出现问题的那个,测了再说 |