Una nueva estrategia de trading cuantitativo, que utiliza el indicador DMI para identificar los extremos y los extremos del mercado. Este artículo describe en detalle los principios, las ventajas y los posibles riesgos de esta estrategia de trading.
El índice DMI, también conocido como índice de movimiento direccional promedio, fue desarrollado por Welles Wilder en la década de 1970 para evaluar la tendencia y la intensidad de los mercados. El índice DMI se compone de tres líneas:
Cuando + DI sobre -DI, significa que la tendencia al alza se ha fortalecido, se puede considerar hacer más; cuando -DI sobre + DI, significa que la tendencia a la baja se ha fortalecido, se puede considerar hacer un vacío.
La lógica central de esta estrategia es la siguiente:
Es decir, cuando la línea de DI inversa es significativamente más fuerte que la línea de DI positiva, se puede juzgar que la tendencia actual está a punto de invertirse, y entonces se puede intervenir adecuadamente para realizar una operación de inversión.
Para filtrar el error, la política utiliza la línea media de DI, con los parámetros específicos establecidos como:
La frecuencia de las señales de negociación se controla ajustando los parámetros de la línea media.
Esta estrategia se aplica principalmente a la negociación de opciones en el índice NIFTY50, pero también se puede usar en otras variedades. En el caso de operaciones específicas, elija opciones de paridad, con un límite de pérdida del 20% si la pérdida es superior al 10%, pero si la pérdida se expande a más del 20% del capital inicialmente invertido, elimine la pérdida.
En comparación con la simple estrategia de cruce de DI, esta estrategia utiliza un filtro de línea media de los indicadores de DI, lo que reduce el whipsaw y reduce el número de operaciones, lo que reduce los costos de transacción y la pérdida de puntos de deslizamiento.
En comparación con la simple estrategia de seguimiento de tendencias, esta estrategia es más precisa para determinar el punto de reversión de la tendencia y puede capturar oportunamente las oportunidades de negociación cerca del punto de reversión.
La optimización de los parámetros de esta estrategia es simple y fácil de lograr.
Esta estrategia sólo indica la dirección de las señales de negociación, y los requisitos específicos de stop-loss deben ajustarse a las preferencias de riesgo personales.
El indicador DMI puede generar una gran cantidad de falsas señales al computar zonas, y se debe evitar usar esta estrategia en mercados no tendenciales.
El DI cruzado no puede predecir el punto de cambio de tendencia al cien por cien, hay un cierto error de orden cronológico. Debe ser adecuadamente combinado con otros indicadores para verificar la señal de negociación.
Esta estrategia puede identificar eficazmente las oportunidades de reversión de la tendencia a través de la filtración de la línea media de DI. En comparación con otras estrategias de seguimiento de tendencias, tiene una mayor capacidad de identificación de reversión. En general, los parámetros de esta estrategia se optimizan con flexibilidad y se adaptan para su uso como un módulo del sistema de comercio cuantitativo.
/*backtest
start: 2023-09-05 00:00:00
end: 2023-09-12 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © email_analysts
// This code gives indication on the chart to go long based on DMI and exit based on RSI.
//Default value has been taken as 14 for DMI+ and 6 for RSI.
//@version=5
strategy(title="DMI Strategy", overlay=false)
lensig = input.int(11, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(11, minval=1, title="DI Length")
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)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
//plot(adx, color=#F50057, title="ADX")
plot(plus, color=color.green, title="+DI")
plot(minus, color=color.red, title="-DI")
hlineup = hline(40, color=#787B86)
hlinelow = hline(10, color=#787B86)
buy = plus < 10 and minus > 40
if buy
strategy.entry('long', strategy.long)
sell = plus > 40 and minus < 10
if sell
strategy.entry('short', strategy.short)