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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → Order.CancelOrder问题

   

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


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

主题:Order.CancelOrder问题

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


加好友 发短信
等级:新手上路 帖子:26 积分:0 威望:0 精华:0 注册:2017/2/16 20:52:30
Order.CancelOrder问题  发帖心情 Post By:2017/4/11 14:15:05 [只看该作者]

我在VBA程序里发现对于未成交的限价单不能通过这个方法撤消,而未成交的停损单可以,不知道为什么会这样?是有什么特别的讲究么?

代码如下:
'假如程序运行时rb00的市价为3000
order1 = Order.Buy(0,5,2900,0,"rb00","sq","",0)
order2 = Order.Buy(2,5,3100,0,"rb00","sq","",0)

Order.CancelOrder order1,""
Order.CancelOrder order2,""

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


加好友 发短信
等级:新手上路 帖子:26 积分:0 威望:0 精华:0 注册:2017/2/16 20:52:30
  发帖心情 Post By:2017/4/11 14:18:44 [只看该作者]


另外,我发现以上代码调用中,停损单返回的单号一般是个3位数字(例如543),而限价单是一个比较大的数字(例如:446657792),和这个有关系么?

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


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

直接委托后,单子还没等报到交易所下一句你就马上撤单,这样肯定是不行的。

你要将Order.CancelOrder order1 放到其他过程语句,建议等2秒后再撤单



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

金字塔-技术部

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

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

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


加好友 发短信
等级:新手上路 帖子:26 积分:0 威望:0 精华:0 注册:2017/2/16 20:52:30
  发帖心情 Post By:2017/4/11 20:34:00 [只看该作者]

为了代码的紧凑,我只是写了个示例,我实际用的代码是开单后,用定时器延时了10秒才撤单的,但是限价单不成功,而停损单可以。可方便确认一下?

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


加好友 发短信
等级:管理员 帖子:1516 积分:229 威望:0 精华:0 注册:2012/3/30 12:40:56
  发帖心情 Post By:2017/4/11 23:20:23 [只看该作者]

那建议你代码贴全,便于我们核实你说的问题

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


加好友 发短信
等级:新手上路 帖子:26 积分:0 威望:0 精华:0 注册:2017/2/16 20:52:30
  发帖心情 Post By:2017/4/12 19:49:11 [只看该作者]

我的问题解决了,这个函数没有问题。
原因我通过VBA的函数返回给PET公式调用的单号通过NUMTOSTR输出后和在VBA下调试看到的单号不一致,是这个问题,但是这个问题还没找到原因。对于停损单,单号是3位数字,这个传递过去没有问题,对于限价单,单号是9位数字,VBA中通过MSGOUT输出的和PET中通过NUMTOSTR转换后输出的不一致,9位数字的最后两位有差异,前面7位一致,不知道是不是PET内部单精度浮点数引起的问题。

 回到顶部