Pine Script如何实现浮点数累加 运行返回NaN问题求助
Pine Script浮点数累加输出NaN问题解决方案
问题根源
- 首K历史值缺失:脚本运行在图表第一根K线时,
close[1]不存在,返回na值,参与计算后得到的delta为na,第一次累加就会将counter置为na,后续所有计算结果都会保持na,也就是你看到的NaN。 - 版本声明语法错误:你代码首行的
version = 4不符合Pine Script语法规范,正确的版本声明应为//@version=4,语法错误也可能导致变量计算异常。 - 参数配置错误:原代码
study中写的max_lines_count是控制画线数量的参数,你使用label.new创建标签,应该用max_labels_count参数控制标签上限,避免数量超出后无法正常生成标签。
修正后代码
//@version=4 study("test", "test", true, max_labels_count=500) float visota = 1.2 var float counter = 0.0 var float delta = 0.0 var float vector = 0.0 // 用nz()处理历史值缺失问题,缺省值设为0 delta = round(nz(close - close[1], 0), 1) if (barstate.isconfirmed) counter := counter + delta // 指定tostring的小数位数,保证输出格式统一 label.new(bar_index, low - 4, tostring(counter, '#.0'))
内容的提问来源于stack exchange,提问作者Grespoyer
相关产品推荐
相关产品推荐

