
Esta estrategia se basa en una tabla de indicadores gráficos de Ichimoku Kinko Hyo para generar señales de negociación. Ichimoku Kinko Hyo, que combina las ventajas de las medias móviles y los indicadores de bandas de onda, puede identificar la dirección de la tendencia y apoyar la resistencia al mismo tiempo, y se considera un indicador integral.
Esta estrategia utiliza las líneas de componentes de Ichimoku Kinko Hyo para determinar la dirección y la fuerza de la tendencia. Se genera una señal de negociación cuando el precio se desvía hacia arriba y hacia abajo del gráfico de nubes.
Esta estrategia utiliza las cinco líneas de ingredientes de Ichimoku Kinko Hyo:
También se ha trazado un mapa de la nube de Ichimoku, compuesto por Senkou Span A y Senkou Span B, que representan en general las zonas de tendencia actuales.
Las señales de negociación de esta estrategia provienen de:
Además, la estrategia también juzga el momento de la parada y el deterioro de la línea Tenkan y la línea Kijun.
La mayor ventaja de esta estrategia es su gran capacidad para determinar la dirección de la tendencia y apoyar la resistencia utilizando el indicador Ichimoku Kinko Hyo.
Además, la estrategia incorpora un módulo de stop loss y stop loss para bloquear parte de las ganancias y controlar el riesgo.
El principal riesgo de esta estrategia es el potencial de saltos en el aire causado por el algoritmo de la línea de componentes Ichimoku. Esto puede generar el riesgo de falsas brechas.
La solución es ajustar los parámetros del algoritmo, reducir la distancia entre las líneas de componentes, o agregar condiciones de filtro para evitar entrar en la zona de vibración.
Hay varias opciones para optimizar esta estrategia:
Optimización de los parámetros de la línea de componentes de Ichimoku, ajuste del ciclo de la línea media para adaptarse a más variedades y períodos.
El objetivo es aumentar la cantidad de confirmaciones y evitar falsas señales causadas por los saltos en el aire.
En combinación con filtros de otros indicadores, como el MACD, el RSI, etc., para identificar tendencias y zonas de sobreventa y sobrecompra.
Optimización de la lógica de la parada de pérdidas, como el movimiento de la pérdida, el encogimiento y otros métodos.
En resumen, la estrategia utiliza el gráfico de la nube de Ichimoku Kinko Hyo y las líneas de componentes para determinar la dirección de la tendencia y las oportunidades de negociación. La ventaja de la estrategia reside en la claridad de la tendencia y la precisión de la hora de entrada.
/*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)