RSI y bandas de Bollinger Estrategia rentable

El autor:¿ Qué pasa?, Fecha: 2024-01-08 11:14:31
Las etiquetas:

img

Resumen general

Esta estrategia utiliza principalmente el indicador RSI y las bandas de Bollinger para diseñar reglas de negociación y obtener ganancias en mercados de tendencia.

Estrategia lógica

La estrategia utiliza el indicador RSI para identificar los niveles de sobrecompra y sobreventa. El RSI por debajo del umbral de sobrecompra se considera una señal de sobreventa, mientras que por encima del umbral de sobreventa se considera una señal de sobreventa. El indicador Bollinger Bands se utiliza para detectar las rupturas de precios.

La estrategia combina el RSI para medir el sentimiento del mercado y las bandas de Bollinger para detectar la ruptura del precio. Las operaciones se abren solo cuando se cumplen ambas condiciones simultáneamente. Esto ayuda a filtrar señales falsas y mejora el rendimiento de la estrategia.

Los puntos fuertes

La estrategia combina RSI y Bollinger Bands, lo que ayuda a determinar mejor la tendencia del mercado y capturar el impulso. En comparación con las estrategias de indicadores únicos, filtra más señales falsas y genera señales de mayor calidad.

La estrategia solo abre operaciones cuando tanto el RSI como el BB dan señales simultáneamente. Esto evita la interferencia de señales falsas.

Análisis de riesgos

Aunque la estrategia filtra algunas señales falsas, el RSI y el BB aún pueden emitir señales erróneas simultáneamente en mercados variados, causando pérdidas innecesarias.

Se recomienda optimizar los parámetros a través de backtesting para encontrar la mejor combinación de parámetros. Además, considere pausar la negociación en mercados variados para evitar pérdidas innecesarias. Además, use el stop loss adecuadamente para controlar la pérdida de una sola operación.

Áreas de mejora

La estrategia puede mejorarse en los siguientes aspectos:

  1. Optimizar los parámetros RSI y BB para obtener la mejor combinación

  2. Añadir otros indicadores como señales de filtro, como MACD, KD, etc.

  3. Añadir validación de avance para evitar errores

  4. Ajustar parámetros o suspender la negociación según las diferentes condiciones del mercado

  5. Optimizar el stop loss para el stop loss dinámico

Conclusión

La estrategia combina el RSI y las bandas de Bollinger para diseñar reglas de negociación. Al tomar solo señales cuando ambos están de acuerdo, las señales falsas se pueden filtrar de manera efectiva. A través de la optimización de parámetros, la adición de filtros de señal, la optimización de stop loss, etc., esta estrategia se puede refinar constantemente para obtener ganancias más estables.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Get Funded Easily by mjanusic", shorttitle="FTMO Crusher by mjanusic", overlay=true)

///////////// RSI
RSIlength = input(16, title="RSI Period Length")
RSIvalue = input(45, title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
price = close
vrsi = ta.rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(20, title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyCondition = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
sellCondition = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)

///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
    if (buyCondition)
        strategy.entry("Long Entry", strategy.long, stop=BBlower, comment="Long Entry")
    else
        strategy.cancel(id="Long Entry")

    if (sellCondition)
        strategy.entry("Short Entry", strategy.short, stop=BBupper, comment="Short Entry")
    else
        strategy.cancel(id="Short Entry")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_area)


Más.