Estrategia de trading cuantitativo basada en el equilibrio Ichimoku y el conflicto implícito


Fecha de creación: 2024-02-20 17:12:35 Última modificación: 2024-02-20 17:12:35
Copiar: 0 Número de Visitas: 606
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo basada en el equilibrio Ichimoku y el conflicto implícito

Descripción general

Esta estrategia combina un indicador de equilibrio inicial y un indicador de conflicto oculto para lograr una estrategia de negociación cuantitativa más simple. Genera una señal de compra cuando la línea de equilibrio inicial está por encima de la línea de conflicto oculto y el precio de cierre está por encima de la línea de equilibrio inicial; genera una señal de venta cuando la línea de equilibrio inicial está por debajo de la línea de conflicto oculto y el precio de cierre está por debajo de la línea de equilibrio inicial.

Principio de estrategia

El indicador de equilibrio a primera vista contiene tres curvas: la curva anterior, la curva de referencia y la curva de retardo. La curva anterior representa el precio promedio de un período determinado recientemente, la curva de referencia representa el precio promedio de un período más largo, y la curva de retardo es generalmente el promedio de la curva anterior y la curva de referencia. Cuando el precio promedio a corto plazo es superior al precio promedio a largo plazo, representa que el precio está actualmente en una tendencia al alza.

El indicador de conflicto oculto contiene dos curvas, la línea de referencia A y la línea de referencia B. Representan el promedio de la amplitud de la fluctuación de los precios en diferentes períodos de longitud. Cuando la línea de referencia A es más alta que la línea de referencia B, representa un aumento de la fluctuación en el corto plazo y la volatilidad de los precios es suficiente.

Esta estrategia utiliza la línea de equilibrio a primera vista para determinar la dirección general de la tendencia, utiliza la línea de vanguardia de conflicto oculto para determinar la dinámica de los precios, en combinación con el precio de cierre para formar una señal de negociación precisa. Comprar cuando hay una tendencia alcista y la volatilidad se amplifica, vender cuando hay una tendencia bajista y la volatilidad se contrae, para obtener ganancias.

Ventajas estratégicas

Se trata de una estrategia de comercio cuantitativo más sencilla que tiene las siguientes ventajas:

  1. El uso de una combinación de indicadores para evaluar la tendencia y la dinámica de los precios hace que las señales de negociación sean más fiables.
  2. El objetivo es evitar que las transacciones no sean válidas.
  3. Las operaciones en línea corta, adecuadas para activos altamente volátiles, son más rentables.
  4. La lógica de la estrategia es simple, fácil de entender y modificar.
  5. Se pueden ampliar fácilmente más indicadores para formar modelos multifactoriales.

Análisis de riesgos

La estrategia también presenta algunos riesgos, como:

  1. El riesgo de mistrade. Debe establecerse un stop loss para controlar la pérdida individual.
  2. Riesgo de reversión del precio. El precio puede reversarse después de que el indicador emita una señal, lo que puede ocasionar pérdidas.
  3. El riesgo de optimización de parámetros. Los diferentes parámetros tienen un gran impacto en los resultados, por lo que se requiere una prueba de combinación múltiple para encontrar el parámetro óptimo.
  4. Riesgo de optimización excesiva. Hacer un buen desempeño en los datos históricos, pero fracasar en las operaciones reales. Debe controlar el número de combinaciones de parámetros para evitar la optimización excesiva.

Optimización de la estrategia

Esta estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba más combinaciones de indicadores para encontrar mejores parámetros. Las pruebas más comunes son KDJ, BOLL, MACD, etc.
  2. Acompañar el mecanismo de stop loss. Configurar el stop loss móvil o el stop loss múltiple.
  3. Optimización de las condiciones de selección de entrada. Se puede considerar la inclusión de indicadores de volumen de operaciones o de volatilidad, etc.
  4. Optimización de las reglas de tenencia de posiciones.
  5. Aumentar el componente de aprendizaje automático. Usar redes neuronales para buscar una mejor combinación de parámetros.

Resumir

Esta estrategia en su conjunto es una estrategia de comercio cuantitativa muy simple, que combina la línea de equilibrio a primera vista y los indicadores de conflicto oculto para determinar la tendencia y la dinámica de los precios y formar una señal de comercio. La estrategia es adecuada para el comercio de corta línea de activos altamente volátiles, y obtiene buenos beneficios.

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

//@version=5
strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true)

len = input.int(50, minval=1, title="Length")
src = input(close, title="Source")
out = ta.ema(src, len)

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(1, 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)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
     title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

plot(out, title="EMA", color=color.white)

// Condition for Buy Signal
buy_signal = close > out and leadLine1 > leadLine2

// Condition for Sell Signal
sell_signal = close < out and leadLine2 > leadLine1

// Strategy entry and exit conditions
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Exit long position if candle closes below EMA 50
if (strategy.opentrades > 0)
    if (close < out)
        strategy.close("Buy")

// Exit short position if candle closes above EMA 50
if (strategy.opentrades < 0)
    if (close > out)
        strategy.close("Sell")