
前言国内期货实盘通常会有风控线例如当日权益从开盘回撤超过 5% 就全部平仓并停机或浮亏超过固定金额触发强平逻辑。紧急时刻若只在代码里print(要平仓了)而主循环仍按 5 分钟 K 线慢慢算均线可能来不及在夜盘跳水时把仓位减掉。可靠流程需要用天勤get_account()持续读资金 → 触发后冻结新开仓 → 对每个合约TargetPosTask.set_target_volume(0)把目标净仓调成零 → 多次wait_update直到get_position显示净仓为零或超时 → 告警并停机。下面解释触发用的 account 字段含义、emergency 标志是什么、以及 enter_emergency 函数应包含哪些步骤。代码名均为天勤对象属性或团队自定变量第一次出现会说明。一、触发条件account 里几个常用字段api.get_account()返回资金账户对象在每次wait_update()后更新字段含义见 objs.py 注释紧急平仓常见用法balance账户权益相对日初算回撤比例float_profit浮动盈亏绝对值过大告警risk_ratio风险度保证金/权益接近 1 时先减仓available可用资金强平后是否还能挂单示例日初记录day_start_balance acc.balance在首根有效 K 线或约定 9:00 记录盘中若acc.balance day_start_balance * (1 - MAX_DD)则触发MAX_DD如 0.05 表示 5% 回撤。夜盘跨自然日时要在团队约定时刻重置日初权益否则用昨天基准算今天回撤会失真。二、emergency 是什么emergency 不是天勤内置字段而是策略里常用的布尔状态例如state[emergency] True表示已进入紧急模式后续信号逻辑不得再set_target_volume开新仓只允许平仓或停机。监控脚本可检查日志里 emergency 触发后是否还有开仓记录有则说明冻结逻辑写漏了。三、enter_emergency 推荐步骤带说明defenter_emergency(api,tasks,symbols,reason):state[emergency]Trueforsinsymbols:tasks[s].set_target_volume(0)# 目标净仓调为零deadlinetime.time()60whiletime.time()deadline:api.wait_update()ifall(api.get_position(s).pos0forsinsymbols):breaklog_emergency(reason)# 写清 reason、各 symbol 最终 pos说明tasks是每个合约的TargetPosTask实例字典set_target_volume(0) 不会立刻成交要靠后续 wait_update 驱动发单。pos是净持仓手数归零才算平仓完成部分成交时循环要继续。60 秒超时后若仍有仓位打严重告警考虑人工介入或改用 ACTIVE 对价平仓团队规范。结束后api.close()或进入永久 pause需人工复位才能再交易。四、与拒单、涨跌停紧急时若平时用 PASSIVE 排队可能平不出去可临时改用priceACTIVE的 task 或对价insert_order勿与 task 混用同一合约。涨跌停时对手盘缺失可能无法完全平仓日志必须记录残留pos和last_msg不能假装已全平。五、进程崩溃后emergency 存在内存里崩溃后会丢。重启时先wait_update读get_position若有仓默认继续平或告警不要直接按策略信号重新开仓。六、与 TqRiskRule 的关系天勤提供TqRuleOpenVolumesLimit、TqRuleOrderRateLimit等见 risk_rule 模块在超限时报TqRiskRuleError属于预防性限制与 emergency 互补不能替代“回撤超限全平”的业务规则。总结紧急平仓的关键在于它是一条完整的工程链路而不是一句‘触发后停下来’的逻辑。触发时需要先冻结新开仓意图进入 emergency再对每个 symbol 把目标净仓推到 0并在循环里持续 wait_update 直到pos归零或超时同时把 balance、pos、last_msg 等关键证据写进日志并告警便于事后判断是否真的平干净。更重要的是平时要演练一次紧急链路只有当系统在异常中也能稳定跑完真正波动来临时才不会依赖临场补救。把这条链路反复验证后风控才会从“阈值”变成“可执行的保障”。FAQ1只平部分品种配置emergency_symbols列表只对这些 set 零。2组合多腿所有腿同时 set_target_volume(0)避免单腿裸露。3夜盘触发日切重置 day_start_balance 的规则写进 config。4回测要加吗建议加同样逻辑观察历史最大回撤日是否按预期全平。风险提示以上内容用于风控程序参考不构成投资建议。