请求修改Pine Script枢轴点代码:在枢轴收盘价绘制水平线并删旧线
Pine Script 枢轴点水平线实现方案
核心逻辑
- 用变量持久存储之前绘制的线条对象,每次检测到新枢轴点时,先删除旧线条再绘制新线条
- 精准定位枢轴点对应的K线,获取该K线的收盘价作为水平线的价格位置
修改后的代码片段
//@version=5 indicator("枢轴点水平线", overlay=true) // 替换成你实际使用的枢轴点检测逻辑,示例采用2周期高低点枢轴判断 pivotHigh = ta.pivothigh(2, 2) pivotLow = ta.pivotlow(2, 2) isNewPivot = pivotHigh or pivotLow // 用var变量保留历史线条对象,避免刷新时丢失 var line prevLine = na // 触发新枢轴点时执行操作 if (isNewPivot) // 删除之前的旧线条 if not na(prevLine) line.delete(prevLine) // 计算当前K线到枢轴点K线的偏移量,获取对应收盘价 pivotBarOffset = ta.barssince(isNewPivot) pivotClosePrice = close[pivotBarOffset] // 绘制水平线并向右延伸,匹配示例图效果 prevLine := line.new( x1 = bar_index - pivotBarOffset, y1 = pivotClosePrice, x2 = bar_index, y2 = pivotClosePrice, color = color.blue, width = 2, extend = extend.right )
关键细节说明
- 线条管理:
var声明的prevLine会在脚本运行全程保留线条对象,每次新枢轴触发时先删除旧线,确保界面始终只显示最新的水平线 - 收盘价定位:通过
ta.barssince(isNewPivot)获取枢轴点与当前K线的间隔数,用close[偏移量]精准拿到枢轴点对应K线的收盘价 - 延伸效果:设置
extend = extend.right让水平线自动向右覆盖后续K线,和示例图的蓝色线条表现一致
内容的提问来源于stack exchange,提问作者delhau adrien
相关产品推荐
相关产品推荐

