Estrategia de negociación de reversión del candelero de Doji

El autor:¿ Qué pasa?, Fecha: 2023-09-27 16:40:28
Las etiquetas:

Resumen general

Esta estrategia identifica patrones de velas doji y combina SMA para determinar reversiones para el comercio. Genera señales comerciales cuando se forman patrones doji y los precios de apertura / cierre están fuera de las líneas SMA. Las señales alcistas se generan en líneas de hombre colgantes y las señales bajistas en líneas de estrellas fugaces.

Principios

Los principios principales de esta estrategia son los siguientes:

  1. Identificar los patrones de doji calculando el rango de los precios de apertura/cierre frente al movimiento general de los precios.

  2. Verificación de si el cierre anterior está por encima/por debajo del máximo/bajo actual para evitar señales falsas.

  3. El precio de apertura/cierre de las líneas SMA se evaluará para generar señales de reversión.

  4. Generar señales largas/cortas cuando se identifican patrones de doji cualificados.

Los principales pasos del código son:

  1. Cálculo de las líneas SMA

  2. Looping a través de velas para identificar los patrones de doji

  3. Verificación de la relación anterior cerrada frente a la relación actual alta/baja

  4. Confirmación de señales de reversión basadas en la relación de apertura/cierre y SMA

  5. Trazado de marcadores de señales y salida de señales largas/cortas

Ventajas

Las ventajas de esta estrategia incluyen:

  1. Los patrones Doji son claros y fáciles de identificar/implementar.

  2. Los filtros SMA ayudan a reducir las señales falsas.

  3. Las señales largas/cortas claras facilitan las operaciones comerciales.

  4. Las operaciones de inversión capturan las tendencias a corto plazo.

  5. Los parámetros flexibles pueden adaptarse a las diferentes condiciones del mercado.

  6. Fácil de entender e implementar, para principiantes.

Los riesgos

Algunos riesgos potenciales:

  1. Confianza en un patrón único, propenso a fallas.

  2. No hay un mecanismo de stop loss para controlar las pérdidas.

  3. Una mala sintonización de los parámetros puede llevar a un exceso de negociación.

  4. Dependiente de la tendencia, tiene un rendimiento inferior en los mercados de tendencia.

  5. El rendimiento depende de la optimización de parámetros.

Soluciones:

  1. Añadir otros filtros para confirmar las señales.

  2. Implementar el stop loss para gestionar los riesgos.

  3. Optimizar los parámetros y limitar la frecuencia del comercio.

  4. Utilice principalmente durante los mercados de rango limitado.

  5. Pruebas y optimización continuas.

Áreas de mejora

Algunas maneras de mejorar la estrategia:

  1. Agregue el filtro de volumen para evitar falsos brotes.

  2. Implementar mecanismos de stop loss como el stop loss de seguimiento.

  3. Optimizar los parámetros basados en las condiciones del mercado como las tendencias.

  4. Añadir otros indicadores para confirmar las señales, como MACD, KDJ, etc.

  5. Añadir la determinación de tendencias para evitar el comercio contra tendencia.

  6. Optimizar el período de revisión para equilibrar la frecuencia y la calidad.

Resumen de las actividades

Esta estrategia utiliza patrones de doji con SMA para la negociación de inversión eficiente. Tiene ventajas como reglas simples y comercio fácil. Pero también tiene riesgos y áreas para mejorar. Con la optimización continua puede convertirse en un sistema de negociación sólido a corto plazo.

[/trans] ¿Qué quieres decir?


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Más.