Estrategia de tendencia con bandas de Bollinger + RSI + media móvil múltiple

BB RSI MA SMA MACD
Fecha de creación: 2024-05-27 15:20:40 Última modificación: 2024-05-27 15:20:40
Copiar: 2 Número de Visitas: 1189
1
Seguir
1617
Seguidores

Estrategia de tendencia con bandas de Bollinger + RSI + media móvil múltiple

Descripción general

Esta estrategia combina bandas de Brin, RSI, múltiples medias móviles y MACD para construir un sistema de negociación completo. En primer lugar, se determina la volatilidad de los precios a través de Brin y se utiliza la posición de los precios en relación con el centro de la banda de Brin para determinar la tendencia.

Principio de estrategia

  1. Utilizando el cinturón de Brin de 20 ciclos, 2 veces el estándar de diferencia, se puede determinar la tendencia a través de la posición del precio de cierre en relación con la órbita central del cinturón de Brin.
  2. Calcula el RSI de 14 ciclos y determina sobreventa y sobreventa mediante el cruce del RSI con los niveles 30 y 70 para identificar una posible reversión.
  3. Calcule las medias móviles simples de 34, 89, 144, 233, 377 y 610 ciclos para confirmar la tendencia a través de la disposición de varios extremos de la línea media, que también puede servir como punto de resistencia de soporte.
  4. El indicador MACD se calcula con base en los parámetros 12, 26 y 9 y se ayuda a determinar la reversión de la tendencia mediante el cruce de la columna MACD con el eje 0.
  5. La lógica de la apertura de posiciones en la bolsa de valores se basa en los siguientes indicadores:
    • Abrir posiciones: abrir más posiciones cuando el precio de cierre está por encima de la banda media de Brin y la media a corto plazo está por encima de la media a largo plazo.
    • Posiciones de equilibrio: cuando el precio de cierre cae por debajo de la órbita media de la banda de Brin, la mitad de las posiciones de equilibrio, y cuando la línea media a corto plazo cae por debajo de la línea media a largo plazo, todas las posiciones de equilibrio.

Ventajas estratégicas

  1. Las bandas de Brin son capaces de cuantificar objetivamente las fluctuaciones de los precios, proporcionando una base para juzgar las tendencias.
  2. La introducción del indicador RSI puede ayudar a determinar si el mercado está sobrecomprado o sobrevendido y a capturar posibles oportunidades de cambio de tendencia.
  3. La combinación de varias líneas medias permite un análisis más completo de las tendencias en las diferentes escalas de tiempo.
  4. El indicador MACD puede servir como un auxiliar para la determinación de tendencias y reversiones, aumentando la fiabilidad de la señal.
  5. La lógica de la apertura de posiciones incluye la idea de la gestión de posiciones, que reduce gradualmente las posiciones para controlar el riesgo en caso de incertidumbre de tendencias.

Riesgo estratégico

  1. En situaciones de convulsiones, las bandas de Bryn y los sistemas uniformes pueden generar señales frecuentes y contradictorias.
  2. Los indicadores RSI y MACD pueden permanecer en zonas de sobrecompra y sobreventa durante largos períodos de tiempo en condiciones de fuerte tendencia, perdiendo el juicio.
  3. La selección de parámetros (como el ciclo de la banda de Bryn, el ciclo de la línea media, etc.) tiene cierta subjetividad, y diferentes parámetros pueden traer diferentes resultados.
  4. La falta de un mecanismo de suspensión de pérdidas puede aumentar el riesgo de una sola transacción.
  5. En los casos extremos, como el de los cisnes negros, la respuesta podría no ser oportuna, lo que generaría un mayor retroceso.

