get_open_orders - 获取未完成订单

get_open_orders 是 PTrade 中用于获取未完成订单的接口。

提示

  • live-or-trading-module-only
  • backtest-only

原型

get_open_orders(security=None)

释义

get_open_orders 是 PTrade 中用于获取未完成订单的接口。

研究:不支持;回测:支持;模拟:官方目录未明确;实盘:支持。

参数

参数 是否必填 官方原始定义
security security=None

返回值

返回一个list,该list中包含多个Order对象(list[Order,...])。

[<Order {'id': '52e6a3f8a2b7468e92258c52dfcb6d42', 'dt': datetime.datetime(2025, 2, 21, 11, 25, 1, 229575), 'priceGear': 0, 'limit': 34.1, 'symbol': '600570.XSHG', 'amount': 1000, 'created': datetime.datetime(2025, 2, 21, 11, 25, 1, 229575), 'filled': 0, 'status': '2', 'entrust_no': '3596', 'cancel_entrust_no': None}>]

示例

def initialize(context):

g.security = ['600570.SS', '000001.SZ']

set_universe(g.security)

def handle_data(context, data):

for _sec in g.security:

_id = order(_sec, 100, limit_price = 30)

# 当运行周期为分钟则可获取本周期及之前所有未完成的订单

dict_list = get_open_orders()

log.info(dict_list)

# 当运行周期为天,可在after_trading_end中调用此函数获取当天未完成的订单

def after_trading_end(context, data):

dict_list = get_open_orders()

log.info(dict_list)

详细说明

get_open_orders(security=None)

使用场景

该函数仅在回测、交易模块可用

接口说明

该接口用于获取当天所有未完成的订单,或按条件获取指定未完成的订单。

注意事项

该接口仅支持获取本策略内的订单

未完成的状态(status(str))包括以下类型: '0' -- "未报" '1' -- "待报" '2' -- "已报" '3' -- "已报待撤" '4' -- "部成待撤" '7' -- "部成"

参数详细说明

security:标的代码,如'600570.SS',不传时默认为获取所有未成交订单(str);

返回值

返回一个list,该list中包含多个Order对象(list[Order,...])。

[<Order {'id': '52e6a3f8a2b7468e92258c52dfcb6d42', 'dt': datetime.datetime(2025, 2, 21, 11, 25, 1, 229575), 'priceGear': 0, 'limit': 34.1, 'symbol': '600570.XSHG', 'amount': 1000, 'created': datetime.datetime(2025, 2, 21, 11, 25, 1, 229575), 'filled': 0, 'status': '2', 'entrust_no': '3596', 'cancel_entrust_no': None}>]