TradingView Pine Script v6中调用ta.dmi函数报错求助
解决Pine Script v6中ta.dmi的调用错误
错误原因
你写的代码把参数顺序搞反了。Pine Script v6里ta.dmi()的第一个参数要求是整数类型的DI周期长度,但你传了close(价格序列,属于float类型),这就触发了类型不匹配的错误。
正确用法
ta.dmi()的标准参数顺序是:
- DI的计算周期(必填,整数)
- ADX的平滑周期(必填,整数)
- 价格数据源(可选,默认是
hlc3,也可以指定close、hl2等)
它会返回三个值的数组:[diPlus, diMinus, adx],对应+DI、-DI、ADX指标值。
修正后的代码
//@version=6 indicator("ADX via DMI", overlay=false) // 正确调用ta.dmi:先传周期参数,再传价格源 [diPlus, diMinus, adx] = ta.dmi(14, 14, close) // 绘制指标线 plot(diPlus, color=color.green, title="+DI") plot(diMinus, color=color.red, title="-DI") plot(adx, color=color.blue, title="ADX")
补充说明
- 如果不想指定价格源,直接用默认的
hlc3,可以简化写成[diPlus, diMinus, adx] = ta.dmi(14, 14) - 原
ta.adx()在v6中已被移除,官方推荐用ta.dmi()替代,因为它能同时获取+DI、-DI和ADX三个核心指标值
内容的提问来源于stack exchange,提问作者Nyle Samuels
相关产品推荐
相关产品推荐

