Ichimoku entra en la estrategia

El autor:¿ Qué pasa?, Fecha: 2024-01-31 15:23:21
Las etiquetas:

img

Resumen general

Las entradas de Ichimoku son una estrategia cuantitativa que identifica la dirección de la tendencia utilizando gráficos de la nube de Ichimoku, y genera señales comerciales en combinación con bandas de Bollinger e indicadores RSI. Esta estrategia determina principalmente si el mercado está actualmente en una tendencia alcista o bajista basada en la cruz dorada o cruz de la muerte de la línea Tenkan y la línea Kijun, y por lo tanto produce señales de entrada para posiciones largas y cortas.

Estrategia lógica

El núcleo de esta estrategia se encuentra en las dos líneas importantes del gráfico de la nube de Ichimoku - Línea Tenkan y Línea Kijun. La Línea Tenkan es el promedio del máximo más alto y el mínimo más bajo en los últimos 9 días, representando la tendencia a corto plazo. La Línea Kijun es el promedio del máximo más alto y el mínimo más bajo en los últimos 26 días, representando la tendencia a medio y largo plazo. Cuando la Línea Tenkan cruza por encima de la Línea Kijun, indica una entrada para ir largo. Cuando la Línea Tenkan cae por debajo de la Línea Kijun, indica una entrada para ir corto. Esto juzga la dirección de la tendencia actual.

Además de la nube de Ichimoku, la estrategia también analiza las bandas de Bollinger y el indicador RSI para generar señales comerciales. Se considera una señal de actividad de precios anormales cuando el precio de cierre rompe las bandas de Bollinger superiores o inferiores.

En la lógica de salida, la estrategia comprueba si la ruptura de las bandas de Bollinger es exitosa y si el oscilador de proximidad comercial cruza el eje 0, para decidir si bloquear las ganancias o detener las pérdidas.

Análisis de ventajas

La mayor ventaja de esta estrategia es que combina la determinación de tendencias y las fluctuaciones anormales de precios para determinar la dirección del comercio. La nube de Ichimoku revela claramente la tendencia, mientras que las bandas de Bollinger capturan anomalías. El RSI filtra eficazmente las fallas de ruptura. El uso de múltiples indicadores coordinados hace que las señales comerciales sean más confiables. Además, la lógica de stop loss y take profit ayuda a bloquear las ganancias y evitar pérdidas enormes.

Análisis de riesgos

A pesar de tener la ventaja de identificar tendencias y anomalías, la estrategia todavía plantea algunos riesgos. Debido a que se negocia junto con las tendencias, pueden surgir muchas señales falsas en los mercados variados. La configuración incorrecta de parámetros también puede deteriorar el rendimiento de la estrategia. Se recomienda la optimización paso a paso para probar diferentes combinaciones de parámetros y encontrar los valores óptimos.

Direcciones de optimización

La estrategia puede actualizarse en los siguientes aspectos:

  1. Prueba diferentes combinaciones de parámetros, como el período de Bollinger, el período de RSI, etc.
  2. Introducir modelos de aprendizaje automático, parametros de salida dinámicos basados en datos históricos.
  3. Incorporar el flujo de información para determinar la emoción del mercado, evitar movimientos equivocados en momentos críticos.
  4. Añadir métodos de stop loss condicionales, como el trailing stop, para preservar los beneficios.

Conclusión

La estrategia de entradas de Ichimoku es una estrategia de comercio de tendencias integrada con múltiples indicadores. Al juzgar tanto la dirección de la tendencia como las anomalías de los precios, captura el ritmo del mercado con bastante fiabilidad. Aunque hay margen de mejora, en general se trata de una estrategia con un rendimiento constante y riesgos controlables.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")



Más.