金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2447|回复: 2

为何不能根据order_id查到order?

[复制链接]

11

主题

44

帖子

44

积分

Rank: 1

等级: 新手上路

注册:
2021-6-8
曾用名:
发表于 2021-6-15 10:29 | 显示全部楼层 |阅读模式
                    order_id = buy_open(code, 'Limit', last_price, int(v*100))
                    if order_id > 0:
                        context.open_orders.append(order_id)
                    else:
                        print('%s 开仓下单失败,请检查'%code)

        # 判断向下突破
        if last_price < context.jzd_D[code]['j_l'] and code in context.chicang_list:
            chidang = get_portfolio(code, 0)
            if chicang:
                order_id = sell_close(code, "Market", volume=chicang)
                if order_id > 0:
                    context.close_orders.append(order_id)
                else:
                    print('%s 平仓下单失败,请检查'%code)

    # 订单处理
    for order_id in context.open_orders:
        order = get_orders_id(order_id)
        print(order_id)
        print(order)

        # 下边注释是输出
        # 10:09:56 > 252053520
        # 10:09:56 > None

        if order.status == 'filled': # 报错
            # 描述: 'NoneType' object has no attribute 'status'



回复

使用道具 举报

31

主题

7889

帖子

7899

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-15 10:43 | 显示全部楼层

from PythonApi import *

#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    context.open_orders = []
# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass
# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    order_id = buy_open("RB00", 'Market',0,1,serial_id = 1)
    if order_id!=-1:
        context.open_orders.append(order_id)
    else:
        print('%s 开仓下单失败,请检查')
   
    # 订单处理
    print(context.open_orders)
    for order_id in context.open_orders:
        order = get_orders_id(order_id)
        print(('id',order_id))
        print(('对象',order))
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
    pass
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7889

帖子

7899

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-6-15 10:44 | 显示全部楼层
本地测试情况没有问题,你刚下单瞬间这个时候是取不到这个order的,因为他是读取委托记录那边信息,刚下单委托还没发到柜台
等下一次循环时候就能取到了,另外判断要判断如果下单失败返回的是-1
截图202106151044014656..png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-28 14:19 , Processed in 0.100746 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表