以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  Python orderstatus 一直是submitted  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174274)

--  作者:xlxl
--  发布时间:2020/2/13 11:11:15
--  Python orderstatus 一直是submitted

模拟一个网个交易,上卖下买各一个单, 准备用status查看哪边成交 ,日志显示成交,但是status一直显示 submitted

日志:

 

2020-02-13 11:00:19.850    【Python】buy_open 策略:<GridTrading> 出现信号 book_id:SZ000001,voloram=100, Type=0, Price=14.450000, Account=
2020-02-13 11:00:19.858    【下单】000001 价14.450000 量100 买卖0 类型0 开平0 账户60008841 Formula 1
2020-02-13 11:00:19.862    【下单】已提交,订单ID :43
2020-02-13 11:00:19.864    【Python】sell_close 策略:<GridTrading> 出现信号 book_id:SZ000001,voloram=100, Type=0, Price=14.550000, Account=
2020-02-13 11:00:19.878    【下单】000001 价14.550000 量100 买卖1 类型0 开平1 账户60008841 Formula 1
2020-02-13 11:00:19.882    【下单】已提交,订单ID :44
2020-02-13 11:00:19.886    【指令】收到回报指令 ID = 43
2020-02-13 11:00:19.900    【回报】60008841 : 000001 - 已报单 100 价格:14.45 开 买
2020-02-13 11:00:19.906    【指令】收到回报指令 ID = 44
2020-02-13 11:00:19.921    【回报】60008841 : 000001 - 已报单 100 价格:14.55 平 卖
2020-02-13 11:00:20.106    【指令】收到成交回报指令 ORDERID = 44
2020-02-13 11:00:20.111    【指令】平仓计量 EBuy:0 ESell:100
2020-02-13 11:00:20.128    【回报】60008841 : 000001 - 已成交 100 价格:14.76 平 卖
2020-02-13 11:00:20.132    【回报】60008841 : 000001 - 全部成交 100
2020-02-13 11:00:20.831    【Python】 策略:<GridTrading> 触发handle_bar

 

代码

    id_buy2=get_orders_id(context.buyorderID)
    id_sell2=get_orders_id(context.sellorderID)
    print(id_buy2.order_id)
    print(id_buy2.status)
    print(id_sell2.order_id)
    print(id_sell2.status)

 

消息窗口打印结果:

11:00:37 > 43
11:00:37 > submitted
11:00:37 > 44
11:00:37 > submitted
11:00:37 > SZ000001
11:00:37 > 14.770000457763672
11:00:37 > 2020-02-13 11:01:00
11:00:37 > 14.5

 

昨天测试IF00能够汇报filled, 今天测个股就不行了,

 

请问这个是什么原因?


--  作者:yukizzc
--  发布时间:2020/2/13 11:23:26
--  
本地测试
图片点击可在新窗口打开查看此主题相关图片如下:8z4_07tifdy3cjkkw(n(c9y.png
图片点击可在新窗口打开查看

--  作者:yukizzc
--  发布时间:2020/2/13 11:24:18
--  
2020-02-13 11:19:00.512    【回报】60000019 : 登录成功
2020-02-13 11:19:50.191    【Python】 策略:<MyPython13> 触发handle_bar
2020-02-13 11:19:59.272    【下单】000001 价14.770000 量100 买卖0 类型0 开平0 账户60000019 Formula 1
2020-02-13 11:19:59.282    【下单】已提交,订单ID :251658241
2020-02-13 11:19:59.293    【指令】收到回报指令 ID = 251658241
2020-02-13 11:19:59.299    【回报】60000019 : 000001 - 已报单 100 价格:14.77 开 买
2020-02-13 11:19:59.413    【指令】收到成交回报指令 ORDERID = 251658241
2020-02-13 11:19:59.418    【回报】60000019 : 000001 - 已成交 100 价格:14.77 开 买
2020-02-13 11:19:59.424    【回报】60000019 : 000001 - 全部成交 100
2020-02-13 11:20:00.018    【Python】 策略:<MyPython13> 触发handle_bar
2020-02-13 11:20:10.989    【Python】 策略:<MyPython13> 触发handle_bar
2020-02-13 11:20:20.025    【Python】 策略:<MyPython13> 触发handle_bar
2020-02-13 11:20:30.031    【Python】 策略:<MyPython13> 触发handle_bar
--  作者:yukizzc
--  发布时间:2020/2/13 11:27:10
--  

你要去根据事件反馈里去写,不能去查询订单里处理。

 


--  作者:无为剑
--  发布时间:2020/2/13 12:14:19
--  
经过我们测试,成交后可以正常显示订单状态的,你的情况可能有2个原因:
1,get_orders_id获取的订单状态是不会自动更新的,因为你需要在收到订单成交后再去调取
2,你的金字塔是否还是旧版,请升级到5.2BETA4版本
3,股票模拟交易是不可能跟实盘的柜台那样稳定的,你升级到最新版后看一下是否有改善
[此贴子已经被作者于2020/2/13 12:17:01编辑过]

--  作者:xlxl
--  发布时间:2020/2/17 6:40:45
--  
好的,谢谢
--  作者:xlxl
--  发布时间:2020/2/17 6:43:09
--  
金字塔版本是v5.12