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


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

   

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


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

主题: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),和这个有关系么?

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
laotang250
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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内部单精度浮点数引起的问题。

 回到顶部