Estrategia de trading de Bitcoin basada en Ichimoku Kinko Hyo


Fecha de creación: 2024-01-31 11:06:02 Última modificación: 2024-01-31 11:06:02
Copiar: 0 Número de Visitas: 653
1
Seguir
1617
Seguidores

Estrategia de trading de Bitcoin basada en Ichimoku Kinko Hyo

Descripción general

Esta estrategia es una estrategia de negociación de Bitcoin basada en un indicador de tabla de equilibrio diseñado a primera vista. Se forma una tabla de equilibrio calculando el promedio de los precios más altos y más bajos de los diferentes períodos, generando una señal de negociación cuando las líneas de corto período atraviesan las líneas de largo período.

Principio de estrategia

La estrategia utiliza un indicador de la tabla de equilibrio a primera vista, cuya fórmula de cálculo es la siguiente:

Lmax = precio máximo en el período_max

Smax = precio mínimo en el período_max

Lmed = precio más alto en el período

Smed = precio mínimo en el período

Lmin = precio máximo en el período_min

Smin = precio mínimo en el período_min

HL1 = (Lmax + Smax + Lmed + Smed)/4

HL2 = (Lmed + Smed + Lmin + Smin)/4

Es decir, calcular el valor de equilibrio de la línea de largo período HL1 y la línea de corto período HL2, respectivamente. Cuando la línea de corto período HL2 atraviesa la línea de largo período HL1, hacer más; Cuando la línea de corto período HL2 atraviesa la línea de largo período HL1, la posición se iguala.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de indicadores de tabla de equilibrio a primera vista puede filtrar el ruido del mercado y identificar tendencias.
  2. El uso de cruces de diferentes líneas periódicas como señales de transacción puede reducir las señales falsas.
  3. La lógica de la estrategia es simple, clara, fácil de entender y de implementar.
  4. Los parámetros de ciclo se pueden personalizar para adaptarse a diferentes entornos de mercado.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El indicador de la tabla de equilibrio está retrasado y puede haber perdido la señal de corto plazo.
  2. Cuando las líneas de tiempo largas y cortas se cruzan, son susceptibles al arbitraje.
  3. Las señales de los indicadores pueden no ser fiables cuando el mercado está en una situación de gran volatilidad.

Estos riesgos pueden reducirse mediante la optimización adecuada de los parámetros del ciclo o en combinación con otros indicadores.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimizar los parámetros de los ciclos largos y cortos para adaptarse a los cambios en el mercado.
  2. Aumentar las estrategias de stop loss y controlar las pérdidas.
  3. En combinación con otros indicadores, como el MACD, mejora la precisión de la señal.
  4. Suspender las operaciones durante los períodos de alta volatilidad para evitar grandes pérdidas.

Resumir

Esta estrategia se basa en un indicador de la tabla de equilibrio a primera vista, que genera una señal de negociación cuando la línea corta rompe la línea larga. En comparación con un solo indicador, puede filtrar eficazmente las señales falsas. A través de la optimización de parámetros y el control del riesgo, se puede mejorar aún más la estabilidad y la rentabilidad de la estrategia.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Alferow

//@version=4
strategy("BTC_ISHIMOKU", overlay=true)

period_max = input(20, minval = 1)
period_med = input(10, minval = 1)
period_min = input(16, minval = 1)

Lmax = highest(high, period_max)
Smax = lowest(low, period_max)

Lmed = highest(high, period_med)
Smed = lowest(low, period_med)

Lmin = highest(high, period_min)
Smin = lowest(low, period_min)

HL1 = (Lmax + Smax + Lmed + Smed)/4
HL2 = (Lmed + Smed + Lmin + Smin)/4

p1 = plot(HL1, color = color.red, linewidth = 2)
p2 = plot(HL2, color = color.green, linewidth = 2)

fill(p1, p2, color = HL1 < HL2 ? color.green : color.red, transp = 90)

start = timestamp(input(2020, minval=1), 01, 01, 00, 00)
finish = timestamp(input(2025, minval=1),01, 01, 00, 00)
trig = time > start and time < finish ? true : false

strategy.entry("Long", true, when = crossover(HL2, HL1) and trig)
// strategy.entry("Short", false, when = crossunder(HL2, HL1) and trig)
strategy.close("Long", when = crossunder(HL2, HL1) and trig)