如何修改现有Pine Script脚本以打印昨日日线级别ATR数值
已修改为输出昨日日线ATR的完整脚本
//@version=4 //@author=LucF, for PineCoders // Indicator needs to be on "no scale". study("", "昨日日线ATR", true, scale = scale.none) atrLength = input(5) barsRight = input(5) // 适配不同品种的数值精度,加密货币可改为"#.########" numberFormat = input("#.####") // 绘制不可见字符预留标签显示空间 plotchar(10e10, "", "") // 调用日线级别前一根K线的ATR值,无重绘 dAtr = security(syminfo.tickerid, "D", atr(atrLength)[1], lookahead = barmerge.lookahead_off) // 标签生成函数,显示在图表右侧预留位置 f_print(_txt) => var _lbl = label(na), label.delete(_lbl), _lbl := label.new(time + (time-time[1]) * barsRight, 10e10, _txt, xloc.bar_time, yloc.price, size = size.normal) // 仅在最后一根K线运行代码提升效率 if barstate.islast f_print("昨日ATR: " + tostring(dAtr, numberFormat))
修改说明
- 核心调整了security函数的取值逻辑:将原代码中获取当日实时ATR的
atr(atrLength)改为atr(atrLength)[1],对应取日线周期下已完成收盘的上一根K线ATR,也就是昨日的日线ATR数值 - 同步将
lookahead = barmerge.lookahead_on改为lookahead = barmerge.lookahead_off,避免指标出现重绘问题,数值不会随当日盘中行情变动 - 额外在打印文本前增加了“昨日ATR:”前缀方便识别,你可以根据需求自行修改或删除
内容的提问来源于stack exchange,提问作者Fabrim
相关产品推荐
相关产品推荐

