Cette stratégie est un système de trading intelligent basé sur deux indicateurs de dynamique: le RSI et le RSI stochastique. Il identifie les conditions de surachat et de survente du marché en combinant les signaux de deux oscillateurs de dynamique, capturant les opportunités de trading potentielles. Le système prend en charge l'adaptation des périodes et peut ajuster de manière flexible les cycles de trading en fonction des différents environnements du marché.
La logique de base de la stratégie repose sur les éléments clés suivants:
La stratégie construit un système de trading fiable en combinant les avantages du RSI et du RSI stochastique. Le mécanisme de confirmation du double signal réduit efficacement les faux signaux, tandis que les paramètres flexibles offrent une forte adaptabilité.
/*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")