RSI Overbought Reversal Strategy adalah pendekatan perdagangan jangka pendek yang menggabungkan indikator teknis dengan manajemen posisi dinamis. Strategi ini terutama memanfaatkan Indeks Kekuatan Relatif (RSI) dan Rata-rata Bergerak Sederhana (SMA) untuk mengidentifikasi kondisi overbought potensial dan peluang pembalikan, sambil mengoptimalkan rasio risiko-imbalan melalui mekanisme masuk berskala.
Strategi ini beroperasi berdasarkan langkah-langkah utama berikut:
RSI Overbought Reversal Strategy adalah pendekatan perdagangan jangka pendek yang menggabungkan analisis teknis dengan prinsip manajemen risiko. Dengan memanfaatkan sinyal overbought RSI dan penentuan tren SMA, strategi ini bertujuan untuk menangkap potensi pembalikan pasar. Mekanisme masuk dan keluar dinamis yang berskala membantu mengoptimalkan profil risiko-manfaat. Namun, investor harus menyadari risiko pasar dan keterbatasan indikator teknis saat menggunakan strategi ini, dan terus mengoptimalkan parameter strategi dan logika berdasarkan lingkungan perdagangan yang sebenarnya. Dengan pengendalian risiko yang tepat dan penyempurnaan strategi yang berkelanjutan, pendekatan ini berpotensi menjadi alat perdagangan kuantitatif yang efektif.
/*backtest start: 2024-08-26 00:00:00 end: 2024-09-24 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("TPS Short Strategy by Larry Conners", overlay=true) // Define parameters as inputs sma_length_200 = input.int(200, title="200-Day SMA Length") rsi_length_2 = input.int(2, title="2-Period RSI Length") sma_length_10 = input.int(10, title="10-Day SMA Length") sma_length_30 = input.int(30, title="30-Day SMA Length") // Define colors as RGB values color_sma_200 = input.color(color.rgb(0, 0, 255), title="200-Day SMA Color") // Blue color_sma_10 = input.color(color.rgb(255, 0, 0), title="10-Day SMA Color") // Red color_sma_30 = input.color(color.rgb(0, 255, 0), title="30-Day SMA Color") // Green // Calculate indicators sma_200 = ta.sma(close, sma_length_200) rsi_2 = ta.rsi(close, rsi_length_2) sma_10 = ta.sma(close, sma_length_10) sma_30 = ta.sma(close, sma_length_30) // Define conditions below_sma_200 = close < sma_200 rsi_2_above_75_two_days = rsi_2[1] > 75 and rsi_2 > 75 price_higher_than_entry = na(strategy.opentrades.entry_price(0)) ? false : close > strategy.opentrades.entry_price(0) // Entry conditions if (below_sma_200 and rsi_2_above_75_two_days and na(strategy.opentrades.entry_price(0))) strategy.entry("Short", strategy.short, qty=1) // Short 10% of the position // Scaling in conditions if (price_higher_than_entry) strategy.entry("Short2", strategy.short, qty=2) // Short 20% more of the position if (price_higher_than_entry) strategy.entry("Short3", strategy.short, qty=3) // Short 30% more of the position if (price_higher_than_entry) strategy.entry("Short4", strategy.short, qty=4) // Short 40% more of the position // Exit conditions exit_condition_rsi_below_30 = rsi_2 < 30 exit_condition_sma_cross = ta.crossover(sma_10, sma_30) if (exit_condition_rsi_below_30 or exit_condition_sma_cross) strategy.close_all() // Close all positions // Plot indicators plot(sma_200, color=color_sma_200, title="200-Day SMA") plot(sma_10, color=color_sma_10, title="10-Day SMA") plot(sma_30, color=color_sma_30, title="30-Day SMA")