Estrategia de seguimiento de tendencias de Ichimoku Kinko Hyo


Fecha de creación: 2024-02-27 16:41:02 Última modificación: 2024-02-27 16:41:02
Copiar: 0 Número de Visitas: 625
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de Ichimoku Kinko Hyo

Descripción general

La estrategia de seguimiento de tendencias de la nube de Ichimoku (Ichimoku Cloud Trend Following Strategy) es una estrategia de análisis técnico. Utiliza las cinco líneas indicadoras de la gráfica de equilibrio de la primera vista para determinar la dirección de la tendencia del mercado y apoyar los puntos de resistencia y el momento de entrada.

El principio

Las líneas centrales de la estrategia incluyen:

  1. Línea de conversión: promedio de los máximos y mínimos de los últimos 9 días, que refleja la tendencia a corto plazo.
  2. Línea de referencia: promedio de los máximos y mínimos de los últimos 26 días, que refleja la tendencia a medio y largo plazo.
  3. Línea de avance A: promedio entre la línea de conversión y la línea de referencia, desplazado el día 26, para determinar soporte y resistencia a medio plazo.
  4. Línea de avance B: promedio de los máximos y mínimos de los últimos 52 días, desplazado 26 días, para determinar soporte y resistencia a largo plazo.
  5. La línea aleatoria: el precio se desplaza el día 26, lo que refleja el movimiento de la tendencia.

Cuando la línea de conversión atraviesa la línea de referencia es una señal de compra; cuando la línea de bajada es una señal de venta. La línea de movimiento está por encima del precio y el color de la nube es verde para la tendencia de múltiples cabezas, o de lo contrario es la cabeza vacía.

La estrategia determina la dirección de la tendencia en función de la relación entre la línea de conversión y la línea de referencia. Por ejemplo, una línea de conversión que rompa la línea de referencia hacia arriba se considera una entrada múltiple, en la que se genera una señal de compra si se cumple la condición de que la línea de acción es superior al precio.

Si se selecciona un stop loss, se cerrará la posición cuando el precio baje por debajo de la línea de referencia.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de una evaluación integrada de varios indicadores para mejorar la precisión.
  2. Las líneas de vanguardia pueden predecir soporte y resistencia.
  3. La línea de movimiento aleatoria verifica la dinámica de la tendencia para evitar falsas rupturas.
  4. La línea de referencia, como indicador de tendencias a medio y largo plazo, puede reducir el ruido de las transacciones.

Riesgo y optimización

El principal riesgo de esta estrategia es que es fácil generar falsas señales.

  1. Ajuste de los parámetros del ciclo medio para optimizar la sensibilidad del indicador.
  2. Añadir otros indicadores o filtros gráficos, como MACD, Brines y otros.
  3. La tendencia de las líneas medias y largas es de seguir una menor frecuencia de transacciones.

Resumir

Una estrategia de gráfico de equilibrio de un solo vistazo que incluye varios indicadores para determinar el movimiento del mercado, que considera la dinámica a corto plazo y la tendencia a medio y largo plazo. La relación de la línea de conversión con la línea de referencia para determinar el momento de compra y venta en el mercado, la línea de referencia como línea de parada para bloquear las ganancias y controlar eficazmente el riesgo. La estrategia es adecuada para el comercio de tendencias de seguimiento a medio y largo plazo.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)

support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb


TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")





var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0


if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
	strategy.entry("Long",strategy.long)
	stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
	strategy.close("Long")
	stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
	strategy.close("Long")
	stopLong := 0.0

if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
	strategy.entry("Short",strategy.short)
	stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0 
// 	strategy.close("Short")
// 	stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
	strategy.close("Short")
	stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
	strategy.close("Short")
	stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))