You need to enable JavaScript to run this app. 修复Tradingview Pivots HL高低点枢轴指标 实现双条件触发价格警报
优惠活动
大模型
产品
解决方案
定价
更多

修复Tradingview Pivots HL高低点枢轴指标 实现双条件触发价格警报

Tradingview Pivots HL指标警报修正方案

问题根因

你之前的代码未生效主要有3个核心问题:

  • 原指标的枢轴点确认存在len根K线的滞后性,绘图时通过offset=-len把圆点偏移到对应K线位置,直接取plotH[1]/plotL[1]无法匹配到你看到的前一根K线上的圆点信号
  • 未缓存历史最近一次的有效枢轴点数值,直接用当前plotH/plotL和收盘价对比,只能匹配到刚确认的枢轴点价格,无法和历史最近的枢轴点做比较
  • 原代码中sellCondition逻辑书写错误,重复调用了两次HHCondition1,漏掉了HHCondition2

修正后完整代码

//@version=4
study("(Pivot Points High Low)", shorttitle="Pivots HL", overlay=true)
lenH = input(title="Length High", type=input.integer, defval=6, minval=1)
lenL = input(title="Length Low", type=input.integer, defval=6, minval=1)

fun(src, len, isHigh) =>
    p = nz(src[len])
    isFound = true
    for i = 0 to len - 1
        if isHigh and src[i] > p
            isFound := false
        if not isHigh and src[i] < p
            isFound := false
    for i = len + 1 to 2 * len
        if isHigh and src[i] >= p
            isFound := false
        if not isHigh and src[i] <= p
            isFound := false
    if isFound
        p

plotH = fun(high, lenH, true)
plotL = fun(low, lenL, false)

// 缓存最近一次确认的高低枢轴点价格
lastHH = valuewhen(not na(plotH), high[lenH], 0)
lastLL = valuewhen(not na(plotL), low[lenL], 0)

// 条件1:刚确认枢轴点后的第一根K线触发(对应圆点出现在前一根K线的场景)
HHCondition1 = not na(plotH[1]) and na(plotH[2])
LLCondition1 = not na(plotL[1]) and na(plotL[2])

// 条件2:收盘价突破最近对应枢轴点价格触发
HHCondition2 = close > lastHH
LLCondition2 = close < lastLL

BuyCondition = LLCondition1 or LLCondition2
SellCondition = HHCondition1 or HHCondition2

// 测试信号标记,不需要可以注释
plotshape(BuyCondition, title="buy", style=shape.triangleup,location=location.belowbar, color=color.orange, transp=0, size=size.small)
plotshape(SellCondition, title="sell", style=shape.triangledown,location=location.abovebar, color=color.green, transp=0, size=size.small)

plot(plotH, color=color.lime, linewidth=3, style=plot.style_circles, offset=-lenH)
plot(plotL, color=color.red,  linewidth=3, style=plot.style_circles, offset=-lenL)

alertcondition(BuyCondition, title="buy",message="buy") 
alertcondition(SellCondition, title="sell",message="sell") 

逻辑说明

  • 条件1触发时机:当前K线是枢轴圆点刚确认完成后的第一根K线,刚好对应圆点出现在前一根K线的场景,符合你的需求
  • 条件2触发时机:当前K线收盘价高于最近一次确认的绿色高点枢轴,或低于最近一次确认的红色低点枢轴时触发
  • 两个条件满足任意一个就会触发对应方向的警报

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 06:12:03