以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  打印出策略连接的订单ID  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=180963)

--  作者:qq代人发帖
--  发布时间:2020/7/1 12:59:32
--  打印出策略连接的订单ID

请教:def order_status(context,order):
    o=get_orders(context.s1,1)
        
    if o[-1].order_book_id==context.s1:
        order_id=o[-1].order_id 
        order_side=o[-1].side   
        print(order_id)

我只有打印出策略连接的订单ID。 但我手工开其他品种。 还是有打印输出。 打印输出的是我挂的品种的最后一张ID。
这函数的逻辑有些不对啊。 该过滤的没有过滤。

这消息窗口是不是指定输出窗口? 如果手工开仓,也输出吗?
 if o[-1].order_book_id==context.s1:
order_book_id 这个方法调用不到值。

 我现在的代码是这样:

def order_status(context,order):
    o=get_orders(context.s1,1)
        
    if o[-1].order_book_id==context.s1:
        book_id=o[-1].order_book_id
        order_id=o[-1].order_id
        order_side=o[-1].side   
        print("yes")

按理,我开其他的品种。 不会和这个策略程序有关系。 但现在输出还是“YES”

这里面的数据结构是何情况?

我大概知道何情况。 就是其他品种操作。 也会触发ORDER STATUS 这个函数。 
他会计算一下。

如果这样的话。 这函数是否有些问题?
如果同时挂几个品种。 资源也是占用的。 互相计算了。


--  作者:yukizzc
--  发布时间:2020/7/1 13:29:35
--  

这个是订单状态跟新,不是说你本策略的更新

 

就好比你其他地方手机下单,不可能电脑上软件没有更新状态看不到持仓一个道理