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

如何用TradingView Pine Script在单窗口同时获取1H/2H/4H周期DI+、DI-、ADX值

实现多周期ADX/DI指标的Pine Script修改方案

核心修改逻辑

  • 用Pine V5内置的request.security()函数跨周期获取1H/2H/4H三个时间维度的指标数据
  • 调整原有ADX函数的返回值,同时输出DI+、DI-、ADX三个指标结果
  • 给不同周期的指标配置不同配色和命名,避免混淆,脚本独立在单独面板渲染,不会覆盖原有周期的任何指标

完整可运行代码

//@version=5
indicator("多周期ADX/DI(1H/2H/4H)", shorttitle="Multi TF ADX", precision=2, overlay=false)

// 通用参数设置
adx_smooth = input.int(14, title="ADX平滑周期", minval=1)
di_length = input.int(14, title="DI计算周期", minval=1)

// 核心指标计算函数
calc_dirmov(len) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truerange = ta.rma(ta.tr, len)
    plus = ta.fixnan(100 * ta.rma(plusDM, len) / truerange)
    minus = ta.fixnan(100 * ta.rma(minusDM, len) / truerange)
    [plus, minus]

calc_adx(di_len, adx_smooth_len) =>
    [plus, minus] = calc_dirmov(di_len)
    sum = plus + minus
    adx_val = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adx_smooth_len)
    [plus, minus, adx_val]

// 跨周期获取三个时间维度的指标数据
[di_plus_1h, di_minus_1h, adx_1h] = request.security(syminfo.tickerid, "60", calc_adx(di_length, adx_smooth))
[di_plus_2h, di_minus_2h, adx_2h] = request.security(syminfo.tickerid, "120", calc_adx(di_length, adx_smooth))
[di_plus_4h, di_minus_4h, adx_4h] = request.security(syminfo.tickerid, "240", calc_adx(di_length, adx_smooth))

// 绘制1H周期指标
plot(di_plus_1h, color=color.new(color.red, 0), title="1H DI+", linewidth=1)
plot(di_minus_1h, color=color.new(color.red, 30), title="1H DI-", linewidth=1)
plot(adx_1h, color=color.new(color.red, 60), title="1H ADX", linewidth=2)

// 绘制2H周期指标
plot(di_plus_2h, color=color.new(color.blue, 0), title="2H DI+", linewidth=1)
plot(di_minus_2h, color=color.new(color.blue, 30), title="2H DI-", linewidth=1)
plot(adx_2h, color=color.new(color.blue, 60), title="2H ADX", linewidth=2)

// 绘制4H周期指标
plot(di_plus_4h, color=color.new(color.green, 0), title="4H DI+", linewidth=1)
plot(di_minus_4h, color=color.new(color.green, 30), title="4H DI-", linewidth=1)
plot(adx_4h, color=color.new(color.green, 60), title="4H ADX", linewidth=2)

使用说明

  • 脚本默认在独立的指标面板渲染,和你主图/其他面板的原生ADX指标互不影响,不会覆盖原有数据
  • 同一色系的三条线对应同一个周期:红色系是1H、蓝色系是2H、绿色系是4H,同色系中最亮的是DI+、中等亮度是DI-、最暗的是ADX
  • 你可以直接在参数设置里修改ADX平滑周期和DI计算周期,三个时间维度的参数会同步生效

内容的提问来源于stack exchange,提问作者magarciaro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:45:05