DIplus
DIplus en ProBuilder devuelve el indicador direccional positivo (DI+) del sistema ADX, que mide la fuerza del movimiento ascendente del precio. Sintaxis y ejemplos.
Sintaxis
DIplus[N](price)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
N | entero | 14 | Número de periodos para el cálculo, aplicado tanto al suavizado del movimiento direccional como al ATR. |
price | fuente de precio | close | Argumento de precio pasado a la instrucción, normalmente close. |
Fórmula
+DM = current high - previous high (kept only when positive
and greater than the downward movement, else 0)
DIplus = 100 * WilderSmoothing[N](+DM) / AverageTrueRange[N]Dividir por el ATR expresa el movimiento ascendente como una proporción del rango total, lo que hace el valor comparable entre instrumentos y regímenes de volatilidad.
Cómo funciona
Para cada bar, el sistema mide cuánto se extendió el máximo por encima del máximo anterior. Esa distancia cuenta como movimiento direccional positivo, pero solo cuando es mayor que la extensión a la baja del bar; en caso contrario el bar aporta cero. Los movimientos positivos se suavizan con el método de Wilder sobre N bars, dividido por el ATR en la misma ventana, y escalado de 0 a 100.
La línea sube mientras el mercado sigue marcando máximos más altos y decae cuando la presión al alza se estanca. La interpretación es siempre relativa a DIminus: DI+ por encima significa que los compradores controlan el movimiento direccional, y el cruce de las dos líneas es la señal primitiva del Directional Movement System. La fuerza de la tendencia se delega en ADX, que se construye a partir de las mismas entradas.
Cambiar N ajusta la sensibilidad. Los periodos más cortos hacen que la línea reaccione a bars de breakout individuales, los más largos favorecen las tendencias sostenidas frente a expansiones aisladas.
Ejemplos
Ejemplo 1, Señales de cruce direccional (Indicador)
// 14-period directional indicators on the open
minus = DIminus[14](open)
plus = DIplus[14](open)
// Bullish signal: DI+ crosses above DI-
IF (plus > minus AND plus[1] < minus[1]) THEN
bull = 1
bear = 0
ENDIF
// Bearish signal: DI+ crosses below DI-
IF (plus < minus AND plus[1] > minus[1]) THEN
bull = 0
bear = -1
ENDIF
RETURN bull, bearMarca el bar en el que DI+ adelanta a DI- como alcista (1) y el bar en el que vuelve a caer por debajo como bajista (-1). El estado de la señal persiste entre cruces porque las variables conservan su último valor asignado.
Ejemplo 2, Screener de tendencia alcista con filtro de fuerza (ProScreener)
// Instruments in a confirmed uptrend: DI+ above DI- and ADX above 25
plus = DIplus[14](close)
minus = DIminus[14](close)
trendStrength = ADX[14]
SCREENER[plus > minus AND trendStrength > 25](plus - minus AS "DI+ lead")Devuelve los instrumentos en los que domina el movimiento ascendente y el ADX confirma un mercado con tendencia, ordenados por cuánto aventaja DI+ a DI-.
Ejemplo 3, Entrada long en un cruce alcista (ProBacktest)
// Enter long when DI+ overtakes DI- in a trending market
plus = DIplus[14](close)
minus = DIminus[14](close)
IF NOT LongOnMarket AND ADX[14] > 20 AND plus CROSSES OVER minus THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND plus CROSSES UNDER minus THEN
SELL AT MARKET
ENDIFLa entrada clásica de Wilder: comprar en el cruce de DI+ por encima de DI- cuando el ADX confirma fuerza, salir cuando el cruce se invierte.
Interpretación
- DI+ por encima de DI-. El movimiento direccional al alza domina la ventana. Lectura tradicional: tendencia alcista, más fiable cuando
ADXsupera aproximadamente 20 a 25. - DI+ por debajo de DI-. El movimiento descendente domina, la presión alcista es secundaria.
- DI+ cruzando por encima de DI-. El disparador alcista estándar del sistema.
- Ambas líneas bajas y entrelazadas. Ninguno de los dos lados controla el mercado; las señales de cruce en este estado son en su mayoría ruido.
Errores y trampas habituales
- Usar DI+ sin DI-. Un valor alto de DI+ por sí solo no establece una tendencia alcista, ya que DI- puede ser aún mayor. Compara ambas líneas o usa el combinado
DIdiferencia. - Condiciones de cruce escritas al revés. Con dos nombres de variable parecidos,
minus CROSSES OVER plusyplus CROSSES OVER minusse diferencian en una sola transposición y producen sistemas opuestos. Nombra las variables de forma explícita y verifica la dirección de cada condición. - Señales en mercados planos. Sin un
ADXfiltro, las líneas DI se cruzan con frecuencia en rangos. ExigirADX[14] > 20, como en el Ejemplo 3, elimina muchos disparos de baja calidad. - Sensibilidad al periodo. Pequeño
Nvalores permiten que un único bar amplio domine la lectura, los valores grandes retrasan las señales de cruce. Cambia el periodo en ambas líneas DI a la vez, nunca solo en un lado.
Instrucciones relacionadas
DIminus, la contraparte negativa que mide el movimiento descendente.DI, diferencia en una sola línea de DI+ menos DI-.ADX, fuerza de la tendencia derivada de las líneas DI.ADXR, variante suavizada del ADX.AverageTrueRange, el normalizador de volatilidad en la fórmula.TR, true range de un solo bar.VIplus, línea vortex positiva, una medida relacionada del movimiento ascendente.VIminus, línea vortex negativa.