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

如何将K线实体中心交叉标记改为递增数字(从500根K线前计数)

修改后的Pine Script代码实现

要实现从当前K线往前第500根开始标记递增数字,核心是用var定义持久化计数器,结合bar_index定位起始位置,再用label绘制数字标记替代原交叉样式。以下是完整代码:

//@version=5
indicator("Numbers in body center", overlay=true)

// 定义持久化计数器,初始值为0
var int counter = 0
// 计算K线实体中心价格
float avg_price = ta.close != na and ta.open != na ? (ta.close + ta.open) / 2 : na

// 定位起始K线:当前K线往前第500根
start_bar = bar_index == bar_index[500]

// 从起始位置开始递增计数
if start_bar
    counter := 1
else if bar_index > bar_index[500] and not na(avg_price)
    counter += 1

// 在有效位置绘制数字标签
if bar_index >= bar_index[500] and not na(avg_price)
    label.new(bar_index, avg_price, str.tostring(counter), 
              color=ta.close > ta.open ? color.lime : color.purple, 
              textcolor=color.white, 
              style=label.style_label_down,
              size=size.small)

关键逻辑解析

  • 持久化计数器:var关键字让计数器在K线刷新时不会重置,保证计数连续性。
  • 起始位置判断:bar_index[500]获取当前K线往前第500根的索引,当当前K线索引等于该值时,就是计数起始点。
  • 计数规则:起始点设为1,之后每根有有效实体价格的K线,计数器自动加1。
  • 标签绘制:用label.new()在K线实体中心显示数字,颜色与原交叉标记的涨跌色保持一致,标签样式向下避免遮挡K线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:42:14