Esta estrategia es un sistema de negociación inteligente basado en dos indicadores de impulso: RSI y RSI estocástico. Identifica las condiciones de sobrecompra y sobreventa del mercado mediante la combinación de señales de dos osciladores de impulso, capturando oportunidades comerciales potenciales. El sistema admite la adaptación al período y puede ajustar flexiblemente los ciclos de negociación de acuerdo con diferentes entornos de mercado.
La lógica central de la estrategia se basa en los siguientes elementos clave: 1. Utiliza el indicador RSI de 14 períodos para calcular el impulso del precio 2. emplea el RSI estocástico de 14 períodos para la confirmación secundaria 3. desencadena la señal de compra cuando el RSI está por debajo de 35 y el RSI estocástico está por debajo de 20 Los activadores venden señal cuando el RSI es superior a 70 y el RSI estocástico es superior a 80 5. Aplica el suavizado de SMA de 3 períodos al RSI estocástico para la estabilidad de la señal Apoya el cambio entre los plazos diarios y semanales
La estrategia construye un sistema de negociación confiable mediante la combinación de las ventajas del RSI y el RSI estocástico. El mecanismo de confirmación de señal dual reduce eficazmente las señales falsas, mientras que la configuración de parámetros flexibles proporciona una fuerte adaptabilidad. A través de la optimización y mejora continuas, la estrategia muestra promesa en el mantenimiento de un rendimiento estable en diversas condiciones de mercado.
/*backtest start: 2024-11-16 00:00:00 end: 2024-12-15 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTC Buy & Sell Strategy (RSI & Stoch RSI)", overlay=true) // Input Parameters rsi_length = input.int(14, title="RSI Length") stoch_length = input.int(14, title="Stochastic Length") stoch_smooth_k = input.int(3, title="Stochastic %K Smoothing") stoch_smooth_d = input.int(3, title="Stochastic %D Smoothing") // Threshold Inputs rsi_buy_threshold = input.float(35, title="RSI Buy Threshold") stoch_buy_threshold = input.float(20, title="Stochastic RSI Buy Threshold") rsi_sell_threshold = input.float(70, title="RSI Sell Threshold") stoch_sell_threshold = input.float(80, title="Stochastic RSI Sell Threshold") use_weekly_data = input.bool(false, title="Use Weekly Data", tooltip="Enable to use weekly timeframe for calculations.") // Timeframe Configuration timeframe = use_weekly_data ? "W" : timeframe.period // Calculate RSI and Stochastic RSI rsi_value = request.security(syminfo.tickerid, timeframe, ta.rsi(close, rsi_length)) stoch_rsi_k_raw = request.security(syminfo.tickerid, timeframe, ta.stoch(close, high, low, stoch_length)) stoch_rsi_k = ta.sma(stoch_rsi_k_raw, stoch_smooth_k) stoch_rsi_d = ta.sma(stoch_rsi_k, stoch_smooth_d) // Define Buy and Sell Conditions buy_signal = (rsi_value < rsi_buy_threshold) and (stoch_rsi_k < stoch_buy_threshold) sell_signal = (rsi_value > rsi_sell_threshold) and (stoch_rsi_k > stoch_sell_threshold) // Strategy Execution if buy_signal strategy.entry("Long", strategy.long, comment="Buy Signal") if sell_signal strategy.close("Long", comment="Sell Signal") // Plot Buy and Sell Signals plotshape(buy_signal, style=shape.labelup, location=location.belowbar, color=color.green, title="Buy Signal", size=size.small, text="BUY") plotshape(sell_signal, style=shape.labeldown, location=location.abovebar, color=color.red, title="Sell Signal", size=size.small, text="SELL") // Plot RSI and Stochastic RSI for Visualization hline(rsi_buy_threshold, "RSI Buy Threshold", color=color.green) hline(rsi_sell_threshold, "RSI Sell Threshold", color=color.red) plot(rsi_value, color=color.blue, linewidth=2, title="RSI Value") plot(stoch_rsi_k, color=color.purple, linewidth=2, title="Stochastic RSI K") plot(stoch_rsi_d, color=color.orange, linewidth=1, title="Stochastic RSI D")