3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 量化交易平台中进行期货策略开发时,交易下单与股票接口(如 order)有所不同。期货区分多空方向以及历史持仓(昨仓)与当日持仓(今仓)。针对上海期货交易所(XSGE)等特殊规则,正确处理平今仓(close_today)是规避手续费惩罚与委托失败的关键。
PTrade 为期货交易提供了专用的下单接口,分别对应多头/空头的开仓与平仓:
buy_open(contract, amount, limit_price=None)sell_close(contract, amount, limit_price=None, close_today=False)sell_open(contract, amount, limit_price=None)buy_close(contract, amount, limit_price=None, close_today=False)contract (str):期货合约代码,例如 'CU2112.XSGE' 或 'IF1712.CCFX'。amount (int):交易数量,必须为正整数(手)。limit_price (float):限价,若不传则默认以行情快照最新价或回测周期最新价报单。close_today (bool):平仓方式,默认为 False。close_today 平今仓逻辑close_today=True)与平昨仓(close_today=False)。如果手中有今仓而直接调用默认平仓(优先平昨),且昨仓不足时,会导致平仓失败或产生高额平今手续费(视品种规则而定)。close_today=True。若设置为 True,PTrade 系统会提示警告并自动强行转换为 close_today=False(系统默认优先平昨仓,不足部分再平今仓)。close_today 的具体行为close_today=False:优先平昨仓,昨仓不足部分再平今仓。close_today=True:仅平今仓。若委托数量大于当前今仓数量,系统会自动调整委托数量为当前今仓数量。以下是一个完整且可以直接运行的 PTrade 期货策略示例,展示了如何设置保证金、手续费以及在盘中正确平仓: