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

El RSI doble combinado con la banda de Bollinger para el seguimiento de tendencias

El autor:¿ Qué pasa?, Fecha: 2023-09-19 22:10:02
Las etiquetas:

Resumen general

Esta estrategia utiliza indicadores RSI duales para identificar condiciones de sobrecompra y sobreventa, combinados con rupturas de la banda de Bollinger para generar señales comerciales. Pertenece a la categoría de estrategia de seguimiento de tendencias. El objetivo es mejorar la confiabilidad de la señal mediante la combinación de múltiples indicadores y obtener ganancias de tendencias obvias.

Análisis de principios

La estrategia emplea dos RSI con diferentes marcos de tiempo para juzgar el estado de sobrecompra / sobreventa a corto y largo plazo. Las señales comerciales solo se generan cuando ambos RSI alcanzan los valores de umbral simultáneamente. Esto evita señales falsas de un solo RSI.

Las bandas de Bollinger también se utilizan para identificar las rupturas de precios. Sólo cuando se cumplen las condiciones del RSI y el precio rompe la banda superior/inferior de la banda de Boll se generará una señal comercial. La confirmación de la ruptura ayuda a evitar señales en mercados no tendentes.

Por último, los MAs rápidos y lentos se comprueban para determinar la dirección de la tendencia.

Análisis de ventajas

El uso combinado de múltiples indicadores ayuda a filtrar las señales falsas, solo se negocian tendencias obvias.

Análisis de riesgos

El principal riesgo es no identificar rápidamente las reversiones de tendencia. Las reversiones en forma de V agudas pueden conducir a pérdidas significativas sin un stop loss oportuno.

Sugerencias para optimizar

  1. Añadir estrategias de stop loss para salir rápidamente en las reversiones.

  2. Incorporar otros filtros como el volumen para evitar falsos brotes.

  3. Optimice los parámetros para encontrar la mejor combinación.

  4. Añadir modelos de aprendizaje automático para identificar mejor los regímenes de mercado.

  5. Mejorar la gestión del riesgo, incluido el tamaño de las posiciones y el control de pérdidas.

Conclusión

Esta estrategia combina el doble RSI y las bandas de Bollinger para beneficiarse de las tendencias a corto plazo. Si bien es simple y sencilla, existen limitaciones como señales de reversión retardadas.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 2m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy(title = "Madrugada strat copy", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, currency = currency.USD)
 
// === GENERAL INPUTS ===
// RSI 1
RSIlength = input(10,title="RSI") 
RSIoverSold = input(65,title="OSold")
RSIoverBought = input(35,title="OBought")
price = close
vrsi = rsi(price, RSIlength)
// RSI 2
RSIlength2 = input(6,title="RSI2") 
RSIoverSold2 = input(65,title="OSold2")
RSIoverBought2 = input(35,title="OBought2")
price2 = close
vrsi2 = rsi(price2, RSIlength2)

//Bollinger Bands
source = close
Bollinger = input(20, minval=1), Desv = input(1.7, minval=0.001, maxval=50)
basis = sma(source, Bollinger)
dev = Desv * stdev(source, Bollinger)
upper = basis + dev
lower = basis - dev
plot(basis, color=red, title="BB ma")
p1 = plot(upper, color=blue, title="BBajo")
p2 = plot(lower, color=blue, title="BAlto")
fill(p1, p2)

//Media movil
short = input(3, minval=1, title="Media corta")
long = input(10, minval=1, title="Media larga")
src = close
plot(sma(src, short), color=#00FF00, transp=0, linewidth=1, title="Media rapida")
plot(sma(src, long), color=white, transp=0, linewidth=2, title="Media lenta")


// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => vrsi < 30 and  vrsi2 < 27 and cross(lower, price)
exitLong() => short < long
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => vrsi > 70 and vrsi2 > 70 and cross(upper, price)
strategy.entry(id = "Short", long = false, when = enterShort())


// Definición señales de compra
buy_signals = vrsi < 30 and  vrsi2 < 27 and cross(lower, price)

// Definición señales de venta
sell_signals = vrsi > 70 and vrsi2 > 70 and cross(upper, price)

// Dibuja las señales de compra venta en franjas de color
b_color = (sell_signals) ? color(red,65) : (buy_signals) ? color(green,65) : na
bgcolor(b_color)

// Dibuja las señales de compra venta coloreando las velas
barcolor(buy_signals ? white : sell_signals ? white : na)

plot(vrsi, color=white, linewidth=1)
plot(vrsi, color=white, linewidth=2)

// Crea alarmas usables desde el desplegable para poder enviar mails a haas
alertcondition(buy_signals, title='Buy-Signal', message='compra')
alertcondition(sell_signals, title='Sell-Signal', message='vende')


Más.