Estrategia de gestión de riesgos y ruptura de la caja de Darvas

MACD RSI
Fecha de creación: 2024-07-29 14:22:29 Última modificación: 2024-07-29 14:22:29
Copiar: 0 Número de Visitas: 597
1
Seguir
1617
Seguidores

Estrategia de gestión de riesgos y ruptura de la caja de Darvas

Descripción general

La estrategia de Darvas Box Breakout and Risk Management es un método de negociación cuantitativa que combina análisis técnico y gestión de riesgos. Basada en la teoría de la caja de Darvas desarrollada por Nicholas Darvas, la estrategia capta una posible tendencia alcista mediante la identificación de patrones en los que los precios superan los máximos históricos. La estrategia también integra varios indicadores técnicos y medidas de control de riesgos para mejorar la precisión y seguridad de las operaciones.

A través del análisis del código proporcionado, podemos ver que el núcleo de la estrategia es construir una caja de Darvas y generar una señal de compra cuando el precio se rompe en la caja y generar una señal de venta cuando el precio se rompe en la parte inferior de la caja. La estrategia también utiliza indicadores técnicos como el promedio móvil, el MACD y el RSI para confirmar las señales de negociación, y utiliza técnicas de gestión de riesgo como el porcentaje de stop loss y el riesgo de retorno para controlar el riesgo de cada operación.

