
La estrategia es un sistema de intercambio de bandas dinámicas que combina las bandas de Bollinger y el índice relativamente débil RSI. Captura los puntos de inflexión del mercado mediante la monitorización de los cruces de los precios con las bandas de Bollinger y los niveles de sobreventa y sobreventa del RSI. La idea central de la estrategia es buscar oportunidades de rebote cuando el mercado está sobreventa y detenerse a tiempo cuando el mercado está sobreventa.
La estrategia utiliza la banda de Brin de 20 ciclos y el indicador RSI de 14 ciclos como indicadores técnicos centrales. La banda de Brin se compone de tres líneas: la mediana ((mediana de 20 ciclos de la media móvil simple), la mediana ((mediana de 2 veces la diferencia estándar) y la mediana (mediana de 2 veces la diferencia estándar). La señal de compra se activa cuando se cumplen simultáneamente dos condiciones: el precio rompe la banda de Brin de abajo hacia arriba y el RSI es inferior a 45 ((una y media vez el 30 normal). La señal de venta se activa cuando el precio se rompe hacia abajo y el RSI es superior a 70.
Riesgo de mercado en movimiento: Se pueden producir falsas brechas frecuentes en mercados en movimiento horizontal. Sugerencia: Se puede agregar un filtro de tendencia, que permite abrir posiciones solo cuando la tendencia es clara.
Riesgo de retraso: el retraso causado por el cálculo de la media móvil puede afectar la puntualidad de la señal. Recomendación: Considere el uso de indicadores de menor ciclo como confirmación auxiliar.
Riesgo de optimización excesiva: la optimización de los parámetros puede conducir a una adaptación excesiva de los datos históricos. Se recomienda realizar pruebas completas en diferentes períodos de tiempo y en diferentes entornos de mercado.
Añadir filtro de tendencia: puede introducir ADX o promedios móviles a largo plazo para determinar la intensidad de la tendencia, solo comerciar cuando la tendencia es clara.
Optimización de la configuración de stop loss: se puede configurar la posición de stop loss en función de la configuración dinámica de ATR, lo que aumenta la flexibilidad del control de riesgo.
Introducción de la confirmación de tránsito: la adición de análisis de tránsito, que requiere la confirmación de la carga en el momento de la ruptura, mejora la fiabilidad de la señal.
Gestión de posiciones mejorada: ajuste automático de la escala de apertura de posiciones según la volatilidad del mercado y el riesgo de la cuenta.
Esta es una estrategia madura que combina el análisis técnico con los indicadores clásicos, que se utiliza en combinación con el Brin Belt y el RSI para capturar las tendencias generales y controlar los riesgos. La estrategia está diseñada con claridad de concepto, la implementación es sencilla y tiene una buena practicidad.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Bollinger Bands + RSI Strategy", overlay=true)
// Bollinger Bands Parameters
length = input.int(20, title="Bollinger Length")
src = close
mult = input.float(2.0, title="Bollinger Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// RSI Parameters
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50)
rsiOversold = input.int(30, title="RSI Oversold Level", maxval=50)
rsiValue = ta.rsi(src, rsiLength)
// Buy and Sell Conditions
buyCondition = ta.crossover(src, lower) and rsiValue < 1.5 * rsiOversold
sellCondition = ta.crossunder(src, upper) and rsiValue > rsiOverbought
// Plot Bollinger Bands
plot(basis, color=color.blue, title="Basis")
p1 = plot(upper, color=color.red, title="Upper Band")
p2 = plot(lower, color=color.green, title="Lower Band")
fill(p1, p2, color=color.gray, transp=90)
// Plot RSI
//hline(rsiOverbought, "Overbought", color=color.red)
//hline(rsiOversold, "Oversold", color=color.green)
// Execute Orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// Display signals on the chart
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")