Esta estrategia combina el índice de fuerza relativa (RSI) y las bandas de Bollinger para construir una estrategia de negociación a corto plazo. Utiliza principalmente las señales de compra y venta cuando el RSI rompe las bandas de Bollinger superiores o inferiores. Mientras tanto, se incluye un mecanismo de stop loss para controlar eficazmente los riesgos.
Esta estrategia combina las fortalezas tanto del RSI como de las bandas de Bollinger para el comercio a corto plazo.
Los riesgos potenciales de esta estrategia incluyen:
Soluciones:
Hay espacio para una mayor optimización:
En resumen, esta es una estrategia comercial a corto plazo relativamente estable y confiable. Al combinar las fortalezas del juicio sobrecomprado-sobrevendido del RSI y el rango adaptativo de las bandas de Bollinger, forma un sistema ventajoso a corto plazo. Con el ajuste de parámetros y el refinamiento de la lógica, esta estrategia puede lograr ganancias consistentes.
/*backtest start: 2022-12-12 00:00:00 end: 2023-10-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("rsi+bb st", shorttitle="rsibb st 0.3") len_rsi=input(14) len_bb = input(25) mul10 = input(20.0) mul=mul10/10 sl100 = input(94.0, title='stop loss rate') sl=sl100/100 lw = 3 vwma_e(src, len) => ema(src*volume, len)/ema(volume,len) rsi = rsi(close, len_rsi) plot(rsi, color=blue, title= 'rsi blue', linewidth=lw) plot(70, color=gray, title='line 70', linewidth=lw) plot(30, color=gray, title='line 30', linewidth=lw) bbg = stdev(rsi, len_bb)*mul bbc = vwma_e(rsi, len_bb) //bbc=ema(rsi,len_bb) ratio = 0.6 bbc := bbc*ratio + 50*(1-ratio) bbu = bbc+bbg bbl = bbc-bbg plot(bbu, color=green, title='bb_up green', linewidth=lw) plot(bbl, color=red, title='bb_low red', linewidth=lw) plot(bbc, color=#808000ff, title='bb center', linewidth=lw) plot(50, color=black) lc = crossover(rsi, bbl) //or crossover(rsi, bbc) sc = crossunder(rsi, bbu) last_pos = 0*close if lc last_pos := 1 else last_pos := last_pos[1] if sc last_pos := 2 last_price = 0*close if last_pos[1] !=1 and last_pos == 1 last_price := close else last_price := last_price[1] if last_pos==1 and close < last_price*sl lc:=false sc:=true last_pos:=2 if (lc) strategy.entry("long", strategy.long) if (sc) strategy.entry("short", strategy.short)