You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:金字塔加仓策略下持仓均价退出的正确代码调试

修正后的金字塔加仓退出代码

原代码的核心问题在于未取消之前挂出的盈利退出单(E_L1),导致新的限价退出单(E_L2)无法正常生效;同时金字塔加仓场景下,需要确保退出指令能覆盖所有持仓。以下是修正后的代码:

// 开仓逻辑
if long
    strategy.cancel("Long")
    strategy.entry("Long", strategy.long, limit=close)
    // 仅在首次开仓时挂盈利退出单,加仓时不重复创建
    if strategy.opentrades == 1
        strategy.exit("E_L1", "Long", profit=100)

// 多仓加仓后,以持仓均价退出的逻辑
if ta.crossover(high, strategy.position_avg_price) and strategy.opentrades > 1
    // 取消之前的盈利退出单,避免订单逻辑冲突
    strategy.cancel("E_L1")
    // 挂出以持仓均价为限价的退出单,覆盖所有多仓持仓
    strategy.exit("E_L2", "Long", limit=strategy.position_avg_price, comment="AvgPriceExit")

关键修正点说明:

  • 取消冲突订单:触发均价退出前先取消E_L1,避免新旧退出指令逻辑冲突导致限价单无法挂出。
  • 控制退出单创建时机:仅首次开仓时挂E_L1盈利单,加仓阶段不再重复生成,减少无效订单干扰。
  • 覆盖全持仓退出:strategy.exit关联"Long" entry后,会对该标的下的所有持仓(包括加仓部分)执行退出操作,适配金字塔加仓的持仓结构。

内容的提问来源于stack exchange,提问作者Mel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:04:57