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

Pine Script实现复选框控制仅显示最近Pivot High/Low枢轴点

Pine Script 仅显示最近枢轴点实现方案

实现逻辑:先统一识别所有枢轴高、枢轴低点位置,根据showRecentOnly开关判断绘制范围:开关关闭时展示全部历史枢轴标记,开关开启时仅抓取最近一次生成的枢轴高、枢轴低点做展示。

修改后完整可运行代码

//@version=5
indicator("Custom Pivot Marker", overlay=true)
showRecentOnly = input(title="Pivots Highs & Lows", defval=false)
lb = input(defval=5, title='Left Bars')
rb = input(defval=5, title='Right Bars')
mb = lb + rb + 1

// 识别全量枢轴高低点
isPivotHigh = ta.highestbars(mb) == -lb
isPivotLow = ta.lowestbars(mb) == -lb

// 按开关状态判断绘制条件
plotHighCond = showRecentOnly ? bar_index == ta.valuewhen(isPivotHigh, bar_index, 0) : isPivotHigh
plotLowCond = showRecentOnly ? bar_index == ta.valuewhen(isPivotLow, bar_index, 0) : isPivotLow

// 绘制三角形标记
plotshape(plotHighCond, title='Triangle Pivot High', style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 60), size=size.tiny, offset=-lb)
plotshape(plotLowCond, title='Triangle Pivot Low', style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 60), size=size.tiny, offset=-lb)

关键改动说明

  • 把原有分散的枢轴判断逻辑抽为独立布尔变量isPivotHigh、isPivotLow,减少重复计算
  • 用ta.valuewhen()函数抓取最近一次枢轴高、枢轴低对应的K线索引,开关开启时仅在对应索引位置绘制标记,自动隐藏所有历史标记
  • 开关默认关闭时,所有枢轴点正常展示,和原有代码效果完全一致,不会改动用户原有使用习惯
  • 移除了原有代码中冗余的空值判断、iff中转逻辑,代码执行效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:57:12