Estrategia de seguimiento de tendencias de ruptura de bandas de Bollinger


Fecha de creación: 2023-09-22 14:31:17 Última modificación: 2023-09-22 14:31:17
Copiar: 1 Número de Visitas: 678
1
Seguir
1617
Seguidores

Descripción general

La estrategia es una estrategia de seguimiento de tendencias basada en el indicador de la banda de Brin. Utiliza una ruptura en la banda de Brin para determinar la dirección de la tendencia y abrir una posición en la dirección correspondiente. Cuando el precio comienza a retroceder, utiliza un stop loss de seguimiento con intervalos dinámicos para salir de la posición y obtener ganancias.

Principio de estrategia

La estrategia utiliza el indicador de la banda de Brin para determinar la dirección de la tendencia. La banda de Brin construye un alza y un descenso mediante el cálculo de la diferencia estándar de los precios. Cuando el precio rompe la banda de Brin, se considera que la tendencia comienza hacia arriba; cuando el precio rompe la banda de Brin, se considera que la tendencia comienza hacia abajo.

La lógica de la transacción es la siguiente:

  1. Cálculo de las vías media, superior y inferior de la banda de Brin.

  2. Cuando el precio rompe la vía, abre una carta más; cuando el precio rompe la vía, abre una carta vacía.

  3. El uso de tracking stop loss para controlar el riesgo, cuando el precio comienza a retroceder.

  4. La nueva brecha en la órbita del cinturón de Bryn se produce cuando se vuelve a entrar en la tendencia.

El uso de las bandas de Brin para determinar la dirección de la tendencia, junto con el seguimiento dinámico del stop loss, puede controlar el riesgo de manera efectiva.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso del indicador de la banda de Brin para determinar tendencias es simple y eficaz.

  2. La combinación de entrada de ruptura y trailing stop loss dinámico, que incluye captura de tendencias y control de riesgo.

  3. La estructura del código es clara y concisa, fácil de entender y modificar.

  4. Los parámetros son más pequeños y más fáciles de optimizar

  5. Aplicable a diferentes variedades y es muy flexible.

  6. La detección es buena y hay mucho espacio para ganar.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Las bandas de Bryn son basadas en características estadísticas y tienen un riesgo de ajuste a la curva.

  2. No se puede distinguir la expansión de la verdadera tendencia, y puede ser mal interpretado.

  3. El punto de parada es demasiado denso y puede verse afectado por la oscilación normal de los precios.

  4. No se tiene en cuenta el impacto en el costo de la transacción.

  5. El tiempo de detección es limitado y puede ser excesivo.

Soluciones para ello:

  1. Optimizar los parámetros o introducir otras señales de verificación de indicadores.

  2. Aumentar la identificación de las vibraciones y los canales.

  3. El punto de parada se ajusta dinámicamente según indicadores como el ATR.

  4. Además de las comisiones, se calcula el punto de deslizamiento.

  5. Aumentar el rango de tiempo de respuesta y la verificación en varios mercados.

Dirección de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Prueba de la combinación de diferentes indicadores.

  2. Aumentar la identificación de las fluctuaciones de tendencias.

  3. Introducción de parámetros de optimización dinámica para el método de aprendizaje automático.

  4. Optimización de las estrategias de stop loss basadas en el feedback.

  5. Evaluar y incluir el impacto de los costos de las transacciones.

  6. Optimiza el espacio de los parámetros para encontrar el parámetro óptimo Settings。

  7. Aumentar la gestión del dinero para controlar el riesgo de las posiciones.

Resumir

La estrategia determina la dirección de la tendencia a través de indicadores de la banda de Brin y controla el riesgo con el seguimiento de los puntos de parada. La lógica de negociación general es simple y clara. La estrategia tiene un buen efecto de captura de tendencias, pero puede mejorarse introduciendo más indicadores técnicos, parámetros de optimización y la adición de cálculos de costos para que la estrategia sea más estable y confiable. En general, la estrategia ofrece una idea de comercio de seguimiento de tendencias simple y práctica basada en la banda de Brin.

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

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB Strategy",initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, commission_type = strategy.commission.percent, commission_value = 0.3, max_bars_back = 1000, overlay=true)

// Inputs //

sma = input(20,  minval=1)
mult   = input(1.2, minval=0.001, maxval=50)
src = input(close)

// alert msg  //

message_long_entry  = input("long entry")
message_short_entry = input("short entry")

// Calculations //

basis = sma(close, sma)
dev   = mult * stdev(close, sma)

upper = basis + dev
lower = basis - dev

// Backtest //
fromyear = input(2019, defval = 2019, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(1, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

leverage = input(1, "Leverage")

term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))

// PLOT //

plot(basis, color = color.gray,  linewidth = 2)
lu = plot(upper, color = color.green, linewidth = 2)
ll = plot(lower, color = color.red,   linewidth = 2)

fill(lu, ll, color = color.gray)

// Signals //

long  = crossover(close, upper)
short = crossunder(close, lower)

// Strategy entry //
strategy.initial_capital = 50000
if (long and term)
    strategy.entry("long",  strategy.long, qty=strategy.initial_capital/close*leverage, when = long and barstate.isconfirmed, alert_message = message_long_entry)
    
if (short and term)
    strategy.entry("short",  strategy.short, qty=strategy.initial_capital/close*leverage, when = short and barstate.isconfirmed, alert_message = message_short_entry)

// strategy exit //

strategy.exit("long tsl", "long", loss = close*0.075 / syminfo.mintick, trail_points = close*0.05 / syminfo.mintick, trail_offset = close*0.005 / syminfo.mintick)
strategy.exit("short tsl", "short", loss = close*0.075 / syminfo.mintick, trail_points = close*0.05 / syminfo.mintick, trail_offset = close*0.005 / syminfo.mintick)