Se trata de una estrategia de inversión de doble vía basada en el canal de precios, las bandas de Bollinger y el indicador RSI rápido. Combina el índice de canal para identificar tendencias, las bandas de Bollinger para reconocer los niveles de soporte y resistencia y el RSI rápido para detectar señales de sobrecompra y sobreventa, con el fin de lograr una inversión eficiente.
La estrategia se basa principalmente en los siguientes indicadores para tomar decisiones comerciales:
Canal de precios: Calcula el precio más alto y más bajo durante un cierto período y traza la línea central del canal.
Bandas de Bollinger: La línea central es la línea central del canal de precios. Las bandas superior e inferior se calculan en función de la desviación estándar de la desviación del precio de la línea central. Las señales comerciales se generan cuando el precio interactúa con las bandas de Bollinger.
RSI rápido (Período = 2): Determina situaciones de sobrecompra y sobreventa para el precio.
Indicador de CryptoBottom: Determina si el precio ha roto el nivel de soporte. Combinado con RSI rápido para generar señales largas de alta probabilidad.
De acuerdo con el momento en que el precio rompe los canales y las bandas de Bollinger para realizar operaciones, y va largo o corto basado en las indicaciones de sobrecompra y sobreventa del RSI, se forma la lógica comercial central de esta estrategia.
Esta estrategia tiene las siguientes ventajas:
El sistema de doble vía aumenta la precisión de la señal. El canal de precios juzga las principales tendencias y las bandas de Bollinger identifican niveles precisos de soporte y resistencia. La combinación mejora la calidad de la señal.
El indicador RSI rápido captura oportunidades de reversión al detectar sobrecompra y sobreventa.
CryptoBottom acelera la confirmación de señales largas.
Configuración de parámetros razonables y fácil de optimizar.
También existen algunos riesgos para esta estrategia:
Los parámetros incorrectos para las bandas de Bollinger pueden perder movimientos significativos de precios o generar señales falsas.
Los patrones de interacción entre las pistas duales pueden ser complejos, requiriendo cierta sofisticación técnica para juicios precisos.
El riesgo de reversiones fallidas sigue existiendo, ya que no se puede eliminar la probabilidad de que el precio se retire.
Dificultad en la optimización de parámetros: los parámetros óptimos pueden volverse ineficaces si cambian las condiciones del mercado.
La estrategia puede mejorarse en los siguientes aspectos:
Optimizar los parámetros de las bandas de Bollinger para acercar las bandas superior e inferior al precio, mejorando la precisión de las señales comerciales.
Añadir mecanismos de stop loss para reducir las pérdidas cuando alcanzan ciertos porcentajes de umbral.
Incorporar más indicadores para determinar los niveles de tendencia, soporte y resistencia para reducir las señales falsas.
Introducir algoritmos de aprendizaje automático para ajustar automáticamente los parámetros para que puedan adaptarse a los entornos cambiantes del mercado.
Esta estrategia integra el canal de precios, las bandas de Bollinger y el indicador RSI rápido para construir un sistema de negociación de reversión de doble vía. Mientras juzga las principales tendencias, también aprovecha rápidamente el soporte, la resistencia y las oportunidades de sobrecompra / sobreventa.
/*backtest start: 2022-12-18 00:00:00 end: 2023-11-30 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") color = input(true, "Use ColorBar") usecb = input(true, "Use CryptoBottom") usersi = input(true, "Use RSI") needbb = input(false, defval = false, title = "Show Bands") needbg = input(false, defval = false, title = "Show Background") src = close //Fast RSI fastup = rma(max(change(src), 0), 2) fastdown = rma(-min(change(src), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) lencb = abs(close - mac) sma = sma(lencb, 100) max = max(open, close) min = min(open, close) //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //dist dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma //Trend trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Signals up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0 dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom //dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom up3 = fastrsi < 5 ? 1 : 0 //dn3 = fastrsi > 99 ? 1 : 0 longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true) if (longCondition) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) shortCondition = dn == 1 if (shortCondition) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)