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

Las bandas de Bollinger + el RSI + la doble estrategia de negociación de la EMA

El autor:¿ Qué pasa?, Fecha: 2023-12-29 14:46:57
Las etiquetas:

img

Resumen general

Esta estrategia integra tres indicadores de Bollinger Bands, Relative Strength Index (RSI) y Exponential Moving Average (EMA) para implementar una estrategia de trading automática con largos períodos de retención para las acciones. Genera señales de compra cuando el RSI está por debajo de la línea de sobreventa y el precio está cerca o toca el carril inferior de Bollinger Bands, y genera señales de venta cuando el precio sube para tocar el carril superior de Bollinger Bands, utilizando Bollinger Bands para determinar las tendencias del mercado y el estado de sobrecompra / sobreventa para una doble confirmación.

Principio de la estrategia

Esta estrategia juzga principalmente en base a tres indicadores: Bollinger Bands, RSI y EMA. El carril medio de las bandas de Bollinger es el promedio móvil simple del precio, y los carriles superior e inferior son dos rangos de desviación estándar del precio. Las bandas de Bollinger pueden juzgar el estado de sobrecompra / sobreventa del mercado. Cuando el precio está cerca del carril inferior, indica el estado de sobreventa y cuando el precio está cerca del carril superior, indica el estado de sobreventa.

La señal de compra para esta estrategia se genera cuando el RSI está por debajo de la línea de sobreventa de 30 y al mismo tiempo el precio se ha acercado o tocado el rieles inferior de las bandas de Bollinger en estado de sobreventa. Esto evita señales falsas.

La señal de venta se genera cuando el precio toca el tren superior de las bandas de Bollinger durante una tendencia alcista.

Ventajas de la estrategia

  1. Integra las bandas de Bollinger y el RSI para confirmar el estado de sobrecompra / sobreventa, evitando señales falsas.
  2. Utiliza la EMA para determinar la dirección de la tendencia de los precios, evitando el comercio contra la tendencia.
  3. Los parámetros tanto para el RSI como para las bandas de Bollinger se pueden personalizar para diferentes acciones.
  4. Una lógica estratégica simple y clara, fácil de entender e implementar.

Riesgos de la estrategia

  1. Tanto las bandas de Bollinger como el RSI pueden generar señales falsas, causando entradas incorrectas.
  2. La posición de stop loss necesita una mayor optimización, con mayores riesgos de retroceso.
  3. Es posible que la EMA no pueda determinar perfectamente la tendencia con puntos de inversión de tendencia perdidos.
  4. Los parámetros no adecuados pueden llevar a un exceso de negociación o a la pérdida de oportunidades comerciales.

Soluciones:

  1. Acortar el período de bandas de Bollinger, optimizar los parámetros del RSI.
  2. Dinámica de arrastre de pérdida de parada.
  3. Integrar otros indicadores para la determinación de tendencias.
  4. Prueba diferentes configuraciones de parámetros para encontrar la combinación óptima.

Direcciones para la optimización de la estrategia

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Añadir más indicadores para el juicio, por ejemplo, KD para el estado de sobrecompra/sobreventa.
  2. Agregue mecanismos de stop loss como movimiento de stop loss, zona de stop loss para gestionar los riesgos.
  3. Añadir reglas de salida basadas en la determinación de la tendencia de la EMA en las condiciones de venta.
  4. Optimizar la configuración de los parámetros para ampliar el rango de beneficios, por ejemplo, ajustar el ancho de las bandas de Bollinger.
  5. Añadir reglas de entrada para evitar errores, por ejemplo, filtros de volumen.

Conclusión

La estrategia integra bandas de Bollinger, RSI y EMA para una estrategia de negociación automática de tenencia larga con filtros de doble confirmación. La doble confirmación para el estado de sobrecompra / sobreventa evita señales falsas de manera efectiva, y el uso de EMA para la determinación de tendencias evita el comercio contra la tendencia. Mientras tanto, los ajustes de parámetros flexibles lo hacen adaptable a diferentes acciones. Una mejora adicional en los aspectos de los mecanismos de stop loss y salida puede mejorar la eficiencia y la gestión de riesgos de la estrategia.


/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by ChartArt) v1.3", shorttitle="rsi 30 min ADJ Buy", overlay=true)

///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = input(30, title="RSI Oversold Level")  // Adjustable RSI oversold level
RSIoverBought = input(80, title="RSI Overbought Level")  // Adjustable RSI overbought level
price = close
vrsi = rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(231, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

///////////// EMA
useEMA = input(true, title="Use EMA?")
emaLength = input(20, title="EMA Period Length")
ema = useEMA ? ema(close, emaLength) : na

source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)

///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(ema, color=color.orange, title="EMA")  // Plot EMA

///////////// RSI + Bollinger Bands Strategy
long = crossover(vrsi, RSIoverSold) and buyEntry
close_long = close >= BBupper

if (not na(vrsi))
    if long
        strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
    else
        strategy.cancel(id="Buy")
        
    if close_long
        strategy.close("Buy")


Más.