3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 实盘交易运行过程中,若遇到券商服务器升级、环境重启或网络中断后自动拉起,PTrade 引擎会重新触发策略流程。此时容易引发重复下单的主要原因包括:
initialize(context) 函数,随后再恢复持久化数据。如果在 initialize 中初始化了状态标识(如 g.flag = False),系统保存的持久化变量可能会被初始值覆盖(或者在未恢复前触发交易逻辑)。before_trading_start:默认情况下,环境重启重拉交易时会重新触发 before_trading_start 盘前函数。若在该函数中编写了下单或重置交易状态的逻辑,极易导致重复报单。g 中以双下划线 __ 开头的变量或不可序列化的对象不会被持久化,重启后会重置为初始状态。set_parameters为了防范重启带来的重复委托风险,PTrade 提供了 set_parameters 接口,可以在 initialize 阶段针对服务器重启行为进行针对性配置。