Indicador Ichimoku Kinko Hyo Estrategia de tendencia de equilibrio

El autor:¿ Qué pasa?, Fecha: 2023-11-24 14:38:47
Las etiquetas:

img

Resumen general

La estrategia de tendencia de equilibrio es una estrategia de seguimiento de tendencias que utiliza el indicador Ichimoku Kinko Hyo. Identifica las direcciones de tendencia mediante la combinación de múltiples indicadores, va largo en un mercado alcista y va corto en un mercado bajista, para lograr la apreciación del capital a largo plazo.

Principio de la estrategia

El núcleo de esta estrategia se basa en el indicador Ichimoku Kinko Hyo, que consiste en el Tenkan-Sen (línea de conversión), Kijun-Sen (línea de base), Senkou Span A (Línea de conversión), Senkou Span B (Línea de conversión) y Chikou Span (Línea de conversión).

Las señales de negociación se generan basándose en la combinación de las siguientes condiciones:

  1. Tenkan-Sen cruza por encima de Kijun-Sen como señal alcista
  2. Tenkan-Sen cruza por debajo de Kijun-Sen como señal bajista
  3. Chicou Span cruza hacia arriba como confirmación alcista
  4. Chicou Span cruza hacia abajo como confirmación bajista
  5. RSI por encima de 50 como indicador alcista
  6. RSI por debajo de 50 como indicador bajista
  7. El precio por encima de la nube indica una tendencia al alza
  8. El precio por debajo de la nube indica una tendencia a la baja

Va largo cuando se cumplen todas las condiciones alcistas y va corto cuando se cumplen todas las condiciones bajistas.

Análisis de ventajas

Esta estrategia combina indicadores de tendencia y de sobrecompra y sobreventa para identificar eficazmente las direcciones de tendencia.

  1. Ichimoku Kinko Hyo puede identificar tendencias a medio y largo plazo, evitando ser engañado por los ruidos del mercado a corto plazo.
  2. La incorporación del RSI ayuda a determinar las zonas de sobrecompra y sobreventa, evitando oportunidades de reversión perdidas.
  3. Solo actúa cuando la volatilidad es lo suficientemente alta, evitando operaciones ineficaces.
  4. Las normas estrictas de entrada y salida mitigan al máximo los riesgos.

Análisis de riesgos

Algunos riesgos a tener en cuenta para esta estrategia:

  1. Ichimoku Kinko Hyo tiene un efecto de retraso, posiblemente retrasando el tiempo de entrada.
  2. Baja frecuencia de aparición de señales comerciales con combinación de múltiples condiciones, lo que conduce a un número insuficiente de operaciones.
  3. No hay consideración en torno al tamaño de la posición y la gestión del riesgo, los riesgos en torno a la sobre-negociación.

Soluciones correspondientes:

  1. Acorta los parámetros de Ichimoku para mejorar la sensibilidad.
  2. Reducir el rigor de las condiciones de entrada para aumentar la frecuencia del comercio.
  3. Incorporar módulos de gestión de riesgos y dimensionamiento de posiciones para controlar la exposición al riesgo por operación y la posición global.

Direcciones de optimización

La estrategia puede mejorarse en los siguientes aspectos:

  1. Añadir o combinar indicadores adicionales como KDJ, MACD para diversificar las fuentes de señal.
  2. Optimice los parámetros de Ichimoku para mejorar la sensibilidad.
  3. Añadir mecanismos de stop loss para bloquear las ganancias y controlar los riesgos.
  4. Incorporar un módulo dinámico de dimensionamiento de posiciones basado en el tamaño de la cuenta.
  5. Se añadirá un módulo de cobertura para gestionar los riesgos de las posiciones largas.

Resumen de las actividades

En general, esta estrategia de tendencia de equilibrio es un sistema de seguimiento de tendencias confiable y robusto. Aborda el desafío clave en el comercio de tendencias: la precisión de identificación de tendencias de equilibrio y la frecuencia de generación de operaciones. Todavía hay margen de mejora a través del ajuste de parámetros y la expansión de módulos. Es una estrategia que se puede aplicar a largo plazo.


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Ichimoku Kinko Hyo: ETH 3h Strategy by tobuno", overlay=true)

//Inputs
ts_bars = input(22, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(60, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

//Volatility
vollength = input(defval=2, title="VolLength")
voltarget = input(defval=0.2, type=float, step=0.1, title="Volatility Target")
Difference = abs((close - open)/((close + open)/2) * 100)
MovingAverage = sma(Difference, vollength)
highvolatility = MovingAverage > voltarget

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, 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
 
////////////////////////////////////////////////////////////////////////////////

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

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

//RSI
change = change(close)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? green : red, title="Cloud color")

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish and highvolatility

strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)

strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)


Más.