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

如何为TradingView枢轴脚本添加双左看变体(lbL=5与lbL=10)

TradingView脚本双左看逻辑实现方案

这个需求完全可行,只需要在原有脚本基础上复制一套逻辑,将左看参数替换为lbL=10,同时区分对应的变量与绘图标识,就能同时实现左看5根和10根K线的 pivot 检测与信号判断。

以下是修改后的完整脚本:

//@version=5
indicator("双左看Pivot信号", overlay=false)

// 基础参数定义
lbR = 5
lbL_5 = 5    // 左看5根K线
lbL_10 = 10  // 左看10根K线
rangeUpper = 60
rangeLower = 5

// 工具函数:判断是否在指定K线范围内
_inRange(cond) =>
    bars = ta.barssince(cond == true)
    rangeLower <= bars and bars <= rangeUpper

// -------------------------- 左看5根K线的逻辑(原有逻辑) --------------------------
plFound_5 = not na(ta.pivotlow(osc, lbL_5, lbR))
phFound_5 = not na(ta.pivothigh(osc, lbL_5, lbR))

// 常规看涨信号(左看5)
oscHL_5 = osc[lbR] > ta.valuewhen(plFound_5, osc[lbR], 1) and _inRange(plFound_5[1])
priceLL_5 = close[lbR] < ta.valuewhen(plFound_5, close[lbR], 1)
bullCond_5 = priceLL_5 and oscHL_5 and plFound_5
plot(plFound_5 ? osc[lbR] : na, offset=-lbR, title='常规看涨(左看5)', linewidth=2, color=bullCond_5 ? color.new(color.green, 0) : na, style=plot.style_circles)

// 常规看跌信号(左看5)
oscLH_5 = osc[lbR] < ta.valuewhen(phFound_5, osc[lbR], 1) and _inRange(phFound_5[1])
priceHH_5 = close[lbR] > ta.valuewhen(phFound_5, close[lbR], 1)
bearCond_5 = priceHH_5 and oscLH_5 and phFound_5
plot(phFound_5 ? osc[lbR] : na, offset=-lbR, title='常规看跌(左看5)', linewidth=2, color=bearCond_5 ? color.new(color.red, 0) : na, style=plot.style_circles)

// -------------------------- 左看10根K线的新增逻辑 --------------------------
plFound_10 = not na(ta.pivotlow(osc, lbL_10, lbR))
phFound_10 = not na(ta.pivothigh(osc, lbL_10, lbR))

// 常规看涨信号(左看10)
oscHL_10 = osc[lbR] > ta.valuewhen(plFound_10, osc[lbR], 1) and _inRange(plFound_10[1])
priceLL_10 = close[lbR] < ta.valuewhen(plFound_10, close[lbR], 1)
bullCond_10 = priceLL_10 and oscHL_10 and plFound_10
plot(plFound_10 ? osc[lbR] : na, offset=-lbR, title='常规看涨(左看10)', linewidth=2, color=bullCond_10 ? color.new(color.lime, 0) : na, style=plot.style_circles)

// 常规看跌信号(左看10)
oscLH_10 = osc[lbR] < ta.valuewhen(phFound_10, osc[lbR], 1) and _inRange(phFound_10[1])
priceHH_10 = close[lbR] > ta.valuewhen(phFound_10, close[lbR], 1)
bearCond_10 = priceHH_10 and oscLH_10 and phFound_10
plot(phFound_10 ? osc[lbR] : na, offset=-lbR, title='常规看跌(左看10)', linewidth=2, color=bearCond_10 ? color.new(color.orange, 0) : na, style=plot.style_circles)

修改说明:

  1. 把原有lbL拆分为lbL_5和lbL_10,分别对应左看5根和10根K线的参数
  2. 为左看10的逻辑新增独立变量(比如plFound_10、bullCond_10),避免和原有逻辑变量冲突
  3. 新增的信号用不同颜色区分(比如左看10的看涨用 lime 绿,看跌用 orange 橙),方便在图表上识别
  4. 保留原有工具函数_inRange,两套逻辑共用即可,无需重复定义

内容的提问来源于stack exchange,提问作者Exlusivité Web

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:10:48