金字塔未成交委托,并不是在交易柜台委托成功时才形成的,而是电脑下单后,即刻形成未成交委托单
这样很好。
但是,有时候会碰到一些无效的委托单,比如,下单后,由于网络的短暂中断,柜台并没有接收到委托指令
这个时候,就会形成以下无效的委托单。
这种无效委托单出现时的日志情况如下:
2011-09-26 09:48:58.609 【后台】IF10 运行结束
2011-09-26 09:48:59.562 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 09:48:59.562 【后台】IF10 运行结束
2011-09-26 09:48:59.609 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 09:48:59.609 【后台】IF10 运行结束
2011-09-26 09:49:00.562 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 09:49:00.562 【后台】IF10 TBuy 出现信号
2011-09-26 09:49:00.562 【后台】IF10 TBuy 已成功触发下单操作 价格:2680.000000 数量:7 类型:0 账户:208888 品种:IF10
2011-09-26 09:49:00.562 【后台】指定了委托账户或者组: 208888
2011-09-26 09:49:00.562 【后台】IF10 运行结束
2011-09-26 09:49:00.562 【后台】 金仕达 208888 下单类型 1 - 1
2011-09-26 09:49:00.562 【后台】指定账户 208888 下单
2011-09-26 09:49:00.562 【后台】下单已发送
2011-09-26 09:49:00.578 【下单】IF10 价2680.000000 量7 买卖0 类型0 开平0 账户208888 Formula 1
2011-09-26 09:49:00.578 【后台】 金仕达 208888 下单类型 0 - 0
2011-09-26 09:49:00.609 【后台】IF10 运行结束
2011-09-26 09:49:01.562 【后台】IF10 运行结束
2011-09-26 09:49:01.609 【后台】IF10 运行结束
2011-09-26 09:49:02.562 【后台】IF10 运行结束
2011-09-26 09:49:02.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的功能
这可能是哪里的小小问题?虽然无伤大痛,也提出来供大师们改善软件
今天碰到的情况是,单子已经全部成交了,日志上也出现tsubmit(0)>55一直成立的情况:
2011-09-26 13:12:01.054 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:12:01.772 【后台】IF10 TBuyShort 出现信号
2011-09-26 13:12:01.772 【后台】IF10 TBuyShort 已成功触发下单操作 价格:2637.000000 数量:7 类型:0 账户:208165 品种:IF10
2011-09-26 13:12:01.772 【后台】指定了委托账户或者组: 208165
2011-09-26 13:12:01.772 【后台】IF10 运行结束
2011-09-26 13:12:01.772 【后台】 金仕达 208165 下单类型 1 - 1
2011-09-26 13:12:01.772 【后台】指定账户 208165 下单
2011-09-26 13:12:01.772 【后台】下单已发送
2011-09-26 13:12:01.788 【下单】IF10 价2637.000000 量7 买卖1 类型0 开平0 账户208165 Formula 1
2011-09-26 13:12:01.788 【后台】 金仕达 208165 下单类型 0 - 0
2011-09-26 13:12:02.054 【后台】IF10 运行结束
2011-09-26 13:12:02.101 【回报】208165 : IF10 - 正在申报 7 价格:2637.00 开仓 卖出
2011-09-26 13:12:02.647 【后台】IF10 运行结束
2011-09-26 13:12:02.741 【后台】IF10 运行结束
2011-09-26 13:12:03.241 【回报】208165 : IF10 已成交 6 价格:2637.0 开 卖
2011-09-26 13:12:03.616 【回报】208165 : IF10 全部成交 1 价格:2637.0 开 卖
2011-09-26 13:12:04.038 【后台】IF10 运行结束
2011-09-26 13:12:04.147 【后台】IF10 运行结束
……
……
……
2011-09-26 13:12:56.038 【后台】IF10 运行结束
2011-09-26 13:12:56.788 【后台】IF10 运行结束
2011-09-26 13:12:57.038 【后台】IF10 运行结束
2011-09-26 13:12:57.804 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:12:57.804 【后台】IF10 运行结束
2011-09-26 13:12:58.054 【后台】IF10 运行结束
2011-09-26 13:12:58.788 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:12:58.788 【后台】IF10 运行结束
2011-09-26 13:12:59.038 【后台】IF10 运行结束
2011-09-26 13:12:59.819 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:12:59.819 【后台】IF10 运行结束
2011-09-26 13:13:00.038 【后台】IF10 运行结束
2011-09-26 13:13:00.038 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:00.757 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:00.757 【后台】IF10 运行结束
2011-09-26 13:13:00.866 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:00.866 【后台】IF10 运行结束
2011-09-26 13:13:01.804 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:01.804 【后台】IF10 运行结束
2011-09-26 13:13:02.054 【后台】IF10 运行结束
2011-09-26 13:13:02.772 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:02.772 【后台】IF10 运行结束
2011-09-26 13:13:03.038 【后台】IF10 运行结束
2011-09-26 13:13:03.788 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:03.788 【后台】IF10 运行结束
2011-09-26 13:13:04.038 【后台】IF10 运行结束
2011-09-26 13:13:04.772 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:04.772 【后台】IF10 运行结束
2011-09-26 13:13:04.866 【后台】IF10 运行结束
2011-09-26 13:13:05.772 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:05.772 【后台】IF10 运行结束
2011-09-26 13:13:05.866 【后台】IF10 运行结束
2011-09-26 13:13:06.804 【后台】IF10 TCancel 出现信号 类型:0
2011-09-26 13:13:06.804 【后台】IF10 运行结束
2011-09-26 13:13:07.038 【后台】IF10 运行结束
2011-09-26 13:13:07.804 【后台】IF10 TCancel 出现信号 类型:0
后面就是 “【后台】IF10 TCancel 出现信号 类型:0 ” 一直出现
这是我用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-09-26 13:12:02.647 未成交N秒=1 委托单数量=7
2011-09-26 13:12:03.976 未成交N秒=2 委托单数量=0
2011-09-26 13:12:04.788 未成交N秒=3 委托单数量=0
2011-09-26 13:12:05.804 未成交N秒=4 委托单数量=0
2011-09-26 13:12:06.819 未成交N秒=5 委托单数量=0
2011-09-26 13:13:01.804 未成交N秒=60 委托单数量=0
2011-09-26 13:13:02.772 未成交N秒=61 委托单数量=0
2011-09-26 13:13:03.788 未成交N秒=62 委托单数量=0
2011-09-26 13:13:04.772 未成交N秒=63 委托单数量=0
2011-09-26 13:13:05.772 未成交N秒=64 委托单数量=0
2011-09-26 13:13:06.804 未成交N秒=65 委托单数量=0
2011-09-26 13:14:01.804 未成交N秒=120 委托单数量=0
2011-09-26 13:14:02.804 未成交N秒=121 委托单数量=0
2011-09-26 13:14:03.804 未成交N秒=122 委托单数量=0
2011-09-26 13:14:04.804 未成交N秒=123 委托单数量=0
2011-09-26 13:14:05.804 未成交N秒=124 委托单数量=0
2011-09-26 13:14:06.757 未成交N秒=125 委托单数量=0
2011-09-26 13:15:01.772 未成交N秒=180 委托单数量=0
2011-09-26 13:15:02.757 未成交N秒=181 委托单数量=0
2011-09-26 13:15:03.772 未成交N秒=182 委托单数量=0
2011-09-26 13:15:04.741 未成交N秒=183 委托单数量=0
2011-09-26 13:15:05.804 未成交N秒=184 委托单数量=0
2011-09-26 13:15:06.788 未成交N秒=185 委托单数量=0
2011-09-26 13:16:01.804 未成交N秒=240 委托单数量=0
2011-09-26 13:16:02.757 未成交N秒=241 委托单数量=0
2011-09-26 13:16:03.804 未成交N秒=242 委托单数量=0
2011-09-26 13:16:04.772 未成交N秒=243 委托单数量=0
2011-09-26 13:16:05.772 未成交N秒=244 委托单数量=0
2011-09-26 13:16:06.757 未成交N秒=245 委托单数量=0
还有一个地方挺奇怪的,这里的成交量是7手,怎么记录为1手 ?
从日志看,7手在2个时刻成交,分别成交6 ,1 , 这里的成交量好像记录的是最后时刻的成交量。
楼主反馈的问题,正在跟踪,感谢!
再贴个图反映这个问题,tsubmit还是经常要用的,发现有此问题,不敢用了。
这个今天实盘交易,用debugfile输出的tsubmit(0) 和 tremainqty(0,AC,StkLabel)