You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:49:55