欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助] vba 开平仓指令 的 bug

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4175人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
lwp00751206
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
[求助] vba 开平仓指令 的 bug  发帖心情 Post By:2016/10/24 11:54:45 [只看该作者]

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

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/10/24 12:45:05 [只看该作者]

VBA不会存在这个问题,建议你还是从你自己的代码中着手检查BUG吧


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/10/24 13:12:44 [只看该作者]

怎么可能不存在,我这每条指令每个未成交单都有记录,每次都是循环历遍所有未成交单,同时记录,你们还是好好查一下,不要说的那么绝对,等我截图上来时你们就难堪了

 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/10/24 13:15:38 [只看该作者]

而且当出现多个未成交单时,出现的未成交单的id和开平指令中返回的id会不一致,

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/10/24 13:15:41 [只看该作者]

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



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/10/24 13:29:13 [只看该作者]

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/10/24 13:31:00 [只看该作者]

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/10/24 14:33:18 [只看该作者]

测试结果如下


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


 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/10/24 16:05:01 [只看该作者]

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

正确的循环体是:

 

循环开始:

   1:确认无未成交单存在

   2:发出一条开平指令

   3:历遍未成交

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

循环结束

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/10/24 16:11:23 [只看该作者]

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

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

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


 回到顶部
总数 16 1 2 下一页