TradingView Pine Script如何获取带偏移参数的EMA指标数值
TradingView Pine脚本获取带偏移参数的EMA数值方法
在Pine脚本中,plot()函数的offset参数仅控制指标线绘制时的左右偏移位置,不会修改指标本身的计算结果,你示例中plot(ema(close, 15), offset=-5)只是将当前K线计算出的15周期EMA值,展示在过去第5根K线的位置,并非计算的是过去第5根K线的EMA。
如果要直接获取偏移对应的EMA数值,直接使用Pine的历史值引用语法即可:
- 对于偏移量为-5(即对应过去第5根K线的EMA值),直接在EMA计算表达式后加
[5]即可,写法如下:
// 先计算基础EMA ema15 = ta.ema(close, 15) // 获取过去第5根K线的15周期EMA,等价于offset=-5展示的数值 ema15_offset_minus5 = ema15[5]
验证示例完整代码
你可以运行以下代码验证,两条绘制的线会完全重合:
//@version=5 indicator("偏移EMA验证", overlay=true) ema15 = ta.ema(close, 15) // 方式1:通过plot的offset偏移展示 plot(ema15, color=color.new(color.blue, 0), offset=-5, title="offset偏移绘制") // 方式2:直接取历史值绘制 plot(ema15[5], color=color.new(color.red, 0), title="历史值直接获取", linewidth=2, style=plot.style_cross)
注意事项
- Pine的历史值引用语法
[n]中,n为正整数时代表取前n根K线的对应值,和plot函数offset参数填-n的展示效果完全一致 - 如果
offset参数填正数(往未来K线方向偏移),无法提前获取对应数值,因为未来K线还未生成,这类偏移仅作展示用途
内容的提问来源于stack exchange,提问作者Janar Rumm
相关产品推荐
相关产品推荐

