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

Pine Editor绘制固定间隔重复水平线的技术求助

Pine Editor 重复绘制线条与填充区域解决方案

要实现重复绘制指定间隔的线条和填充区域,核心是用循环语句替代手动逐个创建hline对象,这样能高效生成所有需要的水平元素。以下是满足需求的完整代码:

//@version=5
indicator("重复水平区间", overlay=true)

// 基础参数设置
baseLevel = 11600          // 起始基准线
interval = 200             // 重复间隔
greenOffset = -50          // 绿色区域相对基准线的偏移
greenRange = 10            // 绿色区域高度(11550-11540=10)
redOffset = 30             // 红色区域相对基准线的偏移
redRange = 10              // 红色区域高度(11640-11630=10)

// 获取当前图表可见区间的高低价,动态计算循环范围
chartHigh = ta.highest(high, barssince(barstate.islast))
chartLow = ta.lowest(low, barssince(barstate.islast))
upCount = ceil((chartHigh - baseLevel) / interval)
downCount = ceil((baseLevel - chartLow) / interval)

// 向上循环生成线条与红色填充
for i = 0 to upCount
    currentLevel = baseLevel + i * interval
    hline(currentLevel, "基准线 " + str.tostring(currentLevel), color=color.yellow, linestyle=hline.style_dotted)
    
    redTop = currentLevel + redOffset + redRange
    redBottom = currentLevel + redOffset
    hRedTop = hline(redTop, display=display.data_window)
    hRedBottom = hline(redBottom, display=display.data_window)
    fill(hRedTop, hRedBottom, color=color.new(color.red, 90))

// 向下循环生成线条与绿色填充
for i = 1 to downCount
    currentLevel = baseLevel - i * interval
    hline(currentLevel, "基准线 " + str.tostring(currentLevel), color=color.yellow, linestyle=hline.style_dotted)
    
    greenTop = currentLevel + greenOffset + greenRange
    greenBottom = currentLevel + greenOffset
    hGreenTop = hline(greenTop, display=display.data_window)
    hGreenBottom = hline(greenBottom, display=display.data_window)
    fill(hGreenTop, hGreenBottom, color=color.new(color.green, 90))

plot(close)

关键逻辑说明

  • 参数化配置:把基准值、间隔、偏移量等设为变量,后续调整时无需逐行修改代码。
  • 动态范围适配:通过获取图表当前可见区间的高低价,自动计算需要生成的线条数量,确保覆盖视图内所有区域;也可直接将upCount、downCount设为固定数值(比如upCount=5)来控制生成次数。
  • 循环批量生成:分别向上/向下循环,每次以200点为间隔生成黄色虚线,同步计算对应填充区域的上下边界并创建填充效果。
  • 简化图表显示:填充区域的边界线通过display=display.data_window设置为仅在数据窗口显示,避免图表线条过多杂乱。

版本兼容提示

代码基于Pine Script v5编写,若使用v4版本,需调整语法:将indicator改为study,循环写法改为for i = 0 to upCount by 1格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:15:29