Pine Script v5调用lowest、highest函数提示找不到函数报错如何解决
Pine Script V5适配lowest/highest函数报错解决方案
报错原因
Pine Script从V4版本开始对内置函数做了命名空间归类,所有技术分析类函数统一归属到ta命名空间下,V5版本完全取消了对无ta.前缀的lowest、highest旧调用规则的兼容,因此从V3迁移的代码直接调用这两个函数会触发找不到函数的报错。
修复方案
对现有代码做两处调整即可正常运行:
- 将所有
lowest()函数调用替换为ta.lowest() - 将所有
highest()函数调用替换为ta.highest()
如果需要完全符合V5的语法规范,也可以将原来的input()替换为明确类型的input.int(),原写法在V5中也可兼容运行,不是强制修改项。
修复后代码示例
//@version=5 indicator("Darvas Box V5", overlay=true) boxp = input(5, "BOX LENGTH") // 原写法可正常运行,也可替换为input.int(5, "BOX LENGTH") LL = ta.lowest(low, boxp) k1 = ta.highest(high, boxp) k2 = ta.highest(high, boxp - 1) k3 = ta.highest(high, boxp - 2)
补充说明
V5版本中其他常用的技术分析类函数(如sma、ema、rsi、macd等)也都需要添加ta.前缀调用,避免同类报错。
内容的提问来源于stack exchange,提问作者user17212549
相关产品推荐
相关产品推荐

