以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- tcancel指令后,一些无效的委托单无法撤单 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=8209) |
-- 作者:阿火 -- 发布时间:2011/9/26 10:50:51 -- tcancel指令后,一些无效的委托单无法撤单 金字塔未成交委托,并不是在交易柜台委托成功时才形成的,而是电脑下单后,即刻形成未成交委托单 这样很好。 但是,有时候会碰到一些无效的委托单,比如,下单后,由于网络的短暂中断,柜台并没有接收到委托指令 这个时候,就会形成以下无效的委托单。
这种无效委托单出现时的日志情况如下: 2011-09-26 09:48:58.609 【后台】IF10 运行结束 ……
下单后(以上红色部分),没有其他的回报了。
这些也是正常的。无人值守自动化交易本来就要考虑到这种情况。所以,我在每根K线临近走完时,都会撤单(以上蓝色部分) 撤单所用代码如下:if tsubmit(0)>55 or mod(dynainfo(207),100)>57 then tcancel(1,0);
但是tcancel并不能把这种无效的委托单撤除,所以,55秒后,tsubmit(0)>55 这个条件一直成立,导致tcancel(1,0)一直在触发 从日志中观察,tcancel只是触发,并不执行,因为并没有检查到有未成交委托单吧 按理说,tcancel指令后,指定方向的所有委托单(不管有效,还是无效)都应该撤除才是,这才是tcancel的功能 这可能是哪里的小小问题?虽然无伤大痛,也提出来供大师们改善软件 [此贴子已经被作者于2011-9-26 11:09:52编辑过]
|
-- 作者:阿火 -- 发布时间:2011/9/26 13:26:36 -- 今天碰到的情况是,单子已经全部成交了,日志上也出现tsubmit(0)>55一直成立的情况: 2011-09-26 13:12:01.054 【后台】IF10 TCancel 出现信号 类型:0 …… …… 2011-09-26 13:12:56.038 【后台】IF10 运行结束
|
-- 作者:阿火 -- 发布时间:2011/9/26 13:35:12 -- 这是我用debugfile输出的记录,输出了2个变量tsubmit(0)以及tremainqty(0,AC,stklabel)这2个变量 从以下也可以看出,并不存在任何的委托单数量,tsubmit(0)>55也一直成立。(按理说,tsubmit(0)应该为0) 2011-09-26 13:12:01.772 未成交N秒=0 委托单数量=0
[此贴子已经被作者于2011-9-26 13:36:05编辑过]
|
-- 作者:阿火 -- 发布时间:2011/9/26 13:41:22 -- 还有一个地方挺奇怪的,这里的成交量是7手,怎么记录为1手 ? 从日志看,7手在2个时刻成交,分别成交6 ,1 , 这里的成交量好像记录的是最后时刻的成交量。 [此贴子已经被作者于2011-9-26 13:44:45编辑过]
|
-- 作者:fly -- 发布时间:2011/9/27 9:35:38 -- 楼主反馈的问题,正在跟踪,感谢! |
-- 作者:阿火 -- 发布时间:2011/9/27 15:08:12 -- 再贴个图反映这个问题,tsubmit还是经常要用的,发现有此问题,不敢用了。 这个今天实盘交易,用debugfile输出的tsubmit(0) 和 tremainqty(0,AC,StkLabel)
|