Dirección de optimización de la estrategia

  1. Optimización más sistemática de los parámetros de los diferentes indicadores, como el ciclo y la anchura de la banda de Brin, el ciclo y el umbral del RSI, etc.
  2. Introducir más señales de confirmación, como cambios en el volumen de tráfico, para mejorar la fiabilidad de la señal.
  3. La introducción de mecanismos de stop loss y stop-loss en las condiciones de apertura de posiciones permitirá controlar mejor el riesgo de una sola operación.
  4. Considerar la introducción de un mecanismo de ajuste de posición para ajustar posiciones con flexibilidad en diferentes condiciones de mercado y mejorar la relación de riesgo-ganancias.
  5. El diseño de respuestas al pronóstico para situaciones extremas, como la cobertura basada en el índice VIX o el peso dinámico del factor Alpha.

Resumir

La estrategia se basa en varias dimensiones para construir un sistema de negociación más completo, que incluye el juicio de tendencias, el juicio de sobreventa y sobreventa, el análisis de múltiples escalas de tiempo, el control de posiciones, etc. Sin embargo, la estrategia aún debe optimizarse para responder a situaciones convulsivas y extremas, y carece de una optimización de parámetros y un control de riesgos más sistemáticos. En el futuro, se puede seguir mejorando hacia señales de arbitraje más precisas, reajuste de poderes dinámicos y respuesta a situaciones extremas.

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

//@version=5
strategy("Bollinger Bands + RSI Strategy with MA", overlay=true)

// Bollinger Bands
length = input.int(20, title="BB Length")
mult = input.float(2.0, title="BB Mult")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev

// RSI
rsi_length = input.int(14, title="RSI Length")
rsi_oversold = input.int(30, title="RSI Oversold", minval=0, maxval=100)
rsi_overbought = input.int(70, title="RSI Overbought", minval=0, maxval=100)
rsi = ta.rsi(close, rsi_length)

// RSI Divergence
rsi_divergence_bottom = ta.crossunder(rsi, rsi_oversold)
rsi_divergence_peak = ta.crossunder(rsi_overbought, rsi)

// Moving Averages
ma34 = ta.sma(close, 34)
ma89 = ta.sma(close, 89)
ma144 = ta.sma(close, 144)
ma233 = ta.sma(close, 233)
ma377 = ta.sma(close, 377)
ma610 = ta.sma(close, 610)

// MACD Calculation
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
macd_histogram = macd_line - signal_line

// MACD Divergence
macd_divergence_bottom = ta.crossunder(macd_histogram, 0)
macd_divergence_peak = ta.crossover(macd_histogram, 0)

// Conditions for Buy and Sell
basis_gt_ma34 = basis > ma34
ma34_gt_ma89 = ma34 > ma89

// Entry condition
buy_condition = basis_gt_ma34 and ma34_gt_ma89 
sell_condition =  basis <ma34

// Calculate position size
position_size = 1.0  // 100% capital initially

// Update position size based on conditions
if (sell_condition)
    position_size := 0.5  // Sell half of the position
if (not basis_gt_ma34)
    position_size := 0.0  // Sell all if basis < ma34

// Entry and exit strategy
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=position_size)
if (sell_condition)
    strategy.close("Buy")

// Plot Bollinger Bands and Moving Averages
bb_fill_color = basis > basis[1] ? color.new(color.blue, 90) : color.new(color.blue, 10)
plot(basis, color=color.blue, title="Basis")
plot(upper_band, color=color.red, title="Upper Band")
plot(lower_band, color=color.green, title="Lower Band")
fill(plot1=plot(upper_band), plot2=plot(lower_band), color=bb_fill_color, title="BB Fill")
plot(ma34, color=color.orange, title="MA34")
plot(ma89, color=color.purple, title="MA89")
plot(ma144, color=color.gray, title="MA144")
plot(ma233, color=color.blue, title="MA233")
plot(ma377, color=color.red, title="MA377")
plot(ma610, color=color.green, title="MA610")

// Plot RSI Divergence
plotshape(series=rsi_divergence_bottom, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small)
plotshape(series=rsi_divergence_peak, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small)

// Plot MACD Histogram Divergence
plotshape(series=macd_divergence_bottom, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(series=macd_divergence_peak, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)