以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  撤单被交易所拒绝是怎么回事  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=53312)

--  作者:Marcus
--  发布时间:2013/6/24 10:52:29
--  撤单被交易所拒绝是怎么回事
我做的是跨期高频,很抱歉已经关闭了后台记录交易日志的功能,所以只能看成交回报单。
9:19:15 BUY IF07 & BUYSHORT IF09,全部成交,10:02:03 SELL IF07 & SELLSHORT IF09,只成交了IF07,IF09由于滑点太大无法成交。所以10:02:06秒先撤单IF09然后立即(的确是立即,VBA代码上没有延时)市价平仓IF09,但被交易所拒绝,三秒后发现没有平仓继续撤单平仓,依旧被交易所拒绝。请高手帮我指点一下是怎么回事。

 21      2013/06/24 10:02:12    IF09 股指1309    市价    买入    平      已撤单报单被拒绝不合法的数量    0.0       1           0           xxxxx
22      2013/06/24 10:02:12    IF09 股指1309    市价    买入    平      报单已提交                      0.0       1           0           xxxxx
23      2013/06/24 10:02:09    IF09 股指1309    市价    买入    平      已撤单报单被拒绝不合法的数量    0.0       1           0           xxxxx
24      2013/06/24 10:02:09    IF09 股指1309    市价    买入    平      报单已提交                      0.0       1           0           xxxxx
25      2013/06/24 10:02:06    IF09 股指1309    市价    买入    平      已撤单报单被拒绝不合法的数量    0.0       1           0           xxxxx
26      2013/06/24 10:02:06    IF09 股指1309    市价    买入    平      报单已提交                      0.0       1           0           xxxxx
27      2013/06/24 10:02:06    IF09 股指1309    限价    买入    平      已撤单                          2231.4    1           0           xxxxx
28      2013/06/24 10:02:03    IF09 股指1309    限价    买入    平      报单已提交                      2231.4    1           0           xxxxx
29      2013/06/24 10:02:03    IF07 股指1307    限价    卖出    平      全部成交报单已提交              2224.8    1           1           xxxxx
30      2013/06/24 10:02:03    IF07 股指1307    限价    卖出    平      报单已提交                      2224.8    1           0           xxxxx
31      2013/06/24 09:19:15    IF09 股指1309    限价    卖出    开      全部成交报单已提交              2290.6    1           1           xxxxx
32      2013/06/24 09:19:15    IF09 股指1309    限价    卖出    开      报单已提交                      2290.6    1           0           xxxxx
33      2013/06/24 09:19:15    IF07 股指1307    限价    买入    开      全部成交报单已提交              2286.2    1           1           xxxxx
34      2013/06/24 09:19:15    IF07 股指1307    限价    买入    开      报单已提交                      2286.2    1           0           xxxxx
--  作者:Marcus
--  发布时间:2013/6/24 10:58:39
--  
 补充一下,这个代码有时候是好的,今天却连续出现两次失误。人工可以快捷平仓但后台程序却不成功。
--  作者:jinzhe
--  发布时间:2013/6/24 11:00:55
--  
有日志吗?需要结合日志分析问题
--  作者:王锋
--  发布时间:2013/6/24 11:53:15
--  冷思韩:9月9现货白银行情走势解析+日内点位操作建议

可能是

1,报单已经撤销掉,你重复撤单

2,报单在交易所已经撮合成交,你又去撤单

 

通常就是这2点因素造成


--  作者:Marcus
--  发布时间:2013/6/24 12:22:19
--  
以下是引用王锋在2013/6/24 11:53:15的发言:

可能是

1,报单已经撤销掉,你重复撤单

2,报单在交易所已经撮合成交,你又去撤单

 

通常就是这2点因素造成

这2种可能性我明白,现在的核心问题是有什么办法可以避免重复撤单。最郁闷的事情不是撤单不成功,而是后继的下单动作也被拒绝的。这导致我长期处于单腿成交状态。撤单后需要延时再下单?
[此贴子已经被作者于2013/6/24 12:24:07编辑过]

--  作者:王锋
--  发布时间:2013/6/24 13:11:09
--  冷思韩:9月9日EIA再次完美获利,日内现货沥青操作思路
这种情况你应该加上变量记录撤单的时间,待收到撤单回报后,清空变量记录,这样就可以防止重复撤单
--  作者:Marcus
--  发布时间:2013/6/24 13:35:14
--  
2013-06-24 10:02:03.353    -1748823822 Submitted 0 1 2224.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.353    -1748823822 Filled 1 0 2224.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.385    -1748823822 Tradeing 1 0 2225.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.385    -1748823821 Submitted 0 1 2231.4 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:06.208    -1748823821 Cancelled 0 1 2231.4 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:06.208    -1748823820 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:06.239    -1748823820 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:09.188    -1748823819 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:09.188    -1748823819 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:12.370    -1748823818 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:12.386    -1748823818 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:14.554    -1748823817 Submitted 0 1 2236.6 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:14.585    -1748823817 Filled 1 0 2236.6 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:14.585    -1748823817 Tradeing 1 0 2236.6 IF09 ZJ 0 0 2 xxxxx 1
 

