get_open_orders - 获取未完成订单
get_open_orders 是 PTrade 中用于获取未完成订单的接口。
提示
live-or-trading-module-onlybacktest-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}>]