Estrategia de negociación de Bollinger Band y Stoch RSI

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

Resumen general

Esta estrategia combina los indicadores Bollinger Bands y Stoch RSI para el comercio de múltiples indicadores. Pertenece al tipo típico de estrategia de indicadores combinados. Las bandas de Bollinger determinan la dirección de la tendencia y el Stoch RSI optimiza los tiempos de entrada para las señales comerciales.

Estrategia lógica

La estrategia se basa en dos indicadores principales:

  1. Las bandas de Bollinger

    Calcule las bandas superior, media e inferior. Una señal de compra se genera cuando el precio se rompe por encima de la banda inferior.

  2. Indicador de rendimiento de Stoch

    Calcule el indicador del RSI de Stoch. Una señal de compra se genera cuando la línea K cruza por encima de la línea D.

La lógica de negociación específica es: abrir largo cuando tanto el break-out inferior de las bandas de Bollinger como la cruz dorada del RSI de Stoch ocurren juntos.

La lógica de salida utiliza las bandas para obtener ganancias y detener pérdidas: cierre para obtener ganancias cuando el precio vuelve a tocar la banda superior o media, cierre para pérdidas cuando el precio vuelve a romper por debajo de la banda inferior.

Ventajas

  • Combina las bandas de Bollinger y el índice de variabilidad de las acciones
  • Las bandas juzgan la tendencia general, Stoch RSI optimiza la entrada
  • El RSI de Stoch filtra las fallas de banda
  • Las bandas media e inferior proporcionan salidas
  • Varios parámetros ajustables para optimizaciones

Los riesgos

  • Indicadores basados en el MA con retraso, falta de las mejores entradas
  • Reacción lenta a eventos repentinos, basada únicamente en indicadores
  • La configuración incorrecta de la banda invalida las paradas
  • Los parámetros del RSI de Stoch generan señales falsas.
  • Se requiere ajuste de parámetros separados para diferentes productos

Los riesgos pueden reducirse:

  • Optimización de los parámetros para una mayor precisión
  • Añadir filtros de confirmación como MACD
  • Utilizando paradas traseras en lugar de paradas de banda
  • Parámetros de ensayo para diferentes productos
  • Sistema de ajuste del tamaño de la posición

Direcciones de mejora

La estrategia puede mejorarse mediante:

  1. Optimización de los parámetros de las bandas de Bollinger

    Ajustar las relaciones de cálculo superior/inferior para el mejor ajuste

  2. Optimización de los parámetros del RSI de Stoch

    Encontrar los valores óptimos de K y D

  3. Añadir indicadores de confirmación como el MACD

    Evitar señales falsas basadas en un solo indicador

  4. Utilización de paradas de ganancias traseras en lugar de paradas fijas

    Paradas basadas en la volatilidad de los precios

  5. Parámetros de ensayo por separado para diferentes productos

    Los parámetros óptimos varían según los productos.

Resumen de las actividades

Esta estrategia aprovecha las bandas de Bollinger para la dirección de la tendencia y el RSI de Stoch para la optimización de entrada, aprovechando un enfoque de múltiples indicadores. Pero existen desafíos como la optimización de parámetros difíciles y la precisión de la señal.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")







Más.