Principio de estrategia

  1. La construcción de la caja de Darvas:

    • Utiliza la función input.int() para configurar el ciclo de la caja ((boxp), con 5 ciclos por defecto.
    • Los precios mínimos (LL) y máximos (k1, k2, k3) en el ciclo de cálculo.
    • Determina las condiciones para la formación de la nueva altura (NH) y la caja (box1) .
    • Definir las cajas en la parte superior (TopBox) y en la parte inferior (BottomBox)
  2. Se generan señales de transacción:

    • La señal de compra ((Buy): se activa cuando el precio de cierre se cruza por la caja.
    • La señal de venta ((Sell): se activa cuando el precio de cierre se encuentra debajo de la caja.
  3. Ejecución de la estrategia:

    • Utiliza la función strategy.entry (() para abrir más posiciones cuando aparece una señal de compra.
    • Utiliza la función strategy.close () para cerrar la posición cuando aparece una señal de venta.
  4. La imagen fue tomada de YouTube.

    • Utiliza la función plot() para trazar el límite superior e inferior de la caja de Darvas.
    • Utiliza la función plotshape (()) para marcar las señales de compra y venta en el gráfico.
  5. Gestión de riesgos:

    • Establece el porcentaje de fondos por transacción mediante los parámetros de default_qty_type y de default_qty_value.
    • Se puede controlar el tamaño de la caja ajustando los parámetros de boxp, lo que afecta indirectamente el stop loss.

Ventajas estratégicas

  1. Seguimiento de tendencias: La estrategia de la caja de Darvas es eficaz para capturar las tendencias al alza del mercado, especialmente adecuada para obtener ganancias significativas en mercados fuertes.

  2. Objetividad: Las estrategias se basan en modelos matemáticos y indicadores técnicos claros, lo que reduce el desvío de los juicios subjetivos.

  3. Control de riesgos: El establecimiento de una proporción fija de capital para el comercio, controla eficazmente el umbral de riesgo de una sola transacción.

  4. Flexibilidad: los parámetros de la estrategia se pueden ajustar para adaptarse a diferentes entornos de mercado y variedades de operaciones.

  5. Soporte de visualización: permite a los operadores comprender y monitorear la ejecución de la estrategia mediante la visualización de las cajas de Darvas y las señales de negociación en el gráfico.

  6. Automatización de las operaciones: Las estrategias se pueden integrar fácilmente en los sistemas de operaciones automáticas, reduciendo la intervención humana.

Riesgo estratégico

  1. Riesgo de brechas falsas: En mercados convulsos, las brechas falsas pueden ser frecuentes y dar lugar a demasiadas señales falsas.

  2. Retraso: La formación de la caja de Darvas lleva tiempo y puede perder algunas oportunidades de mercado rápidas.

  3. Riesgo de retroceso: en un mercado con gran volatilidad, los precios pueden retroceder rápidamente después de que se activa una señal de compra, lo que genera una mayor pérdida.

  4. Sensibilidad de los parámetros: el rendimiento de la política es sensible a la configuración de los parámetros de boxp, los parámetros incorrectos pueden causar un mal rendimiento de la política.

  5. La falta de mecanismos de frenado: La falta de un mecanismo de frenado claro en las estrategias actuales puede llevar a perder el mejor momento para obtener ganancias.

Para reducir estos riesgos, se pueden considerar las siguientes medidas:

  • En combinación con otros indicadores técnicos, como las medias móviles o el RSI, se filtran las falsas señales de ruptura.
  • La adopción de estrategias de stop loss dinámicas, como el seguimiento de los stops, para proteger mejor los beneficios.
  • Introducción de indicadores de volatilidad para ajustar el tamaño de las operaciones o suspender las operaciones en períodos de alta volatilidad.
  • Buscar la configuración más adecuada para el mercado objetivo mediante la optimización de los parámetros de boxp.
  • Aumentar las condiciones de stop-loss, como el cierre automático de la posición cuando el precio alcanza un nivel de ganancias determinado.

Dirección de optimización de la estrategia

  1. La señal está confirmada.

    • La integración de las medias móviles cruzadas o MACD para confirmar la efectividad de la ruptura.
    • Se introdujo el análisis de tráfico para confirmar la señal de ruptura solo cuando el tráfico aumenta significativamente.
  2. Ajuste de los parámetros dinámicos:

    • Ajuste el parámetro de boxp de acuerdo con la fluctuación dinámica del mercado, utilice un boxp más grande en períodos de baja volatilidad y un boxp más pequeño en períodos de alta volatilidad.
    • El tamaño de la caja de Darvas se adapta, lo que le permite ajustarse automáticamente a las fluctuaciones recientes de los precios.
  3. Optimización de la gestión de riesgos:

    • Aumentar los mecanismos de detención de pérdidas dinámicas, como el porcentaje de seguimiento de las pérdidas o la detención de las pérdidas ATR.
    • Realizar una gestión de posiciones basada en el riesgo-rendimiento, aumentando las posiciones cuando el riesgo-rendimiento es alto y reduciendo las posiciones cuando el riesgo-rendimiento es bajo.
  4. Análisis de marcos de tiempo múltiples:

    • Construir una caja de Darvas en un marco de tiempo más grande para determinar la tendencia general.
    • Buscar oportunidades de entrada en un marco de tiempo más corto y mejorar la precisión de las transacciones.
  5. La integración del aprendizaje automático:

    • El uso de algoritmos de aprendizaje automático para predecir la probabilidad de éxito de la ruptura de la caja de Darvas.
    • Optimización de los parámetros de la estrategia a través de modelos de aprendizaje profundo para mejorar el rendimiento general de la estrategia.
  6. El mercado se adapta:

    • Introducir mecanismos para identificar el entorno del mercado y adoptar diferentes estrategias de negociación en diferentes estados del mercado (trend, oscilación, reversión).
    • Ajuste automático de la frecuencia y el tamaño de las transacciones en períodos de alta volatilidad para adaptarse a los cambios en el mercado.

Estas direcciones de optimización tienen como objetivo aumentar la estabilidad y la rentabilidad de las estrategias, al tiempo que se reduce el riesgo. Mediante la introducción de más herramientas de análisis técnico y técnicas de gestión de riesgos, las estrategias pueden adaptarse mejor a diferentes entornos de mercado y aumentar la probabilidad de obtener ganancias a largo plazo.

Resumir

La estrategia de Darvas Box Breakout y Risk Management es una estrategia de negociación cuantitativa que combina los métodos clásicos de análisis técnico y las modernas ideas de control de riesgo. Utiliza la teoría de la caja de Darvas para capturar brechas de precios y controlar el riesgo de negociación a través de una estricta gestión de riesgos. La estrategia tiene la ventaja de su objetividad, capacidad de seguimiento de tendencias y control de riesgos, pero también se enfrenta a desafíos como brechas falsas y sensibilidad a los parámetros.

A través de un análisis y optimización en profundidad, proponemos una serie de mejoras, que incluyen confirmación de señales, ajuste de parámetros dinámicos, optimización de la gestión de riesgos, análisis de múltiples marcos de tiempo, integración de aprendizaje automático y adaptación al entorno del mercado. Estas medidas de optimización tienen la esperanza de mejorar la estabilidad y la rentabilidad de las estrategias, para que se adapten mejor a diferentes entornos del mercado.

Para los comerciantes, entender y aplicar correctamente esta estrategia requiere un profundo conocimiento del mercado y la capacidad de análisis técnico. Al mismo tiempo, la constante retroalimentación y optimización de los parámetros también es clave para mantener la efectividad de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Darvas Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input settings
boxp = input.int(defval=5, title="Length", minval=1, maxval=500)

// Calculate the lowest low and highest highs
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// Calculate New High (NH)
NH = ta.valuewhen(high > k1[1], high, 0)
box1 = k3 < k2

// Define the top and bottom of the Darvas Box
TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

// Plot the Darvas Box
plot(TopBox, linewidth=2, color=color.new(color.green, 0), title="TBbox")
plot(BottomBox, linewidth=2, color=color.new(color.red, 0), title="BBbox")

// Buy and Sell signals
Buy = ta.crossover(close, TopBox)
Sell = ta.crossunder(close, BottomBox)

// Set strategy orders
if (Buy)
    strategy.entry("Buy", strategy.long)
if (Sell)
    strategy.close("Buy")

// Alert conditions
alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")

// Plot Buy and Sell signals
plotshape(Buy, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), size=size.tiny, title="Buy Signal", text="Buy", textcolor=color.black)
plotshape(Sell, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny, title="Sell Signal", text="Sell", textcolor=color.white)