如何在Pine Script中延长枢轴高低支撑阻力线?
如何让Pine Script中的枢轴支撑阻力线向右延伸?
你当前的Pine Script代码可识别枢轴高低点并绘制支撑/阻力线,但线条仅在枢轴点附近显示,无法向右延伸至最新K线。以下是修改方案:
修改后的完整代码
//@version=5 indicator(title='s/r', shorttitle='s/r', overlay=true, max_bars_back=1000) leftBars = input(10, title='Left Bars ') rightBars = input(10, title='Right Bars') volumeThresh = input(20, title='Volume Threshold') // 识别枢轴高低点 pivotHighVal = ta.pivothigh(leftBars, rightBars) pivotLowVal = ta.pivotlow(leftBars, rightBars) // 用var变量保存最新的支撑/阻力值,实现向右延伸 var float currentResistance = na var float currentSupport = na // 更新支撑/阻力值:当新的枢轴点出现时替换旧值 currentResistance := not na(pivotHighVal) ? pivotHighVal : currentResistance currentSupport := not na(pivotLowVal) ? pivotLowVal : currentSupport // 绘制支撑/阻力线,去掉offset确保线条延伸至当前K线 plot(currentResistance, color=color.red, linewidth=1, title='Resistance') plot(currentSupport, color=color.green, linewidth=1, title='Support')
关键修改说明
- 使用
var变量持久化值:var声明的变量会在脚本运行期间保留值,不会每根K线重置。当新的枢轴高低点出现时更新变量值,否则保持原有值,这样线条就能持续显示到最新K线。 - 移除
offset参数:原代码中的offset=-(rightBars + 1)会让线条向左偏移,导致无法延伸到右侧最新K线,移除后线条会正常跟随K线序列。 - 优化枢轴值的更新逻辑:直接判断枢轴点是否有效,有效时更新支撑/阻力值,避免原代码中
fixnan和[1]带来的延迟问题。
内容的提问来源于stack exchange,提问作者aiman
相关产品推荐
相关产品推荐

