Esta estrategia combina el índice de fuerza relativa (RSI) y los indicadores de bandas de Bollinger para implementar una lógica de confirmación dual para entradas y salidas.
La lógica anterior implementa una estrategia estable de doble confirmación para las entradas y salidas.
El mecanismo de doble confirmación filtra una gran cantidad de operaciones de ruido, evita operaciones innecesarias, reduce los costos comerciales y mejora la rentabilidad.
El RSI es eficaz en la identificación de tendencias e inversiones. Las bandas de Bollinger son eficaces en juzgar soportes y resistencias. Los dos se complementan perfectamente.
Configuración de parámetros flexibles, puede ajustarse en función de diferentes productos y preferencias comerciales, altamente adaptable.
En los mercados de rango, el RSI y las bandas de Bollinger pueden emitir señales incorrectas al mismo tiempo, causando pérdidas innecesarias.
El mecanismo de doble confirmación aumenta ligeramente el retraso de entrada, posiblemente perdiendo oportunidades comerciales a muy corto plazo.
La estrategia es muy sensible a los parámetros. La configuración inadecuada de parámetros puede reducir en gran medida la rentabilidad. Se necesitan pruebas y revisiones suficientes para encontrar la combinación óptima de parámetros.
Prueba los indicadores RSI con diferentes períodos para encontrar el mejor parámetro de período de coincidencia para mejorar la eficiencia.
Añadir una lógica de stop loss, establecer un stop loss móvil razonable o un stop loss fijo para controlar el riesgo de pérdida de una sola operación.
Prueba el parámetro de ancho de banda de Bollinger para optimizar el rango del canal y mejorar la eficiencia.
Prueba diferentes entradas de precios como cerrar, alto, bajo, etc. para encontrar la mejor entrada de precio para mejorar la estabilidad.
La estrategia combina con éxito los indicadores RSI y Bollinger Bands para implementar una lógica de confirmación dual, asegurando oportunidades comerciales suficientes mientras reduce efectivamente las operaciones de ruido.
/*backtest start: 2023-12-22 00:00:00 end: 2024-01-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Bollinger + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Bol_Strat", overlay=true) // ChartArt's RSI + Bollinger Bands, Double Strategy // // Version 1.0 // Idea by ChartArt on January 14, 2015. // // This strategy uses a modfied RSI to sell // when the RSI increases over the value of 55 // (or to buy when the value falls below 45), // with the classic Bollinger Bands strategy // to sell when the price is above the // upper Bollinger Band (and to buy when // this value is below the lower band). // // This simple strategy only triggers when // both the RSI and the Bollinger Bands // indicators are at the same time in // a overbought or oversold condition. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // ///////////// RSI RSIlength = input( 16 ,title="RSI Period Length") RSIvalue = input( 45 ,title="RSI Value Range") RSIoverSold = 0 + RSIvalue RSIoverBought = 100 - RSIvalue price = close vrsi = rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length") BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = sma(price, BBlength) BBdev = BBmult * stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = crossover(source, BBlower) sellEntry = crossunder(source, BBupper) plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line") p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line") p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line") fill(p1, p2) ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) ? green : na barcolor(switch1?TrendColor:na) bgcolor(switch2?TrendColor:na,transp=50) ///////////// RSI + Bollinger Bands Strategy if (not na(vrsi)) if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower)) strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="RSI_BB_L") else strategy.cancel(id="RSI_BB_L") if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper)) strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="RSI_BB_S") else strategy.cancel(id="RSI_BB_S") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)