在 Pine Script 中,nz 是一个非常有用的函数,用来处理空值(na),即 "Not Available" 的情况。nz 函数的作用是当一个变量或表达式的值为 na 时,返回一个指定的默认值(通常是 0,但也可以指定其他值),避免因为空值导致计算错误或图形无法绘制。
一、语法nz(source, replacement)
source:要检查的变量或表达式。
replacement (可选):当 source 为 na 时返回的替代值。如果不指定,默认替代值为 0。
二、主要作用
处理空值(na):在计算或绘图时,数据源可能包含 na 值,这会导致脚本无法正常运行或产生错误。nz 可以替换 na 值为指定的默认值,确保脚本正常执行。
防止计算错误:当某些函数或计算产生 na 时,使用 nz 可以避免在继续计算时出现异常。
在图表绘制时避免空数据点:避免绘图中断,确保图表上显示连续的线条。
三、示例
3.1 简单使用 nz
在这个例子中:
delta = close - close[1] 计算当前 close 和前一根K线 close 的差值。如果是第一根K线,close[1] 是 na,因此 delta 也是 na。
使用 nz(delta, 0) 将 na 替换为 0,以确保图表上的差值不会断开。
3.2 使用默认的 nz
3.3 处理条件判断 nz
在这个例子中,price_above_30000 只有当 close > 30000 时才会有值,否则它是 na。nz(price_above_30000 , 0) 确保当结果为 na 时,图表仍然会绘制 0 而不会中断。
四、nz 的典型应用场景
处理历史数据中的缺失值:在进行指标计算时,前几根K线的数据可能尚未准备好(例如使用历史索引 close[1]),这时 nz 可以有效防止空值导致的计算失败。
绘制平滑连续的图表:当某些条件下数据不存在时,nz 可以用来代替 na,避免图表显示断开。
处理动态数据:如果某个值根据条件变为 na,通过 nz 可以将其转换为一个更合适的替代值。
五、总结
nz 的作用是用来防止 na(空值)干扰你的计算和绘图,它会把 na 值替换为你指定的值(默认是 0)。
通过使用 nz,可以保证脚本在处理可能含有空值的数据时依然稳定运行,且输出的图表更加连贯。
在编写 Pine Script 时,nz 是处理缺失数据和空值时不可或缺的工具。