3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 平台中,盘后固定价交易允许投资者在收盘后按当日收盘价进行委托申报。如果在盘后交易时间段内需要取消已提交但未成交的盘后固定价订单,可以使用 after_trading_cancel_order 接口。
after_trading_cancel_order(order_param)Order 对象或委托订单号 order_id 进行撤单。order_param (Order / str):必填,订单对象(Order)或者订单 ID 字符串(order_id)。None以下示例展示了如何在 15:00~15:30 盘后固定价交易时间段内,先使用 after_trading_order 进行盘后固定价申报,随后使用 after_trading_cancel_order 撤销该笔委托:
import time
def initialize(context):
# 设置目标交易标的(如创业板股票 300001.SZ)
g.security = "300001.SZ"
set_universe(g.security)
# 使用 run_daily 在盘后固定价交易时段(如 15:15)定时触发
run_daily(context, order_test, time="15:15")
g.flag = False
def order_test(context):
# 获取当前标的快照行情以取得最新收盘价
snapshot = get_snapshot(g.security)
if snapshot is not None:
last_px = snapshot[g.security].get("last_px", 0)
if last_px > 0:
# 1. 提交盘后固定价买入委托(买入 200 股)
order_id = after_trading_order(g.security, 200, float(last_px))
log.info("盘后固定价委托提交成功,订单ID: %s" % order_id)
# 等待 5 秒(仅作演示,实际策略中可根据订单状态判断)
time.sleep(5)
# 2. 调用撤单接口撤销该笔盘后委托
after_trading_cancel_order(order_id)
log.info("已发送盘后固定价撤单请求,订单ID: %s" % order_id)
def handle_data(context, data):
pass
15:00~15:30(实际委托申报可提前至 09:30~11:30, 13:00~15:30,撮合集中在收盘后)。order_param 既可直接传入下单接口 after_trading_order 返回的字符串 ID,也可以传入包含订单信息的 Order 对象。