历史引用
在 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];
