Estrategia de negociación del índice de tendencia direccional

El autor:¿ Qué pasa?, Fecha: 2023-09-18 17:07:55
Las etiquetas:

Resumen general

Esta estrategia utiliza el índice de tendencia direccional (DTI) para determinar la dirección de la tendencia de precios para la tendencia después de las operaciones. DTI compara el cambio en los precios más altos y más bajos durante un período para juzgar la tendencia, con umbrales superiores e inferiores que generan señales.

Estrategia lógica

Calcular el valor de cambio de precio a partir de los cambios de precio más altos y más bajos durante un período. Aplicar múltiples promedios móviles exponenciales a esto para derivar la curva DTI. Establecer umbrales superiores e inferiores para DTI. Cuando el indicador cruza por encima del umbral superior, se genera una señal larga. Cruzar por debajo del umbral inferior da una señal corta. Mantenga la posición hasta que ocurra la siguiente señal.

Ventajas

  • DTI determina con precisión la dirección de la tendencia con menos señales
  • Los umbrales filtran las rupturas insignificantes evitando las operaciones con ruido
  • Seguimiento continuo de las tendencias, no afectado por las fluctuaciones a corto plazo
  • Gran espacio de ajuste de parámetros para equilibrar la capacidad de respuesta

Los riesgos

  • No se pueden determinar con precisión los puntos de reversión de la tendencia, se corre el riesgo de pérdidas
  • La falta de ajuste adecuado de los parámetros de la DTI supone riesgos de oportunidades perdidas
  • La tenencia prolongada puede dar lugar a mayores extracciones
  • Frecuencia de negociación baja no adecuada para la negociación de alta frecuencia

Los riesgos pueden mitigarse acortando el período de cálculo, ajustando los umbrales o añadiendo indicadores de reversión.

Mejoras

  • Prueba de diferentes combinaciones de parámetros para el cálculo del DTI
  • Optimización de los niveles de umbral largo/corto
  • Considere la posibilidad de añadir estrategias de stop loss para controlar el riesgo
  • Prueba de robustez en diferentes productos

Conclusión

La estrategia DTI determina con precisión la dirección de la tendencia a partir de señales claras, lo que permite obtener ganancias constantes a largo plazo.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/03/2017
// This technique was described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). His book focuses on three key aspects 
// of trading: momentum, direction and divergence. Blau, who was an electrical 
// engineer before becoming a trader, thoroughly examines the relationship between 
// price and momentum in step-by-step examples. From this grounding, he then looks 
// at the deficiencies in other oscillators and introduces some innovative techniques, 
// including a fresh twist on Stochastics. On directional issues, he analyzes the 
// intricacies of ADX and offers a unique approach to help define trending and 
// non-trending periods.
// Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder. 
// The DM+ (a part of Directional Movement System which includes both DM+ and 
// DM- indicators) indicator helps determine if a security is "trending." William 
// Blau added to it a zeroline, relative to which the indicator is deemed positive or 
// negative. A stable uptrend is a period when the DTI value is positive and rising, a 
// downtrend when it is negative and falling. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Directional Trend Index (DTI)", shorttitle="DTI")
r = input(14, minval=1)
s = input(10, minval=1)
u = input(5, minval=1)
OS = input(45, minval=1)
OB = input(-45, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xHMU = iff(high - high[1] > 0, high - high[1], 0)
xLMD = iff(low - low[1] < 0, -(low - low[1]), 0)
xPrice = xHMU - xLMD
xPriceAbs = abs(xPrice)
xuXA = ema(ema(ema(xPrice, r),s),u)
xuXAAbs = ema(ema(ema(xPriceAbs, r),s),u)
Val1 = 100 * xuXA
Val2 = xuXAAbs
DTI = iff(Val2 != 0, Val1 / Val2, 0)
pos = iff(DTI > OS, -1,
	     iff(DTI < OB, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(DTI, color=maroon, title="DTI")
plot(OB, color=blue, title="OB")
plot(OS, color=red, title="OS")

Más.