PTrade获取公共交易相关函数
注意:代码精度位为3位小数的类型(后台已保护为3位),如ETF、国债;代码精度为2位小数类型,需要在传参时限制价格参数的精度,如股票。
更加详细的调用方法,后续会慢慢整理。
也可找寻博主历史文章,搜索关键词使用方案,比如本文涉及函数get_all_orders!
感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!
get_all_orders - 获取账户当日全部订单
get_all_orders(security=None)
使用场景
该函数仅在交易模块可用
接口说明
该接口用于获取账户当日所有订单(包含非本交易的订单记录),或按条件获取指定代码的订单。
注意事项:
1、该函数返回账户当日在柜台的全部委托记录,不能查询策略中待报、未报状态的委托。
2、该函数返回的可撤委托仅可通过cancel_order_ex函数进行撤单,且非本交易的委托进行撤单仅可通过本函数查询委托状态更新。
参数
security:标的代码,如'600570.SS',不传时默认为获取所有订单(str);
返回
返回一个list,该list中包含多条订单记录(list[dict, ...]):
[{'symbol': 股票代码(str), 'entrust_no': 委托编号(str), 'amount': 委托数量(int), 'entrust_bs': 委托方向(int), 'price': 委托价格(float), 'status': 委托状态(str), 'filled_amount': 成交数量(int)}, ...]
字段备注:
- entrust_bs -- 成交方向,1-买,2-卖;
- status -- 委托状态,详见Order对象中status字段;
示例
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取账户当日委托600570代码的全部订单
log.info('当日委托600570代码的全部订单:%s' % get_all_orders(g.security))
# 获取账户当日全部订单
log.info('当日全部订单:%s' % get_all_orders())