这个是OrderStatusEx2的对应记录,10:02:14的操作是人工快捷平仓,在此之前所有市价平仓操作都被拒绝。

--  作者:Marcus
--  发布时间:2013/6/24 13:41:24
--  
以下是引用Marcus在2013/6/24 13:35:14的发言:
2013-06-24 10:02:03.353    -1748823822 Submitted 0 1 2224.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.353    -1748823822 Filled 1 0 2224.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.385    -1748823822 Tradeing 1 0 2225.8 IF07 ZJ 0 1 2 xxxxx 1
2013-06-24 10:02:03.385    -1748823821 Submitted 0 1 2231.4 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:06.208    -1748823821 Cancelled 0 1 2231.4 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:06.208    -1748823820 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:06.239    -1748823820 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:09.188    -1748823819 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:09.188    -1748823819 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:12.370    -1748823818 Submitted 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:12.386    -1748823818 Cancelled 0 1 0 IF09 ZJ 1 0 2 xxxxx 1
2013-06-24 10:02:14.554    -1748823817 Submitted 0 1 2236.6 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:14.585    -1748823817 Filled 1 0 2236.6 IF09 ZJ 0 0 2 xxxxx 1
2013-06-24 10:02:14.585    -1748823817 Tradeing 1 0 2236.6 IF09 ZJ 0 0 2 xxxxx 1
 

这个是OrderStatusEx2的对应记录,10:02:14的操作是人工快捷平仓,在此之前所有市价平仓操作都被拒绝。

继续,第一次砍单腿之前的撤销操作应该是对的,但紧接着的IF09市价平仓操作却被拒绝。时间上看应该不是我程序撤销的,而是被交易所强行撤销。
--  作者:王锋
--  发布时间:2013/6/24 13:43:22
--  冷思韩:9月9OPEC会议三种情况下分析对原油沥青造成的影响
那您就仔细看看交易明细,如果是正常的报单被交易所强行撤销,就要咨询期货公司强行撤销的原因了
--  作者:Marcus
--  发布时间:2013/6/24 15:24:13
--  [求助]行情问题
 又一次出现同样的故障,这次又下单记录,请帮忙查看。

2013-06-24 15:07:47.567    【下单】IF07 价2141.799805 量1 买卖1 类型0 开平2 账户xxxxx Formula 1
2013-06-24 15:07:47.567    【下单】确认报单已发送 ID=-1748823787 RefID = 721
2013-06-24 15:07:47.568    【下单】IF09 价2149.000000 量1 买卖0 类型0 开平2 账户xxxxx Formula 1
2013-06-24 15:07:47.568    【下单】确认报单已发送 ID=-1748823786 RefID = 722
2013-06-24 15:07:47.598    【指令】收到回报指令 ID = -1748823787 RefID = 721
2013-06-24 15:07:47.643    【指令】收到回报指令 ID = -1748823787 RefID = 721
2013-06-24 15:07:47.644    【指令】收到回报指令 ID = -1748823787 RefID = 721
2013-06-24 15:07:47.698    【指令】收到成交回报指令 REFID = 721
2013-06-24 15:07:47.707    【指令】收到回报指令 ID = -1748823786 RefID = 722
2013-06-24 15:07:47.715    【指令】收到回报指令 ID = -1748823786 RefID = 722
2013-06-24 15:07:47.716    【回报】11807060 : IF1307 - 已报单 1 价格:2141.8 平 卖
2013-06-24 15:07:47.721    【回报】11807060 : IF1307 - 已成交 1 价格:2142.4 平 卖
2013-06-24 15:07:47.722    【回报】11807060 : IF1309 - 已报单 1 价格:2149.0 平 买
2013-06-24 15:07:50.029    【下单】IF09 价2151.000000 量1 买卖0 类型1 开平2 账户xxxxx Formula 1
2013-06-24 15:07:50.029    【下单】确认报单已发送 ID=-1748823785 RefID = 723
2013-06-24 15:07:50.057    【指令】收到回报指令 ID = -1748823786 RefID = 722
2013-06-24 15:07:50.061    【指令】收到回报指令 ID = -1748823786 RefID = 722
2013-06-24 15:07:50.100    【指令】收到回报指令 ID = -1748823785 RefID = 723
2013-06-24 15:07:50.107    【指令】收到回报指令 ID = -1748823785 RefID = 723
2013-06-24 15:07:50.162    【回报】11807060 : IF1309 - 已撤单 量:1
2013-06-24 15:07:50.163    【回报】11807060 : IF1309 - 已报单 1 价格:0.0 平 买
2013-06-24 15:07:50.163    【回报】11807060 : IF1309 - 已撤单报单被拒绝不合法的数量 量:1

按我个人理解,在收到ID = -1748823786 RefID = 722也就是IF09的撤单成功前IF09的第二次撤单指令被发送,被交易所拒绝不合法数量1,有可能此时交易所那边撤单指令还没有完全执行完毕,所以数据库里面的可撤单数量应该为0。有可能延时一下会好一些。
下单次序应该没问题,VBA代码是先撤单再下单,可能两个指令同时发送,交易所处理不及导致拒绝。