如何用Pine Script实现当前收盘价减10根K线后SMA(20)的指标计算
实现方案
完全可以通过Pine Script实现该需求,你需要的逻辑可以通过Pine Script的序列偏移语法直接实现,最后10根K线会自动返回空值,不会生成无效数据。
可用代码示例
//@version=5 indicator("当前收盘价 - 偏移10期SMA20", overlay = false, shorttitle = "Close - SMA20(offset10)") // 计算基础20周期SMA sma_20 = ta.sma(close, 20) // 取当前K线往后10根的SMA20值,对应你要的offset=10参数 future_sma20 = sma_20[10] // 计算目标差值 index_value = close - future_sma20 // 绘制指标,na值会自动跳过不显示 plot(index_value, title = "指标值", color = color.new(color.blue, 0), linewidth = 2) // 可选:绘制0轴参考线 hline(0, title = "零轴", color = color.gray, linestyle = hline.style_dashed)
逻辑说明
- 代码中的
sma_20[10]就是Pine Script中实现向右偏移10根K线取值的语法,和你提到的offset=10效果完全一致 - 末尾10根K线因为不存在后续10根的SMA20数据,
index_value会自动返回na值,绘图时会自动留空,不会生成错误的无效数值 - 该指标仅适用于历史数据分析,不可用于实盘交易信号生成,避免用到未来数据导致回测失真
如果你需要调整SMA周期或者偏移周期,直接修改代码中
sma_20的第二个参数,或者future_sma20偏移的数值即可。
内容的提问来源于stack exchange,提问作者ALEUNG
相关产品推荐
相关产品推荐

