🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade 平台中超过相对限价(价格笼子)的订单会如何处理?

ptrade | 发布时间: 2026/5/29
以下内容由 EasyQuant 生成。

问题描述

相对限价风控问题

超过相对限价时订单会怎么处理?

解决方案

在 ptrade 量化交易平台中,当您的委托订单价格超过了交易所规定的相对限价(通常被称为“价格笼子”,例如科创板或创业板的 2% 价格限制)时,该订单最终会被交易所认定为废单

具体在 ptrade 平台中的表现和处理流程如下:

1. 下单接口返回值

当您调用 order() 等下单函数时,即使下单价格超过了价格笼子,order 函数依然会正常返回一个 order_id,而不会返回 None。这是因为订单在本地柜台层面是成功生成的,只是在报送到交易所后被拒。

2. 委托主推回调 (on_order_response)

在委托主推回调函数中,该订单的初始状态 status 会显示为 2(已报),表示订单已经成功报送至交易所。

3. 成交主推回调 (on_trade_response)

当交易所处理该订单并判定其违反相对限价规则后,会将其打回。此时,在成交主推回调函数中,该订单的状态 status 会更新为 9(废单)

应对建议与代码示例

为了避免策略因为废单而逻辑错乱,建议在策略中:

  1. 下单前校验:尽量在下单前获取最新的行情快照(get_snapshot)或档位行情(get_gear_price),确保委托价格在合理的价格笼子范围内。
  2. 监听废单状态:通过 on_trade_response 或定时查询订单状态,捕获废单并进行相应的重试或撤单逻辑处理。
def on_trade_response(context, trade_list):
    for trade in trade_list:
        if trade['status'] == '9':
            log.warning(f"订单 {trade['entrust_no']} 成为废单,可能是因为超过了相对限价(价格笼子)。")
            # 在此处添加您的废单处理逻辑,例如重新计算价格后再次下单