Skip to content

历史引用

在 Navi 中,每个表达式在每根 K 线上执行一次,产生一个时间序列值。[] 运算符用于访问表达式在前几根 K 线上产生的值——不仅限于内置变量,任何表达式都可以使用:

navi
let previousClose = close[1];              // 前一根 K 线的收盘价
let twoBarsAgo    = high[2];               // 前两根 K 线的最高价

let prevSma = ta.sma(close, 14)[1];        // 前一根 K 线的 SMA 值
let prevEma = ta.ema(close, 10)[3];        // 前三根 K 线的 EMA 值

let prevRange = (high - low)[1];           // 前一根 K 线的振幅

let myValue = close * volume;
let prevMyValue = myValue[1];              // myValue 在前一根 K 线上的值

核心概念: ta.sma(close, 14)[1] 不会重新计算 SMA——它返回的是脚本在前一根 K 线上运行时已经计算好的值。

在历史数据不足的早期 K 线上,结果为 na。偏移量可以是一个序列表达式:

navi
let lookback: int = input.int(5, "Lookback");
let pastClose = close[lookback];

下一步

基于 MIT 许可证发布。