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

Pine Script v5:如何用堆叠圆形替代直方图柱形?

用堆叠圆形实现Pine Script v5自定义直方图

核心思路

因为你的指标是独立面板(overlay=false),无法依赖价格K线的yloc.abovebar等定位方式,需要基于指标自身的数值轴来定位每个圆形。放弃换行文本的方式,改为循环创建单个圆形label,每个对应数值轴上的一个层级,堆叠效果更精准。

完整代码示例

//@version=5
indicator("堆叠圆形直方图", overlay=false, shorttitle="Circle Histo")

// 替换成你的实际指标数值(示例用1-5的随机整数模拟)
prev_sum_index = ta.round(ta.range(1, 6))

// 数组存储label ID,清理旧label避免内存泄漏
var label[] circleLabels = array.new_label()

// 删除上一根K的所有圆形label
for i = 0 to array.size(circleLabels) - 1
    label.delete(array.get(circleLabels, i))
array.clear(circleLabels)

// 条件判断与颜色设置(替换成你的实际条件)
greenCond = prev_sum_index > 2
redCond = prev_sum_index <= 2
label_color = greenCond ? color.new(color.green, 0) : redCond ? color.new(color.red, 30) : color.new(color.white, 50)

// 循环创建堆叠圆形
for i = 1 to prev_sum_index
    // y轴位置用循环变量i,对应数值层级实现垂直堆叠
    circle_label = label.new(
        x=bar_index, 
        y=i, 
        text="◯", 
        textcolor=label_color, 
        style=label.style_none, 
        size=size.normal, 
        align=align.center
    )
    array.push(circleLabels, circle_label)

// 自动调整y轴范围,避免圆形超出视图
var float max_val = 0
max_val := ta.max(max_val, prev_sum_index)
indicator.set_y_range(0, max_val + 1)

关键细节说明

  1. label内存管理:用数组存储每个label的ID,每次循环前删除旧label,防止图表卡顿和内存溢出。
  2. 精准定位:独立面板的y轴是指标自身的数值范围,y=i直接对应数值i的位置,数值为N就创建N个圆形,垂直堆叠。
  3. 颜色与透明度:用color.new()设置颜色透明度,第三个参数为透明度值(0=完全不透明,100=完全透明)。
  4. 正负数值适配:如果指标包含负数,调整y轴位置并适配颜色逻辑即可:
    // 适配正负数值的代码片段
    abs_val = math.abs(prev_sum_index)
    direction = prev_sum_index > 0 ? 1 : -1
    for i = 1 to abs_val
        y_pos = i * direction
        label_color = direction > 0 ? color.green : color.red
        circle_label = label.new(bar_index, y_pos, text="◯", textcolor=label_color, style=label.style_none, size=size.normal, align=align.center)
        array.push(circleLabels, circle_label)
    // 调整y轴范围适配正负
    indicator.set_y_range(-max_val -1, max_val +1)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:12:36