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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → get_orders_id函数似乎存在重大瑕疵,请予以排查

   

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


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

主题:get_orders_id函数似乎存在重大瑕疵,请予以排查

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


加好友 发短信
等级:新手上路 帖子:38 积分:0 威望:0 精华:0 注册:2020/2/15 22:44:32
  发帖心情 Post By:2020/4/9 16:29:19 [只看该作者]

好,我把版本恢复回来。
这样,我先测试下期货模拟吧,看看值

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


加好友 发短信
等级:新手上路 帖子:38 积分:0 威望:0 精华:0 注册:2020/2/15 22:44:32
  发帖心情 Post By:2020/4/10 10:21:48 [只看该作者]

汇报一下:
1、我把原来版本都删除了,然后下载信达5.02版本重新安装
2、测试期货,完全复制了上边测试代码,运行模拟,显示开仓成功,账户栏持仓有10张,未成交委托没有。
3、点停止策略,没有任何输出,也没有报错
4、再重新启动策略,持仓增加到20张,停止策略仍然没有输出。
5、代码中增加log_debug_info输出到日志,运行策略持仓增加到30张,停止策略后消息窗口仍然没有输出,但在日志中有输出,输出已成交量10张,输出正确。

重点我还是想测试期权filled_quantity是否有效,于是切换到期权模拟账户:
6、运行我的期权策略,测试get_orders_id的filled_quantity方法,输出到消息和输出到日志,两个输出都没问题,都有输出,如下:

2020-04-10 10:10:01.991    订单49:buy_open QQ10002389,数量:10,价格:0.4767,submitted已报单
2020-04-10 10:10:02.052    订单49:buy_open QQ10002389,数量:10,价格:0.4767,tradeing已成交
2020-04-10 10:10:02.054    订单49:buy_open QQ10002389,数量:10,价格:0.4767,filled全部成交
2020-04-10 10:10:02.073    订单50:sell_open QQ10002391,数量:10,价格:0.0018,submitted已报单
2020-04-10 10:10:02.125    订单51:sell_open QQ10002358,数量:10,价格:0.0006,submitted已报单
2020-04-10 10:10:02.155    订单50:sell_open QQ10002391,数量:10,价格:0.0018,tradeing已成交
2020-04-10 10:10:02.157    订单50:sell_open QQ10002391,数量:10,价格:0.0018,filled全部成交
2020-04-10 10:10:02.189    订单51:sell_open QQ10002358,数量:10,价格:0.0006,tradeing已成交
2020-04-10 10:10:02.190    订单51:sell_open QQ10002358,数量:10,价格:0.0006,filled全部成交
2020-04-10 10:10:02.224    订单52:buy_open QQ10002367,数量:10,价格:0.6238,submitted已报单
2020-04-10 10:10:02.255    订单52:buy_open QQ10002367,数量:10,价格:0.6238,tradeing已成交
2020-04-10 10:10:02.256    订单52:buy_open QQ10002367,数量:10,价格:0.6238,filled全部成交

2020-04-10 10:10:34.903    订单:49委托量:10已成交:0未成交:10
2020-04-10 10:10:34.904    订单:50委托量:10已成交:0未成交:10
2020-04-10 10:10:34.905    订单:51委托量:10已成交:0未成交:10
2020-04-10 10:10:34.905    订单:52委托量:10已成交:0未成交:10

结果显示filled_quantity输出仍然是0!!!
还是这个问题,没有解决。

总结一下:在期货模拟下,filled_quantity输出正常成交数,其中输出到消息没有显示,输出到日志显示正常。在期权模拟下,filled_quantity输出总是为0,不能正常取值,输出到消息和输出到日志都是0

恳请大佬排查一下问题所在!非常感谢!


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


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

我这边又试了下,期货是没问题的,没有输出是因为5.02在exit停止时有一个bug,在新版修复了的。重新构造下这么去执行就能看到

def handle_bar(context):
    if context.n ==0:
        context.idd = buy_open(context.s1, "Market",0 ,1,repeat=1)
        context.n = 1
        
    if context.idd is not(None):
        print(context.idd)
        orr = get_orders_id (context.idd,"")
        if orr is not(None):
            print(orr.filled_quantity)


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


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

期权无论5.02还是5.21都是输出不勒的,这个不是软件问题,是模拟柜台期权模拟没有去更新订单状态,你看下成交明细那里成交的单子他显示还是已报单而不是全部成交,

这个后面会去对模拟柜台升级的


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


加好友 发短信
等级:新手上路 帖子:38 积分:0 威望:0 精华:0 注册:2020/2/15 22:44:32
  发帖心情 Post By:2020/4/10 13:41:52 [只看该作者]

我翻看了系统的日志(PleaceOrder),看似乎有订单更新,不知道我理解对不对,见下边记录:

2020-04-10 10:11:31.899    【Python】sell_open 策略:<MyModel_V3> 出现信号 book_id:QQ10002376,voloram=1, Type=0, Price=0.012200, Account=
2020-04-10 10:11:31.915    【下单】10002376 价0.012200 量1 买卖1 类型0 开平0 账户80002198 Formula 1
2020-04-10 10:11:31.916    【下单】已提交,订单ID :90
2020-04-10 10:11:32.027    【指令】收到回报指令 ID = 90
2020-04-10 10:11:32.040    【回报】80002198 : 10002376 - 已报单 1 价格:0.0122 开 卖
2020-04-10 10:11:32.069    【指令】收到成交回报指令 ORDERID = 90
2020-04-10 10:11:32.086    【回报】80002198 : 10002376 - 已成交 1 价格:0.0122 开 卖
2020-04-10 10:11:32.087    【回报】80002198 : 10002376 - 全部成交 1

上述记录是其一,其二是前天我在测试时get_orders_id成功地反馈过几个订单的成交情况,当时filled_quantity正确取得了已成交数量,后边的订单又无法取得了。

所以我怀疑是不是我的代码、用法、或者环境有什么问题,导致函数无法正确获取成交状态。



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


加好友 发短信
等级:新手上路 帖子:38 积分:0 威望:0 精华:0 注册:2020/2/15 22:44:32
  发帖心情 Post By:2020/4/10 13:44:11 [只看该作者]

同时,我还有两个问题:
第一,如果只是期权模拟没去更新订单状态,那实盘时会及时更新订单状态吗?
第二,大概什么时候可以对模拟柜台升级?

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


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

实盘会更新的,这个在后面计划了,目前没办法给出确切时间表。

这个不是根据你事件去获取的,是看成交明细那边的订单状态,状态是什么返回的就是什么。

 

1、仓位正确,日志里看也都正常,但是成交状态那边是已报单,所以读取的是这个状态


 回到顶部
总数 17 上一页 1 2