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.
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.
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.
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.
La estrategia puede actualizarse en los siguientes aspectos:
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")