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

如何在Pine Script中绘制带文本的非射线折线并右移文本

Pine Script 实现带右偏移文本的折线(非射线)

之前你用timenow + math.round(ta.change(time))偏移文本出现异常,问题出在timenow是实时流动的当前时间,不是基于K线的固定时间点,导致文本位置会随着时间一直乱跑,没法固定在折线旁边。

给你一套靠谱的实现方案:

核心思路

  1. 用line.new()绘制折线,通过extend=extend.none关闭射线延伸效果,确保是纯折线
  2. 基于K线周期的固定时长计算偏移,让文本稳定固定在折线终点的右侧

完整示例代码

//@version=5
indicator("带右偏移文本的折线", overlay=true)

// 示例:连接当前K线和前一根K线的高点
start_time = time[1]
start_price = high[1]
end_time = time
end_price = high

// 绘制折线(关闭延伸,就是纯折线不是射线)
connect_line = line.new(
    x1=start_time, y1=start_price,
    x2=end_time, y2=end_price,
    extend=extend.none,
    color=color.orange, width=2
)

// 计算当前周期的毫秒时长(通用所有时间框架)
period_ms = timeframe.multiplier * timeframe.milliseconds
// 文本X位置:折线终点时间 + 一个周期的时长(向右偏移一根K线的位置)
label_x = end_time + period_ms

// 绘制右偏移的文本
label.new(
    x=label_x, y=end_price,
    text="高点连线",
    color=color.orange, textcolor=color.white,
    style=label.style_label_left, // 让文本左对齐,紧贴偏移后的位置
    size=size.small
)

关键细节说明

  • 不用timenow,改用end_time + period_ms:end_time是当前K线的时间,period_ms是当前周期的固定时长(比如日线就是86400000毫秒),这样文本会稳稳固定在当前K线右侧一根K线的位置,不会乱跑
  • extend=extend.none:必须加这个参数,否则line.new()默认会变成射线,无限延伸
  • label.style_label_left:设置文本左对齐,刚好贴合折线终点的右侧,排版更美观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:40:32