1
0
Derivar 0
MQL4/MQL5 port of BeikabuOyaji's "ADX and DI" from TradingView (43k+ users). Displays +DI, −DI and ADX in one subwindow. Uses Wilder smoothing for DI lines and simple moving average for ADX — differs from MetaTrader's built-in iADX and iADXWilder.
Procurar um ficheiro
2026-02-21 21:15:26 -06:00
ADX_and_DI.mq4 Initial commit for ADX-and-DI 2026-02-21 21:15:26 -06:00
ADX_and_DI.mq5 Initial commit for ADX-and-DI 2026-02-21 21:15:26 -06:00
README.md Initial commit for ADX-and-DI 2026-02-21 21:15:26 -06:00

ADX and DI


🇺🇸 English

ADX and DI v1.00

Faithful MQL4/MQL5 port of BeikabuOyaji's "ADX and DI" indicator from TradingView, one of the most widely used ADX implementations on the platform with over 43,000 users. It displays +DI, −DI, and ADX in a single subwindow, using a hybrid smoothing approach — Wilder's method for the Directional Indexes and a simple moving average for the ADX line.

How it works

The indicator implements Welles Wilder's Directional Movement System with one notable variation in the final ADX calculation:

  • True Range, +DM, −DM are calculated per Wilder's original definitions with mutual exclusivity between directional movements
  • Smoothing of TR, +DM, −DM uses Wilder's running sum method: S(i) = S(i−1) − S(i−1)/N + value
  • +DI and −DI are derived as the ratio of smoothed directional movement to smoothed True Range, expressed as percentages
  • DX measures the normalized difference between +DI and −DI
  • ADX is computed as a simple moving average (SMA) of DX over the selected period — not Wilder's SMMA as in the classical formulation

This SMA-based ADX responds faster to trend changes than the traditional Wilder/SMMA version, crossing threshold levels earlier in both directions.

Visual features

  • Green line: +DI (bullish directional strength)
  • Red line: −DI (bearish directional strength)
  • Navy line (thicker): ADX (trend strength regardless of direction)
  • Horizontal level: configurable threshold reference line (default 20)

Parameters

Parameter Default Description
Period 14 Smoothing period for Wilder's calculation and SMA window for ADX
Threshold 20 Horizontal reference level drawn on the indicator panel

