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

如何查找最新HH、LL pivot point并判定其多空趋势

Pine Script枢轴点检测与多空判定解决方案

以下是修改后可直接使用的完整代码,已实现「检测枢轴点距当前K线间隔」和「多空判定」的需求:

// 枢轴点周期参数设置,值越小生成的枢轴点越多
prd = input.int(defval=10, title='枢轴点周期', minval=10, maxval=50)
// 枢轴点间隔阈值,按需求设置为10,可自定义调整
threshold = input.int(defval=10, title='枢轴点最大间隔阈值', minval=5, maxval=20)

var float ph = na
var float pl = na
ph := ta.pivothigh(prd, prd)
pl := ta.pivotlow(prd, prd)

// 存储上一个高点枢轴的价格、出现位置
var float last_ph = na
var int last_ph_bar = na
// 存储上一个低点枢轴的价格、出现位置
var float last_pl = na
var int last_pl_bar = na

// 计算最新枢轴点距离当前bar的数量
ph_bar_since = bar_index - last_ph_bar
pl_bar_since = bar_index - last_pl_bar
// 你需要的判定结果:最新枢轴点是否超过阈值间隔
ph_over_threshold = ph_bar_since > threshold
pl_over_threshold = pl_bar_since > threshold

// 多空趋势判定,补充初始值为na时的边界处理
pivotTrendHH = na(last_ph) ? "首次HH" : (ph > last_ph ? "Bullish" : "Bearish")
pivotTrendLL = na(last_pl) ? "首次LL" : (pl > last_pl ? "Bullish" : "Bearish")

ph_color = na(last_ph) ? color.blue : (ph > last_ph ? color.green : color.red)
pl_color = na(last_pl) ? color.blue : (pl > last_pl ? color.green : color.red)

if (ph) // 检测到高点枢轴
    label.new(bar_index-prd, ph, pivotTrendHH, yloc=yloc.price, color=ph_color) 
    last_ph := ph // 保存高点枢轴价格
    last_ph_bar := bar_index - prd // 保存高点枢轴出现的bar索引
if (pl) // 检测到低点枢轴
    label.new(bar_index-prd, pl, pivotTrendLL, yloc=yloc.price, color=pl_color) 
    last_pl := pl // 保存低点枢轴价格
    last_pl_bar := bar_index - prd // 保存低点枢轴出现的bar索引

核心修改说明

  • 新增枢轴点出现位置的记录变量,通过bar_index差值计算即可直接得到最新枢轴点和当前活跃K线的间隔bar数,ph_over_threshold和pl_over_threshold直接返回布尔值对应「是否超过10根bar」的判定结果
  • 补充了首次出现枢轴点时的边界处理,避免初始值为na时的逻辑错误
  • 所有参数支持自定义调整,可直接修改threshold输入参数调整间隔阈值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:02