Backtrader 添加自定义止损的核心思路,主要有两种:手动创建止损订单和使用内置的buy_bracket方法。下面会通过几种常见的自定义止损策略来分别说明。
🛠️ 准备工作:理解订单类型
在开始前,需要先了解 Backtrader 中与止损相关的几种订单类型(exectype):
bt.Order.Stop(止损单):当价格达到或超过你设定的price时,就会触发一个市价单来平仓。这是最基础的固定止损单。bt.Order.StopTrail(跟踪止损单):这是一种动态止损单,它会跟随有利的价格方向移动,而在价格反向运动时保持不动,以此来锁定利润。它有两种设置方式:trailamount:设置一个固定的金额差。trailpercent:设置一个百分比的差价。
bt.Order.StopTrailLimit(跟踪止损限价单):它的行为与StopTrail类似,但触发时发出的不是市价单,而是一个限价单(Limit Order)。