Estrategia de reversión de ruptura con stop loss

El autor:¿ Qué pasa?, fecha: 2024-02-05 14:56:16
Las etiquetas:

img

Resumen general

Esta es una estrategia de negociación cuantitativa larga / corta basada en la teoría del breakout. Calcula el precio de cierre más alto en los últimos 100 días de negociación y determina si ocurre un breakout basado en si el último precio de cierre excede ese nivel. Si se detecta un breakout, se activa una señal larga. Después de ingresar a largo, la posición se cerrará con un stop loss después de 25 barras.

Estrategia lógica

La lógica central de esta estrategia aprovecha la teoría del breakout en el análisis técnico. La teoría del breakout cree que cuando el precio rompe el nivel más alto o más bajo reciente durante un período de tiempo, indica una inversión y el mercado puede comenzar una nueva tendencia alcista o bajista.

Específicamente, esta estrategia utiliza la función integrada de Pine Scriptta.highest()Para calcular el cierre más alto en los últimos 100 bares. Luego compara si el precio de cierre del barro actual es superior a ese nivel. Si el precio de cierre rompe y excede el precio de cierre más alto de 100 días, se activa una señal de entrada larga.

Una vez que entra en una posición larga, la estrategia establece una condición de stop loss para cerrar la posición.ta.barssince()Para contar el número de barras transcurridas desde que entró en largo, obligará a cerrar la posición después de 25 barras.

La lógica de entrada se puede resumir como:

  1. Calcular el cierre más alto de los últimos 100 días de negociación
  2. Comparar si el precio de cierre de la barra actual excede el precio de cierre más alto
  3. Si excede, activa la señal de entrada larga
  4. Cierre de la posición larga mediante stop loss después de 25 bar

Análisis de ventajas

La mayor ventaja de esta estrategia es capturar los puntos de inversión de precios con una tasa de éxito relativamente alta de operaciones que siguen la tendencia.

Las ventajas concretas son:

1. Seguimiento de tendencias, mayor tasa de éxito

La teoría de la ruptura cree que después de que el precio excede un nivel clave, puede comenzar una nueva tendencia.

2. Riesgo controlado, con stop loss

La estrategia establece una salida de stop loss forzada después de 25 barras a la pérdida máxima de una sola operación, evitando una pérdida enorme.

Apto para la tenencia a medio y largo plazo

El período de retención predeterminado es de 25 barras, aproximadamente 1 mes. Esta frecuencia es adecuada para estrategias de mediano a largo plazo, no demasiado corta para los whipssaws y no demasiado larga para aumentar el riesgo.

4. Pocos parámetros, fácil de optimizar

En la actualidad, la mayoría de los mercados de divisas se encuentran en el mercado de divisas, pero la mayor parte de los mercados de divisas se encuentran en el mercado de divisas.

5. Transferible entre diferentes productos

Esta estrategia no responde a los indicadores peculiares de ciertos productos. Su lógica se aplica a las acciones, divisas, materias primas, criptomonedas, etc. Por lo tanto, es flexible para cambiar entre productos.

Análisis de riesgos

Si bien esta estrategia tiene algunas ventajas, también hay algunos riesgos al implementarla en el comercio real, principalmente:

El riesgo de mantener posiciones perdedoras

La estrategia no tiene un stop loss para seguir posiciones rentables. Si la tendencia del precio no continúa como se esperaba, o la ruptura resulta ser una falsa ruptura, entonces la salida forzada en el punto de stop loss preestablecido puede conducir a una gran pérdida. Este es el mayor riesgo.

2. Puede ser necesario ajustar los parámetros

Los parámetros predeterminados pueden no ser óptimos. Necesitan ser optimizados durante la negociación en vivo para encontrar el mejor ajuste para regímenes específicos de productos y mercados. Esto agrega trabajo adicional.

3. Correlación del rendimiento con los mercados

La estrategia se basa demasiado en tendencias de precios persistentes. No funciona bien durante los regímenes de rango limitado. Si se encuentran mercados de frota, a menudo se producirá una salida forzada que conduce a ganancias / pérdidas inestables.

Optimización

Para que esta estrategia sea más sólida y rentable para el despliegue real, se pueden realizar algunas mejoras en los siguientes aspectos:

1. añadir el mecanismo de pérdida de parada de seguimiento

Agregue una lógica de stop loss para seguir posiciones rentables, actualizando dinámicamente el punto de stop loss basado en ganancias flotantes.

2. Parámetros de adaptación basados en los mercados

Hacer que los parámetros como el período de ruptura y el período de retención sean adaptables basados en la fuerza del mercado, cuantificados utilizando métricas como ATR. Esto puede ajustar dinámicamente los parámetros.

**3. Combinar los filtros de tendencia **

Mejor filtrado de tendencias poco claras al aplicar la estrategia, mediante el análisis de tendencias de antemano, ya sea discrecional o cuantitativamente.

4. Prueba en diferentes productos y intervalos

La prueba de los parámetros y reglas optimizados en diferentes productos (por ejemplo, índices, materias primas, divisas, criptomonedas) e intervalos (por ejemplo, barras diarias de 60 millones) hará que esta estrategia sea más robusta y ampliamente aplicable.

Conclusión

Esta estrategia de reversión de ruptura con stop loss es fácil de implementar con reglas claras sobre identificación de tendencias y gestión de posiciones. Analizamos su fortaleza y riesgos, proporcionamos sugerencias para mejorar su rentabilidad y aplicabilidad.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © All_Verklempt

//@version=5
strategy("Breakout Strategy", overlay=true)

// Input variable for breakout period
breakoutPeriod = input.int(100, title="Breakout Period", minval=1)

// Calculate the highest close of the past breakout period
highestClose = ta.highest(close, breakoutPeriod)

// Input variables for start and end dates
startYear = input.int(2022, title="Start Year", minval=1900)
startMonth = input.int(1, title="Start Month", minval=1, maxval=12)
startDay = input.int(1, title="Start Day", minval=1, maxval=31)

endYear = input.int(2023, title="End Year", minval=1900)
endMonth = input.int(12, title="End Month", minval=1, maxval=12)
endDay = input.int(31, title="End Day", minval=1, maxval=31)

// Convert start and end dates to timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// Entry condition: Breakout and higher close within the specified date range
enterLong = close > highestClose[1] and close > close[1]

// Exit condition: Close the long position after twenty-five bars
exitLong = ta.barssince(enterLong) >= 25

// Strategy logic
if (enterLong)
    strategy.entry("Long", strategy.long)

if (exitLong)
    strategy.close("Long")


Más.