Strategi ini adalah sistem perdagangan cerdas berdasarkan indikator momentum ganda: RSI dan Stochastic RSI. Ini mengidentifikasi kondisi pasar yang terlalu banyak dibeli dan terlalu banyak dijual dengan menggabungkan sinyal dari dua osilator momentum, menangkap peluang perdagangan potensial. Sistem ini mendukung adaptasi periode dan dapat menyesuaikan siklus perdagangan secara fleksibel sesuai dengan lingkungan pasar yang berbeda.
Logika inti dari strategi ini didasarkan pada elemen kunci berikut:
Strategi ini membangun sistem perdagangan yang dapat diandalkan dengan menggabungkan keuntungan dari RSI dan Stochastic RSI. Mekanisme konfirmasi sinyal ganda secara efektif mengurangi sinyal palsu, sementara pengaturan parameter yang fleksibel memberikan kemampuan beradaptasi yang kuat. Melalui optimasi dan perbaikan terus-menerus, strategi ini menunjukkan janji dalam mempertahankan kinerja yang stabil di berbagai kondisi pasar.
/*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")