Estrategia de seguimiento de tendencias de ADX basada en el cruce de TENKAN KIJUN de una hora


Fecha de creación: 2023-12-08 15:37:00 Última modificación: 2023-12-08 15:37:00
Copiar: 0 Número de Visitas: 782
1
Seguir
1621
Seguidores

Estrategia de seguimiento de tendencias de ADX basada en el cruce de TENKAN KIJUN de una hora

Descripción general

Esta estrategia es una estrategia de seguimiento de tendencias simple pero rentable que se basa en el cruce de las líneas TENKAN y KIJUN del sistema de identificación ICHIMOKU en un marco de tiempo de una hora para determinar la dirección de la tendencia y se combina con el indicador ADX para filtrar los mercados de tendencia más débil y así emitir una señal de negociación. La estrategia se aplica principalmente a los pares de negociación de BTC de altcoins de gran valor como ETH/BTC.

Principio de estrategia

La estrategia utiliza el cruce de la línea de conversión (la línea TENKAN) y la línea base (la línea KIJUN) en el gráfico de la nube de ICHIMOKU para determinar la dirección de la tendencia del mercado. Donde, la línea TENKAN se calcula como el promedio de los máximos y mínimos más recientes de las últimas 18 líneas K, representando la línea de conversión rápida; la línea KIJUN se calcula como el promedio de los máximos y mínimos más recientes de las últimas 58 líneas K, representando la línea de conversión estándar.

Cuando la línea de conversión rápida atraviesa la línea de conversión estándar desde abajo, es una señal positiva; cuando la línea de conversión rápida atraviesa la línea de conversión estándar desde arriba, es una señal negativa. De esta manera, se puede capturar la reversión de la tendencia de corto y medio plazo.

Al mismo tiempo, la estrategia también se combina con el indicador ADX para filtrar la intensidad de la tendencia del mercado. El indicador ADX puede determinar la intensidad de la tendencia, cuando el ADX es mayor que 20, la tendencia actual es más fuerte. Por lo tanto, la estrategia solo emite una señal de negociación cuando el ADX es mayor que 20.

En resumen, la estrategia utiliza la dirección de la tendencia a corto plazo a través de la determinación cruzada de la línea TENKAN y la línea KIJUN, en combinación con la filtración de brechas falsas en el indicador ADX para bloquear la tendencia real y lograr el objetivo de seguir la tendencia a medio y largo plazo.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. Utilizando el ICHIMOKU Cloud Map para determinar la dirección de la tendencia, este conjunto de indicadores es ya un sistema más maduro y fiable, capaz de determinar con precisión el punto de inflexión de la tendencia.

  2. En combinación con el filtro del indicador ADX para ajustar la intensidad de los mercados más débiles, se evita el comercio frecuente en la liquidación.

  3. La estrategia de desarrollo de líneas de 1 hora es capaz de filtrar el ruido del mercado a corto plazo y capturar solo tendencias de línea media y larga.

  4. Las estrategias son sencillas, intuitivas, fáciles de entender y de seguir, adecuadas para los seguidores de tendencias.

  5. La retroalimentación estratégica ha tenido buenos resultados, especialmente en los pares de monedas de mercado como ETH/BTC.

Análisis de riesgos

La estrategia también tiene algunos riesgos a tener en cuenta:

  1. El ICHIMOKU Cloud Map es sensible a los parámetros, y los diferentes parámetros de ciclo tienen un efecto muy diferente, por lo que es necesario personalizar los mejores parámetros para diferentes monedas.

  2. El indicador ADX en ciertas situaciones se retrasa para dar una señal, lo que puede conducir a perder el mejor momento de entrada.

  3. La estrategia de seguimiento de tendencias medias y largas no funciona bien en situaciones de crisis y es fácil de detener.

  4. La estrategia varía considerablemente en función de los pares de monedas y de los períodos de tiempo, por lo que es necesario elegir la variedad en la que uno es bueno.

  5. La tenencia de posiciones a largo plazo es un riesgo y requiere la configuración adecuada de condiciones de stop loss y stop loss.

La estrategia puede ayudar a filtrar las señales mediante la modificación de los parámetros ADX o la adición de otros indicadores como MACD, para reducir las señales virtuales y mejorar la estabilidad de la estrategia. También se puede obtener una mejor robustez mediante el ajuste dinámico de los parámetros para adaptarlos a diferentes tipos de situaciones.

Dirección de optimización

La estrategia también incluye las siguientes mejoras:

  1. Optimización dinámica de los parámetros de las líneas TENKAN y KIJUN para que se adapten mejor a la situación en tiempo real y a diferentes monedas.

  2. Optimizar o sustituir los indicadores ADX en busca de métodos más sensibles y eficientes para determinar las tendencias.

  3. La estrategia Stop Loss Stop Stop, que controla el riesgo-beneficio de una sola operación, evita grandes pérdidas.

  4. Optimización de la cartera, búsqueda de indicadores complementarios para formar estrategias integradas y mejorar la estabilidad.

  5. La estructura del código se ha modificado de forma modular, aumentando la flexibilidad de los parámetros personalizados para adaptarse a más variedades.

  6. Añadir medidas cuantitativas de control de riesgo, como la retirada máxima y los coeficientes correspondientes, para prevenir el riesgo de situaciones extremas.

Resumir

En resumen, la estrategia en su conjunto es una estrategia de seguimiento de tendencias sencilla y práctica. Se basa principalmente en la combinación cruzada de indicadores TENKAN KIJUN y ADX para determinar la dirección de la tendencia de la línea media larga y emitir una señal de negociación. La estrategia tiene una buena retroalimentación y es especialmente adecuada para los pares de monedas de mayor mercado como ETH/BTC, donde se obtienen ganancias más estables.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Odin's Kraken (TK Cross Strategy)", shorttitle="Odin's Kraken", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

src = input(close, title="Source")

// define tk in ichimoku

conversionPeriods = input(18, minval=1, title="Conversion Line Periods (Tenkan)"),
basePeriods = input(58, minval=1, title="Base Line Periods (Kijun)")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)

TK_Uptrend = crossover(conversionLine,baseLine)
TK_Downtrend = crossunder(conversionLine,baseLine)

plot(conversionLine, color=lime, title="Tenkan", linewidth=3)
plot(baseLine, color=red, title="Kijun", linewidth=3)

// define ADX

adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", defval=20)
dirmov(len) =>
	up = change(high)
	down = -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 = rma(tr, len)
	
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)

	[plus, minus]

adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	
[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

// backtesting range

// From Date Inputs
fromDay = input(defval = 3, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 3, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

// open long and short

longCondition = TK_Uptrend
if (longCondition and sig > 12 and time_cond)
    strategy.entry("LONG", strategy.long)

shortCondition = TK_Downtrend
if (shortCondition and sig > 12 and time_cond)
    strategy.entry("SHORT", strategy.short)

// close trade if backtesting criteria not met

if (not time_cond)
    strategy.close_all()