Las bandas de Bollinger y la tendencia del RSI siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-12-20 14:32:40
Las etiquetas:

img

Resumen general

Esta estrategia utiliza las bandas de Bollinger, el indicador RSI y la media móvil de 200 períodos para identificar la dirección de la tendencia y realizar operaciones contrarias a la tendencia cerca de las bandas de Bollinger cuando la dirección de la tendencia sea apropiada, con el fin de obtener ganancias.

Estrategia lógica

En primer lugar, el promedio móvil de 200 períodos se utiliza para determinar la dirección general de la tendencia. Una tendencia alcista se define cuando el precio está por encima del promedio móvil, y una tendencia bajista se define cuando el precio está por debajo. En segundo lugar, cuando en una tendencia alcista, se ejecuta una entrada larga si el indicador RSI muestra sobreventa y se acerca a la banda inferior de Bollinger; cuando en una tendencia bajista, se ejecuta una entrada corta si el RSI muestra sobreventa y se acerca a la banda superior de Bollinger. Por último, el indicador ATR se utiliza para establecer el nivel de stop loss, y la toma de ganancias se establece en 2 veces el stop loss.

Análisis de ventajas

La mayor ventaja de esta estrategia es que combina múltiples indicadores para determinar la dirección de la tendencia y el momento de las entradas. En primer lugar, el promedio móvil de 200 días puede identificar efectivamente la tendencia principal. En segundo lugar, las bandas superior/inferior de las bandas de Bollinger indican áreas donde los precios pueden revertirse. Por último, el RSI sugiere un posible momento de reversión. El uso de múltiples indicadores evita el riesgo de un juicio erróneo de uno solo.

Análisis de riesgos

Los principales riesgos de esta estrategia provienen de la identificación inexacta de las principales tendencias y señales de reversión. Si la tendencia se juzga erróneamente, puede conducir a pérdidas consecutivas. Si las señales de reversión son incorrectas, la probabilidad de que se desencadene un stop loss sería alta. Además, el comercio contra tendencia en sí tiene mayores riesgos que requieren una operación cautelosa.

Para mitigar los riesgos anteriores, es recomendable ajustar los parámetros de la media móvil o añadir otros indicadores de confirmación, con el fin de mejorar la precisión.

Direcciones de optimización

Hay mucho espacio para optimizar esta estrategia: primero, ajustar los parámetros del promedio móvil para mejorar la precisión de la identificación de tendencias. Segundo, ajustar los parámetros de las bandas de Bollinger o agregar canales de Kalman para localizar mejor las zonas de reversión. Tercero, agregar otros indicadores como MACD para la confirmación para evitar señales incorrectas. Cuarto, optimizar la configuración del índice de stop loss para reducir la posibilidad de eventos reales de stop loss.

Conclusión

Esta estrategia combina bandas de Bollinger, RSI y promedios móviles para determinar tendencias y tiempos, y ha logrado buenos resultados. Pero se necesita una mayor optimización en el ajuste de parámetros y el control de riesgos para mejorar la estabilidad de ganancias.


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

//@version=4
strategy("Gab EMA + rsi + bb", overlay=true)
// Custom RSI
RSIlength = input(3, minval=1 , title="lookback length of RSI")
RSIOverBought = input(70, title="RSI OB")
RSIOverSold = input(30, title="RSI OS")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)


//Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50, title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close

//EMA
emaLength=input(200)

//Set TP and SL values
sl_short = high + (syminfo.mintick * 5 * 10)
tp_short = low - (syminfo.mintick * 10 * 10)
sl_long = low - (syminfo.mintick * 5 * 10)
tp_long = high + (syminfo.mintick * 10 * 10)


//Strategy Entry and Exit
strategy.entry("sell", strategy.short, when = low < ema(low, emaLength) and vrsi < RSIOverSold and low < BBlower and barstate.isconfirmed)
strategy.exit("closeshort", from_entry="sell", limit=tp_short, stop=sl_short, when=strategy.position_size != 0)

strategy.entry("buy", strategy.long, when = high > ema(high, emaLength) and vrsi > RSIOverBought and high > BBupper and barstate.isconfirmed)
strategy.exit("closelong", from_entry="buy", limit=tp_long, stop=sl_long, when=strategy.position_size != 0)



  

Más.