Estrategia de trading de swing largo basada en bandas de Bollinger y RSI


Fecha de creación: 2024-03-11 11:51:22 Última modificación: 2024-03-11 11:51:22
Copiar: 0 Número de Visitas: 698
1
Seguir
1617
Seguidores

Estrategia de trading de swing largo basada en bandas de Bollinger y RSI

Descripción general

La estrategia se basa en dos indicadores técnicos, las bandas de Bollinger y el índice de relative strength (RSI), para realizar operaciones de oscilación múltiple en una tendencia alcista. La lógica de la estrategia es simple pero efectiva: abre una venta cuando el precio cae por debajo de la banda de Bollinger y el RSI está por debajo de 35, y se abre una venta cuando el RSI está por encima de 69.

Principio de estrategia

  1. Calcula el RSI: usa el RMA (Relative Moving Average) para calcular la amplitud media de las subidas y bajadas de los precios, y luego divide la amplitud media por la amplitud media para obtener el RSI. El RSI refleja la fortaleza de los precios durante un período de tiempo.

  2. Cálculo de las bandas de Brin: la media de los precios se calcula con el SMA (Simple Moving Average) y luego se obtiene la diferencia estándar de subida y bajada. Las bandas de Brin pueden reflejar dinámicamente los rangos de fluctuación de los precios.

  3. Abrir más: cuando el precio cae por debajo de la banda de Brin y el RSI es menor que 35, se considera una venta excesiva. Estas dos condiciones pueden capturar el momento de la reversión hacia arriba.

  4. Punto: Cuando el RSI pasa el 69, se considera una sobrecompra, y en ese momento se borra la posición de más de la cabeza y se bloquea la ganancia.

  5. Stop Loss: después de abrir la posición, el precio de parada y el precio de pérdida se calculan según el porcentaje establecido por el usuario. Cuando se toca el precio de parada o el precio de pérdida, el precio de parada se iguala. Esto permite controlar el riesgo y el rendimiento de cada operación.

Análisis de las ventajas

  1. Las bandas Brin pueden reflejar objetivamente los intervalos de movimiento de los precios y se ajustan a la marcha de los mismos, sin estar limitadas por la depreciación fija.

  2. El RSI es un reflejo intuitivo de la correlación de fuerzas y es relativamente objetivo, y se utiliza a menudo para determinar si hay un exceso de compra o de venta.

  3. Utilizado en una tendencia alcista, es más adecuado para el comercio de oscilación. Capturar el rebote de los precios a través de la baja de Brin y el RSI bajo, y cerrar en el momento adecuado a través del RSI alto, para poder capturar eficazmente el movimiento de la banda de onda.

  4. La configuración de Stop Loss permite controlar el riesgo de la estrategia, y los inversores pueden ajustar los parámetros de forma flexible según sus preferencias de riesgo.

  5. La lógica de la estrategia y el código son relativamente simples, fáciles de entender y implementar, y los resultados de la retroalimentación son relativamente estables.

Análisis de riesgos

  1. En un escenario de crisis, las bandas de Brin y el RSI pueden emitir más señales de negociación, lo que genera una frecuencia de negociación excesiva y un aumento en el costo de las comisiones.

  2. Los indicadores individuales como el RSI son susceptibles a la influencia de las fluctuaciones de precios a corto plazo y producen señales engañosas. Por lo tanto, las señales del RSI se analizan mejor en combinación con movimientos de precios, etc.

  3. La elección de los parámetros de la banda de Brin y el RSI tiene una gran influencia en el rendimiento de la estrategia, y diferentes mercados y variedades pueden requerir diferentes parámetros. Los usuarios deben hacer los ajustes adecuados según las circunstancias.

  4. En situaciones excepcionales, como un evento inesperado, las bandas de Brin y el RSI pueden fallar. En este momento, si no hay otros medios de control del viento, la estrategia puede sufrir un mayor retroceso.

Dirección de optimización

  1. Se puede considerar la introducción de otros indicadores técnicos como las medias móviles como filtros, por ejemplo, abrir posiciones solo cuando la MA está en una alineación múltiple, para mejorar la fiabilidad de la señal.

  2. Se puede optimizar el RSI, los parámetros de la banda de Bryn, etc., para encontrar la combinación de parámetros que mejor se desempeñan en cada variedad y cada período.

  3. Se pueden realizar pruebas de avance sobre la base de la retroalimentación, y hacer transacciones simuladas, para verificar la eficacia y la estabilidad de la estrategia antes de la operación.

  4. Se puede controlar aún más el retroceso de la estrategia a través de métodos como la gestión de posiciones, el stop loss dinámico y otros, y mejorar los beneficios ajustados al riesgo.

  5. La estrategia se puede incorporar a la cartera y se puede utilizar en conjunto con otras estrategias para la cobertura, en lugar de utilizarla de forma aislada, con el fin de mejorar la estabilidad de la cartera.

Resumir

Este artículo presenta una estrategia de trading de oscilación múltiple basada en dos indicadores técnicos, el Brin Belt y el RSI. La estrategia es adecuada para capturar la tendencia de la tendencia ascendente. La lógica y la implementación son relativamente simples.

Código Fuente de la Estrategia
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)
band1 = hline(69, "Upper Band", color=#C0C0C0)
band0 = hline(31, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 35.58 and src < lower
exit_long = rsi > 69
 
plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)