Esta estrategia de negociación genera señales de negociación basadas en un indicador llamado Ichimoku Kinko Hyo. Ichimoku Kinko Hyo se traduce literalmente como
La estrategia utiliza las líneas componentes de Ichimoku para determinar la dirección y la fuerza de la tendencia. Las señales de negociación se generan cuando el precio rompe la parte superior o inferior de la nube. Además, la estrategia aprovecha las oportunidades de entrada de borde a borde únicas del sistema Ichimoku.
La estrategia emplea cinco líneas del sistema Ichimoku Kinko Hyo:
La nube es el área entre Senkou Span A y Senkou Span B, que representa el rango de tendencia actual en general.
Las señales de negociación se generan basándose en los siguientes escenarios:
Además, la estrategia utiliza el cruce Tenkan/Kijun para determinar los niveles de toma de ganancias y stop loss.
La mayor fortaleza de esta estrategia radica en la capacidad de Ichimoku
Además, la estrategia incorpora el cruce Tenkan/Kijun para la obtención parcial de beneficios y el control de riesgos.
El principal riesgo proviene de posibles brechas en las líneas de Ichimoku causando una falsa ruptura.
Las soluciones incluyen la optimización de parámetros para reducir los intervalos de la línea descendente, o la adición de filtros para evitar el comercio en zonas variadas.
Varios aspectos de la estrategia pueden mejorarse:
Optimice los parámetros de Ichimoku y ajuste los períodos de promedio móvil para adaptarse a más símbolos y marcos de tiempo.
Incorporar confirmación de volumen para evitar huecos que causen señales falsas.
Añadir otros indicadores como el MACD, el RSI para tendencias adicionales y los filtros de oscilador.
Mejorar las reglas de stop loss y take profit, por ejemplo, stop de seguimiento, dimensionamiento de posiciones, etc.
En resumen, este sistema Ichimoku identifica la dirección de la tendencia y las oportunidades de negociación con la nube y las líneas componentes.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true) previous_close = close[1] conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"), basePeriods = input.int(60, minval=1, title="Base Line Periods") laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"), displacement = input.int(30, minval=1, title="Displacement") long_entry = input.bool(true, title="Long Entry") short_entry = input.bool(true, title="Short Entry") e2e_entry = input.bool(true, title="E2E Entry") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) tenkan = donchian(conversionPeriods) kijun = donchian(basePeriods) spanA = math.avg(tenkan, kijun) spanB = donchian(laggingSpan2Periods) plot(tenkan, color=#0496ff, title="Conversion Line") plot(kijun, color=#991515, title="Base Line") plot(close, offset = -displacement, color=#459915, title="Lagging Span") p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1") p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2") fill(p1, p2, color = spanA > spanB ? #459915 : #991515) ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1]) ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1]) // Entry/Exit Signals tk_cross_bull = tenkan > kijun tk_cross_bear = tenkan < kijun kumo_twist_bull = ta.mom(close, displacement) > 0 kumo_twist_bear = ta.mom(close, displacement) < 0 price_above_kumo = close > ss_high price_below_kumo = close < ss_low price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo bullishe2e = price_enters_kumo_bottom // and tk_cross_bull bearishe2e = price_enters_kumo_top // and tk_cross_bear price_touches_kumo_top = ta.cross(close, ss_high) price_touches_kumo_bottom = ta.cross(close, ss_low) strategy.entry("Long", strategy.long, when=bullish and long_entry) strategy.close("Long", when=tk_cross_bear) strategy.close("Long", when=price_enters_kumo_top) strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry) strategy.close("Long e2e", when=price_touches_kumo_top) strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100) // strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50) strategy.entry("Short", strategy.short, when=bearish and short_entry) strategy.close("Short", when=tk_cross_bull) strategy.close("Short", when=price_enters_kumo_bottom) strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry) strategy.close("Short e2e", when=price_touches_kumo_bottom) strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100) // strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)