En la carga de los recursos... Cargando...

Estrategia de ruptura de las bandas de Bollinger de Turtle-ATR

El autor:¿ Qué pasa?, Fecha: 2024-06-03 10:48:09
Las etiquetas:El ATR

img

Resumen general

Esta es una estrategia de seguimiento de tendencias basada en las reglas de Turtle Trading. La estrategia utiliza ATR (Average True Range) para determinar la dirección de la tendencia y el tamaño de la posición de negociación. Cuando el precio rompe con el precio más alto o más bajo en un cierto período, la estrategia abrirá una posición larga o corta. La posición se mantendrá hasta que el precio rompa con el precio más bajo o más alto en un cierto período, momento en el que la estrategia cerrará la posición.

Principio de la estrategia

El núcleo de esta estrategia es utilizar el indicador ATR para determinar la dirección de la tendencia y el tamaño de la posición de negociación. El indicador ATR puede medir la volatilidad del mercado, ayudándonos a determinar los niveles de stop-loss y tamaños de posición apropiados. Los pasos principales de la estrategia son los siguientes:

  1. Calcular el valor del indicador ATR.
  2. Determinar los niveles de precio de ruptura para posiciones largas y cortas.
  3. Si el precio se rompe por encima del precio de ruptura larga, abrir una posición larga; si el precio se rompe por debajo del precio de ruptura corta, abrir una posición corta.
  4. Calcular el tamaño de la posición para cada operación sobre la base del valor del indicador ATR y el saldo de la cuenta.
  5. Mantener la posición hasta que el precio rompa el precio más bajo (para posiciones largas) o el precio más alto (para posiciones cortas) durante un determinado período, y luego cerrar la posición.

El uso del indicador ATR nos ayuda a ajustar dinámicamente los tamaños de las posiciones para adaptarnos mejor a la volatilidad del mercado.

Ventajas estratégicas

  1. Seguimiento de tendencias: La estrategia tiene como objetivo capturar mercados con tendencias fuertes, generando así beneficios sustanciales.
  2. Control de riesgos: mediante el uso del indicador ATR para determinar los tamaños de las posiciones y los niveles de stop-loss, la estrategia puede controlar el riesgo de manera efectiva.
  3. Adaptabilidad: el indicador ATR puede ajustarse dinámicamente, lo que permite que la estrategia se adapte a diferentes entornos de mercado.
  4. Simplicidad: La lógica de la estrategia es clara y fácil de entender y aplicar.

Riesgos estratégicos

  1. Inversión de tendencia: cuando las tendencias del mercado se invierten repentinamente, la estrategia puede sufrir pérdidas significativas.
  2. Mercados agitados: en mercados agitados, la estrategia puede abrir y cerrar posiciones con frecuencia, lo que lleva a altos costos de negociación.
  3. Sensibilidad de parámetros: el rendimiento de la estrategia puede ser sensible a la configuración de parámetros, y los parámetros inadecuados pueden conducir a un rendimiento deficiente.

Para hacer frente a estos riesgos, se pueden considerar las siguientes soluciones:

  1. Introducir un mecanismo de confirmación de tendencias para evitar la apertura prematura de posiciones cuando las tendencias se invierten.
  2. Reducir el tamaño de las posiciones o suspender las operaciones en mercados agitados.
  3. Optimice los parámetros para encontrar la mejor combinación.

Direcciones para la optimización de la estrategia

  1. Introducir más indicadores: Además del indicador ATR, considere la posibilidad de introducir otros indicadores de confirmación de tendencias, como las medias móviles, para mejorar la precisión de la identificación de tendencias.
  2. Ajuste dinámico de parámetros: Ajuste dinámico de parámetros de estrategia basados en diferentes entornos de mercado, como el período ATR y el período de precios de ruptura, para adaptarse a los cambios del mercado.
  3. Incorpore un mecanismo de toma de ganancias: después de lograr una cierta ganancia, considere cerrar parcialmente las posiciones para bloquear las ganancias y reducir el riesgo.
  4. Gestión de posiciones largas/cortas: Considere la posibilidad de gestionar posiciones largas y cortas por separado, por ejemplo, utilizando diferentes estándares de stop-loss y take-profit, para mejorar la flexibilidad de la estrategia.

A través de las optimizaciones anteriores, la estabilidad y la rentabilidad de la estrategia pueden mejorarse aún más.

Resumen de las actividades

La Estrategia de Breakout de Bandas de Bollinger es una estrategia de seguimiento de tendencias basada en las reglas de Turtle Trading. La estrategia utiliza el indicador ATR para determinar la dirección de la tendencia y el tamaño de la posición de negociación, abriendo posiciones cuando el precio se rompe con el precio más alto o más bajo durante un cierto período y manteniendo posiciones hasta que la tendencia se invierta. Las ventajas de la estrategia se encuentran en su capacidad de capturar mercados de tendencia fuerte mientras controla estrictamente el riesgo. Sin embargo, la estrategia también enfrenta riesgos como inversiones de tendencia, mercados agitados y sensibilidad de parámetros. Para mejorar aún más el rendimiento de la estrategia, se pueden considerar optimizaciones en áreas como introducir más indicadores, ajustar dinámicamente los parámetros, incorporar mecanismos de toma de ganancias y optimizar la gestión de posiciones.


/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 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/
// © luisfeijoo22

//@version=5
strategy("Estrategia de las tortugas_ES", overlay=true, pyramiding=3)

// Parámetros 
atrLength = input.int(20, "Longitud del ATR")
atrFactor = input.float(2, "Factor del ATR")
entryBreakout = input.int(20, "Breakout de entrada")
exitBreakout = input.int(10, "Breakout de salida")
longOnly = input.bool(false, "Solo largos")
shortOnly = input.bool(false, "Solo cortos")


// Cálculo del ATR
atr = ta.atr(atrLength)

// Cálculo de los niveles de breakout
longEntry = ta.highest(high, exitBreakout)[1]
longExit = ta.lowest(low, exitBreakout)[1]
shortEntry = ta.lowest(low, exitBreakout)[1]
shortExit = ta.highest(high, exitBreakout)[1]

// Cálculo del tamaño de la posición
nContracts = math.floor((strategy.equity * 0.01) / (atrFactor * atr))

// Filtra las fechas según el rango deseado
// in_range = time >= timestamp(year(start_date), month(start_date), dayofmonth(start_date)) 

// Condiciones de entrada y salida
longCondition = not longOnly and close > longEntry and time >= timestamp("2023-03-15")
if longCondition
    strategy.entry("Long", strategy.long, qty = nContracts)

shortCondition = not shortOnly and close < shortEntry and time >=  timestamp("2023-03-15")
if shortCondition
    strategy.entry("Short", strategy.short, qty = nContracts)
    
strategy.exit("Exit Long", "Long", stop = longExit)
strategy.exit("Exit Short", "Short", stop = shortExit)

// Visualización de los niveles de breakout
plot(longEntry, "Entrada larga", color.green, style = plot.style_line)
plot(longExit, "Salida larga", color.red, style = plot.style_line)
plot(shortEntry, "Entrada corta", color.green, style = plot.style_line)
plot(shortExit, "Salida corta", color.red, style = plot.style_line)



Relacionados

Más.