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

如何用Pine Script在K线图右上角显示跨周期前一日ATR及30%ATR数值

Pine Script 实现方案

你的需求完全可以实现,核心是通过Pine Script内置的request.security()函数调用独立的日线周期ATR数据,不受当前图表的时间周期切换影响。

实现思路

  • 调用日线周期的ATR指标,固定绑定前一交易日已收盘的ATR数值,避免当日盘中K线波动导致数值变动
  • 计算该日线ATR的30%对应数值
  • 用固定标签将两个数值展示在K线图右上角位置

完整可运行代码

//@version=5
indicator("固定日线ATR展示", overlay=true)

// 自定义ATR计算周期,默认14,可按需修改
atr_length = input.int(14, title="ATR计算周期", minval=1)
// 调用日线级别已收盘的前一根K线ATR数据
daily_atr = request.security(syminfo.tickerid, "D", ta.atr(atr_length)[1])
// 计算30%ATR数值
atr_30per = daily_atr * 0.3

// 固定在右上角生成展示标签
var label atr_show_label = label.new(bar_index, high, "", style=label.style_label_left_up, color=color.new(color.gray, 90), textcolor=color.white, size=size.small)
if barstate.islast
    // 标签位置绑定最近20根K线的最高点,避免被K线遮挡
    label.set_xy(atr_show_label, bar_index, ta.highest(high, 20))
    label.set_text(atr_show_label, "前收盘日线ATR: " + str.tostring(daily_atr, "0.000") + "\nATR 30%值: " + str.tostring(atr_30per, "0.000"))

参数调整说明

  • 如需修改ATR的计算周期,直接修改指标面板里的「ATR计算周期」参数即可
  • 如需调整展示的小数位数,可修改str.tostring方法里的0.000格式,比如保留2位小数就改为0.00
  • 如需修改标签颜色、字体大小,调整label.new里的对应参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:15:04