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

如何设置止损为入场K线低点?当前策略止损频繁变动求解

如何将止损固定为入场K线的低点(Pine Script)

你当前代码的问题在于,low[1]会随着每根新K线的生成不断更新为最新的前一根K线低点,所以止损价会一直变动,没法固定在开仓那根K线的低点。要解决这个问题,核心是在入场时把当时的K线低点保存下来,之后止损就用这个固定值。

解决方案代码示例

//@version=5
strategy("Fixed Stop Loss at Entry Low", overlay=true)

// 用var声明变量,确保只初始化一次,不会随K线重置
var float entryLow = na

// 示例做空触发条件:收盘价跌破20日均线
shortSignal = close < ta.sma(close, 20)

// 开空单时记录入场K线的低点
if (shortSignal and strategy.position_size == 0)
    strategy.entry("Short Position", strategy.short)
    entryLow = low  // 记录开仓那根K线的低点

// 使用固定的入场低点作为止损
if (strategy.position_size < 0)
    strategy.exit(id="Close Short", stop=entryLow)

关键说明

  • var关键字:这个关键字让entryLow变量在脚本运行全程只初始化一次,不会每根K线都重置为na,这样就能牢牢记住开仓时的低点数值。
  • 仅在开仓时更新变量:只有当触发开空信号且当前无仓位时,才会给entryLow赋值,确保它只存储入场那根K线的低点,后续不再变动。
  • 多仓位场景适配:如果你的策略是多笔仓位同时持有,需要改用数组来存储每笔入场的低点,不过单仓位策略用上面的代码就完全够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:20:32