Key characteristics

  • Produces values that differ from MetaTrader's built-in iADX (EMA-based) and iADXWilder (SMMA-based) due to the hybrid SMA approach
  • Does not repaint: all values are fixed once the bar closes
  • Available for both MetaTrader 4 and MetaTrader 5
  • Works on all symbols and timeframes; best suited for H1, H4, and Daily charts
  • Initialization starts from zero (replicating Pine Script's nz() behavior); values converge fully after approximately 100–150 bars

Original source

ADX and DI by BeikabuOyaji — published February 16, 2015, updated to Pine Script v4 on January 28, 2021. Licensed under Mozilla Public License 2.0.


🇪🇸 Español

ADX and DI v1.00

Conversión fiel a MQL4/MQL5 del indicador "ADX and DI" de BeikabuOyaji en TradingView, una de las implementaciones de ADX más utilizadas en esa plataforma con más de 43,000 usuarios. Muestra +DI, −DI y ADX en una sola subventana, usando un enfoque híbrido de suavizado: método de Wilder para los Índices Direccionales y media móvil simple para la línea ADX.

Cómo funciona

El indicador implementa el Sistema de Movimiento Direccional de Welles Wilder con una variación notable en el cálculo final del ADX:

  • True Range, +DM, −DM se calculan según las definiciones originales de Wilder con exclusividad mutua entre movimientos direccionales
  • El suavizado de TR, +DM, −DM utiliza la suma acumulada de Wilder: S(i) = S(i−1) − S(i−1)/N + valor
  • +DI y −DI se derivan como la proporción del movimiento direccional suavizado respecto al True Range suavizado, expresados como porcentajes
  • DX mide la diferencia normalizada entre +DI y −DI
  • ADX se calcula como una media móvil simple (SMA) de DX sobre el período seleccionado, no con SMMA de Wilder como en la formulación clásica

Este ADX basado en SMA responde más rápido a los cambios de tendencia que la versión tradicional Wilder/SMMA, cruzando los umbrales antes en ambas direcciones.

Elementos visuales

  • Línea verde: +DI (fuerza direccional alcista)
  • Línea roja: −DI (fuerza direccional bajista)
  • Línea azul marino (más gruesa): ADX (fuerza de la tendencia sin importar la dirección)
  • Nivel horizontal: línea de referencia configurable (por defecto 20)

Parámetros

Parámetro Valor por defecto Descripción
Período 14 Período de suavizado para el cálculo de Wilder y ventana SMA para ADX
Umbral 20 Nivel horizontal de referencia dibujado en el panel del indicador

Características principales

  • Produce valores diferentes a los indicadores integrados iADX (basado en EMA) e iADXWilder (basado en SMMA) de MetaTrader, debido al enfoque híbrido con SMA
  • No repinta: todos los valores quedan fijos una vez cierra la barra
  • Disponible para MetaTrader 4 y MetaTrader 5
  • Funciona en todos los símbolos y marcos temporales; más adecuado para H1, H4 y gráficos diarios
  • La inicialización parte de cero (replicando el comportamiento de nz() en Pine Script); los valores convergen completamente después de aproximadamente 100–150 barras

Fuente original

ADX and DI por BeikabuOyaji — publicado el 16 de febrero de 2015, actualizado a Pine Script v4 el 28 de enero de 2021. Licenciado bajo Mozilla Public License 2.0.


🇷🇺 Русский

ADX and DI v1.00

Точный порт индикатора «ADX and DI» от BeikabuOyaji с платформы TradingView для MQL4/MQL5. Это одна из наиболее востребованных реализаций ADX на TradingView — более 43 000 пользователей. Индикатор отображает +DI, −DI и ADX в одном подокне, используя гибридный метод сглаживания: метод Уайлдера для индексов направленности и простую скользящую среднюю для линии ADX.

Как работает

Индикатор реализует систему направленного движения Уэллса Уайлдера с одним существенным отличием в финальном расчёте ADX:

  • True Range, +DM, −DM рассчитываются по оригинальным определениям Уайлдера с взаимоисключающим правилом для направленных движений
  • Сглаживание TR, +DM, −DM выполняется методом бегущей суммы Уайлдера: S(i) = S(i−1) − S(i−1)/N + значение
  • +DI и −DI вычисляются как отношение сглажённого направленного движения к сглажённому True Range в процентах
  • DX измеряет нормализованную разность между +DI и −DI
  • ADX рассчитывается как простая скользящая средняя (SMA) от DX за выбранный период, а не SMMA Уайлдера, как в классической формуле

ADX на основе SMA быстрее реагирует на изменения тренда, пересекая пороговые уровни раньше в обоих направлениях.

Визуальные элементы

  • Зелёная линия: +DI (сила направленности вверх)
  • Красная линия: −DI (сила направленности вниз)
  • Тёмно-синяя линия (утолщённая): ADX (сила тренда независимо от направления)
  • Горизонтальный уровень: настраиваемая линия-ориентир (по умолчанию 20)

Параметры

Параметр По умолчанию Описание
Период 14 Период сглаживания для расчёта Уайлдера и окно SMA для ADX
Порог 20 Горизонтальный уровень-ориентир на панели индикатора

Основные особенности

  • Даёт значения, отличные от встроенных индикаторов iADX (на основе EMA) и iADXWilder (на основе SMMA) в MetaTrader из-за гибридного подхода с SMA
  • Не перерисовывает: все значения фиксируются после закрытия бара
  • Доступен для MetaTrader 4 и MetaTrader 5
  • Работает на всех символах и таймфреймах; лучше всего подходит для H1, H4 и дневных графиков
  • Инициализация начинается с нуля (воспроизводя поведение nz() в Pine Script); значения полностью стабилизируются примерно через 100–150 баров

Оригинальный источник

ADX and DI от BeikabuOyaji — опубликован 16 февраля 2015 года, обновлён до Pine Script v4 28 января 2021 года. Лицензия: Mozilla Public License 2.0.


🇯🇵 日本語

ADX and DI v1.00

TradingViewで43,000人以上のユーザーに利用されているBeikabuOyajiの「ADX and DI」インジケーターをMQL4/MQL5に忠実に移植したものです。+DI、−DI、ADXを一つのサブウィンドウに表示し、方向性指数にはワイルダーの平滑化、ADXラインには単純移動平均というハイブリッドな平滑化手法を使用しています。

計算ロジック

ウエルズ・ワイルダーの方向性移動システムを実装していますが、ADXの最終計算に注目すべき違いがあります:

  • True Range、+DM、−DMはワイルダーのオリジナル定義に従い、方向性移動の相互排他ルールを適用して計算
  • TR、+DM、−DMの平滑化はワイルダーの累積和方式を使用:S(i) = S(i−1) − S(i−1)/N + 値
  • +DIと−DIは平滑化された方向性移動と平滑化されたTrue Rangeの比率をパーセンテージで算出
  • DXは+DIと−DIの正規化された差分を測定
  • ADXは選択期間におけるDXの**単純移動平均(SMA)**として計算(従来のワイルダーSMMAではない)

SMAベースのADXは従来のワイルダー/SMMA版よりもトレンド変化への反応が速く、閾値レベルの交差が早くなります。

表示要素

  • 緑色の線:+DI(上昇方向の強さ)
  • 赤色の線:−DI(下落方向の強さ)
  • 紺色の線(太め):ADX(方向に関係なくトレンドの強さ)
  • 水平レベル:設定可能な基準線(デフォルト20)

パラメータ

パラメータ デフォルト値 説明
期間 14 ワイルダー計算の平滑化期間およびADXのSMAウィンドウ
閾値 20 インジケーターパネルに描画される水平基準レベル

主な特徴

  • ハイブリッドSMA方式のため、MetaTrader内蔵のiADX(EMAベース)やiADXWilder(SMMAベース)とは異なる値を出力
  • リペイントなし:バー確定後に値は変更されない
  • MetaTrader 4とMetaTrader 5の両方に対応
  • 全銘柄・全時間足で動作。H1、H4、日足チャートに適している
  • 初期化はゼロから開始(Pine Scriptのnz()動作を再現)。約100〜150本のバーで値が完全に収束

原典

ADX and DI — BeikabuOyaji作、2015年2月16日公開、2021年1月28日にPine Script v4へ更新。Mozilla Public License 2.0。


🇨🇳 中文

ADX and DI v1.00

将TradingView上BeikabuOyaji的"ADX and DI"指标忠实移植到MQL4/MQL5。该指标是TradingView上使用最广泛的ADX实现之一,拥有超过43,000名用户。在单个子窗口中显示+DI、−DI和ADX,采用混合平滑方法:方向性指数使用Wilder平滑法,ADX线使用简单移动平均线。

计算原理

该指标实现了Welles Wilder的方向性运动系统,在ADX的最终计算中有一个显著区别:

  • True Range、+DM、−DM按照Wilder的原始定义计算,方向性运动之间遵循互斥规则
  • TR、+DM、−DM的平滑使用Wilder的滚动求和法:S(i) = S(i−1) − S(i−1)/N + 值
  • +DI和−DI为平滑后的方向性运动与平滑后True Range的比值,以百分比表示
  • DX衡量+DI与−DI之间的标准化差异
  • ADX计算为所选周期内DX的简单移动平均线(SMA),而非经典公式中Wilder的SMMA

基于SMA的ADX对趋势变化的反应比传统Wilder/SMMA版本更快,更早地穿越阈值水平。

显示元素

  • 绿色线:+DI(多头方向强度)
  • 红色线:−DI(空头方向强度)
  • 深蓝色线(加粗):ADX(不分方向的趋势强度)
  • 水平线:可配置的参考阈值(默认20)

参数

参数 默认值 说明
周期 14 Wilder计算的平滑周期和ADX的SMA窗口
阈值 20 在指标面板上绘制的水平参考线

主要特点

  • 由于采用混合SMA方法,输出值与MetaTrader内置的iADX(基于EMA)和iADXWilder(基于SMMA)不同
  • 不重绘:K线收盘后所有数值固定不变
  • 同时支持MetaTrader 4和MetaTrader 5
  • 适用于所有品种和时间周期,H1、H4和日线图效果较佳
  • 初始化从零开始(复现Pine Script的nz()行为),约100–150根K线后数值完全收敛

原始来源

ADX and DI — BeikabuOyaji 发布于2015年2月16日,2021年1月28日更新至Pine Script v4。许可证:Mozilla Public License 2.0。


🇧🇷 Português

ADX and DI v1.00

Conversão fiel para MQL4/MQL5 do indicador "ADX and DI" de BeikabuOyaji no TradingView, uma das implementações de ADX mais utilizadas na plataforma, com mais de 43.000 usuários. Exibe +DI, −DI e ADX em uma única subjanela, usando uma abordagem híbrida de suavização: método de Wilder para os Índices Direcionais e média móvel simples para a linha ADX.

Como funciona

O indicador implementa o Sistema de Movimento Direcional de Welles Wilder com uma variação relevante no cálculo final do ADX:

  • True Range, +DM, −DM são calculados conforme as definições originais de Wilder com exclusividade mútua entre movimentos direcionais
  • Suavização de TR, +DM, −DM utiliza o método de soma acumulada de Wilder: S(i) = S(i−1) − S(i−1)/N + valor
  • +DI e −DI são derivados como a razão do movimento direcional suavizado pelo True Range suavizado, expressos em porcentagem
  • DX mede a diferença normalizada entre +DI e −DI
  • ADX é calculado como média móvel simples (SMA) do DX sobre o período selecionado, e não com SMMA de Wilder como na formulação clássica

O ADX baseado em SMA responde mais rapidamente às mudanças de tendência, cruzando os níveis de referência antes em ambas as direções.

Elementos visuais

  • Linha verde: +DI (força direcional de alta)
  • Linha vermelha: −DI (força direcional de baixa)
  • Linha azul-marinho (mais espessa): ADX (força da tendência independente da direção)
  • Nível horizontal: linha de referência configurável (padrão 20)

Parâmetros

Parâmetro Padrão Descrição
Período 14 Período de suavização para o cálculo de Wilder e janela SMA para ADX
Limiar 20 Nível horizontal de referência desenhado no painel do indicador

Características principais

  • Produz valores diferentes dos indicadores nativos iADX (baseado em EMA) e iADXWilder (baseado em SMMA) do MetaTrader, devido à abordagem híbrida com SMA
  • Não repinta: todos os valores são fixados após o fechamento da barra
  • Disponível para MetaTrader 4 e MetaTrader 5
  • Funciona em todos os símbolos e períodos gráficos; mais adequado para H1, H4 e gráficos diários
  • Inicialização começa do zero (reproduzindo o comportamento do nz() no Pine Script); os valores convergem totalmente após aproximadamente 100–150 barras

Fonte original

ADX and DI por BeikabuOyaji — publicado em 16 de fevereiro de 2015, atualizado para Pine Script v4 em 28 de janeiro de 2021. Licenciado sob Mozilla Public License 2.0.


🇰🇷 한국어

ADX and DI v1.00

TradingView에서 43,000명 이상의 사용자가 활용하는 BeikabuOyaji의 "ADX and DI" 지표를 MQL4/MQL5로 충실하게 이식한 것입니다. 하나의 하위 창에 +DI, −DI, ADX를 표시하며, 방향성 지수에는 Wilder 평활법을, ADX 라인에는 단순이동평균을 적용하는 하이브리드 평활 방식을 사용합니다.

작동 원리

Welles Wilder의 방향성 운동 시스템을 구현하되, ADX 최종 계산에 주목할 만한 차이가 있습니다:

  • True Range, +DM, −DM은 Wilder의 원래 정의에 따라 방향성 운동 간 상호 배타 규칙을 적용하여 계산
  • TR, +DM, −DM의 평활화는 Wilder의 누적합 방식 사용: S(i) = S(i−1) − S(i−1)/N + 값
  • +DI와 −DI는 평활화된 방향성 운동과 평활화된 True Range의 비율을 백분율로 산출
  • DX는 +DI와 −DI 간의 정규화된 차이를 측정
  • ADX는 선택된 기간에 걸친 DX의 **단순이동평균(SMA)**으로 계산 (기존의 Wilder SMMA가 아님)

SMA 기반 ADX는 기존 Wilder/SMMA 버전보다 추세 변화에 더 빠르게 반응하며, 임계 수준을 양방향으로 더 일찍 교차합니다.

시각적 요소

  • 녹색 선: +DI (상승 방향 강도)
  • 적색 선: −DI (하락 방향 강도)
  • 남색 선 (굵게): ADX (방향에 관계없는 추세 강도)
  • 수평 레벨: 설정 가능한 기준선 (기본값 20)

매개변수

매개변수 기본값 설명
기간 14 Wilder 계산의 평활 기간 및 ADX의 SMA 윈도우
임계값 20 지표 패널에 그려지는 수평 기준 레벨

주요 특징

  • 하이브리드 SMA 방식으로 인해 MetaTrader 내장 iADX(EMA 기반) 및 iADXWilder(SMMA 기반)와 다른 값을 출력
  • 리페인팅 없음: 봉 마감 후 모든 값이 고정
  • MetaTrader 4와 MetaTrader 5 모두 지원
  • 모든 종목과 타임프레임에서 작동하며, H1, H4, 일봉 차트에 적합
  • 초기화가 0에서 시작(Pine Script의 nz() 동작 재현), 약 100~150개 봉 이후 값이 완전히 수렴

원본 출처

ADX and DI — BeikabuOyaji 제작, 2015년 2월 16일 공개, 2021년 1월 28일 Pine Script v4로 업데이트. Mozilla Public License 2.0.