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

PineScript问题:入场K线前10根K线最低点止损设置失效求助

问题分析与修复方案
  • 问题根源:你代码里的lowest(source=low, length=10)是计算包含当前入场K线在内的10根K线最低点,但你需要的是入场K线之前10根的最低值,范围偏差导致止损线不符合预期。

  • 修复步骤:
    在设置止损价longsl时,给lowest()结果加上[1]偏移,这样就能获取到入场K线前一根位置上的10周期最低点,精准排除当前入场K线:

    if (long_entry)
        longsl:=lowest(low, 10)[1]
    
  • 修正后的完整代码:

strategy("MACD Strategy", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

var float longsl=na

long_entry=crossover(delta, 0)

if (long_entry)
    // 取入场K线之前10根K线的最低点,[1]排除当前入场K线
    longsl:=lowest(low, 10)[1]

strategy.entry("Long",strategy.long,when=long_entry)
strategy.exit("Long exit","Long",limit=xxxxx,stop=longsl)

plot(strategy.position_size!=0 or long_entry  ? longsl:na,title = "SL",color = color.red,style = plot.style_linebr)
  • 补充说明:
    • Pine Script中,序列值后加[n]代表取该序列n根K线之前的数值,[1]就是前一根K线对应的结果。
    • 原逻辑包含入场K线的最低点,会让止损线可能出现在入场K线的低位,和你需求的"入场前10根"完全不符,调整偏移后就能匹配预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:28:30