Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助] vba 开平仓指令 的 bug

1楼
lwp00751206 发表于:2016/10/24 11:54:45

用vba 发送1条开/平仓指令后,在没有任何成交的情况下有时会出现多条未成交纪录

     举个例子: 发送1条开多仓指令,开7手多仓,开仓价低于市场卖出价50个点,在没有任何成交的情况下,察看未成交单,

此时的未成交单数量是2,一个是3手的开多,一个是4手的开多,委托价一致,订单id不同,委托时间相同。

     这种情况不是每次执行委托指令都会出现。但这样会给整个程序带来很多麻烦,在处理和校验成交或未成交的时候都会造成计算量加倍,而且如果没有注意到这个bug会导致整个计算出错

2楼
王锋 发表于:2016/10/24 12:45:05
VBA不会存在这个问题,建议你还是从你自己的代码中着手检查BUG吧
3楼
lwp00751206 发表于:2016/10/24 13:12:44
怎么可能不存在,我这每条指令每个未成交单都有记录,每次都是循环历遍所有未成交单,同时记录,你们还是好好查一下,不要说的那么绝对,等我截图上来时你们就难堪了
4楼
lwp00751206 发表于:2016/10/24 13:15:38
而且当出现多个未成交单时,出现的未成交单的id和开平指令中返回的id会不一致,
5楼
王锋 发表于:2016/10/24 13:15:41

那提供一下交易日志吧,我们看一下日志你的VBA是怎么下单的

6楼
lwp00751206 发表于:2016/10/24 13:29:13

我没有开启记录日志,这样会影响整个程序的速度,你们只要自己搞个简单的多手数下单,然后循环读取未成交进行比对,不管是实盘还是模拟的都可以,测半天的时间一定会看到

 

7楼
lwp00751206 发表于:2016/10/24 13:31:00

我获取未成交用的是orderinfo2,从0开始循环

 

8楼
yukizzc 发表于:2016/10/24 14:33:18

测试结果如下


图片点击可在新窗口打开查看此主题相关图片如下:43o%35a321ib6t{8{raft3.png
图片点击可在新窗口打开查看

9楼
lwp00751206 发表于:2016/10/24 16:05:01

不是只是循环读取未成交,看来是我没表达清楚。

正确的循环体是:

 

循环开始:

   1:确认无未成交单存在

   2:发出一条开平指令

   3:历遍未成交

   4:撤掉开平,或确认成交,最终确认无未成交单存在

循环结束

 

在这个循环过程中有时就会出现只发出了一次开平指令,但在历遍未成交的过程中出现2个未成交单

 

10楼
yukizzc 发表于:2016/10/24 16:11:23

你在buy后面跟上一条 msgout输出调试看呢

到底是发了几条开平指令,还是一条开平指令

另外把日志勾上,看下日志是怎么记录的,循环两次的报单还是循环一次内,两次发单

共16 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.11719 s, 2 queries.