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

如何将ATR止损逻辑接入现有PineScript策略的开平仓条件

Pine Script ATR止损与现有策略整合方法

操作步骤

  • 首先新增持久化变量存储持仓状态下的止损价,避免无持仓时的无效ATR值触发错误平仓
    // 新增变量:存储LongA订单的ATR止损价,var修饰符会保留历史值不会每根K线重置
    var float longAtrStop = na
    
  • 持仓时同步更新止损价(如果要使用固定开仓时的ATR止损,仅在开仓信号触发时赋值一次即可;如果要使用动态跟踪ATR止损,持仓时每根K线更新数值即可)
    这里以动态跟踪止损为例:
    // 持有LongA多单时更新止损价,空仓时重置为无效值
    if strategy.position_size > 0 and strategy.opentrades.entry_id("LongA") != na
        longAtrStop := longStop
    else
        longAtrStop := na
    
  • 将止损触发条件添加到原有平仓逻辑的when参数中即可,不需要修改原有开平仓的核心逻辑
    // 原有平仓条件z/t加上ATR止损触发条件(跌破止损价),也可以叠加你之前写的百分比止损条件
    strategy.close("LongA", when= z or t or (not na(longAtrStop) and low <= longAtrStop) or (not na(longStopPrice) and low <= longStopPrice))
    

注意事项

  • 如果你做的是双向策略,空单的逻辑和上面完全对称,新增shortAtrStop变量,平仓条件加high >= shortAtrStop即可
  • 可以通过调整Use Structure参数切换止损计算逻辑:开启时会叠加过去N根K线的低点作为支撑参考,比单纯的ATR止损过滤更多假突破平仓信号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:54:02