Strategi ini menggabungkan Indeks Kekuatan Relatif (RSI) dan indikator teknis Supertrend untuk menangkap tren pasar dan mengidentifikasi peluang perdagangan potensial. Ide utama di balik strategi ini adalah menggunakan RSI untuk menentukan kondisi pasar overbought dan oversold sambil menggunakan indikator Supertrend untuk mengkonfirmasi arah tren. Ketika kedua indikator RSI dan Supertrend memenuhi kondisi tertentu secara bersamaan, strategi menghasilkan sinyal beli atau jual.
RSI+Supertrend Trend-Following Trading Strategy secara efektif menangkap tren pasar dan menghasilkan sinyal perdagangan dengan menggabungkan indikator teknis RSI dan Supertrend. Keuntungan strategi terletak pada logika yang jelas, kemudahan implementasi, dan pertimbangan momentum dan faktor tren. Namun, strategi ini juga memiliki beberapa risiko, seperti perdagangan yang sering dan keterbatasan dalam pengaturan parameter. Untuk meningkatkan kinerja strategi, seseorang dapat mempertimbangkan memperkenalkan indikator lain, mengoptimalkan parameter, memperkuat langkah-langkah manajemen risiko, dan terus memantau dan menyesuaikan strategi.
/*backtest start: 2024-05-21 00:00:00 end: 2024-05-28 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI + Supertrend Strategy", overlay=true) // Input parameters rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(58, title="RSI Overbought Level") rsiOversold = input.int(38, title="RSI Oversold Level") supertrendLength = input.int(10, title="Supertrend Length") supertrendMultiplier = input.int(3, title="Supertrend Multiplier") // Calculate indicators rsiValue = ta.rsi(close, rsiLength) [supertrend, _] = ta.supertrend(supertrendLength, supertrendMultiplier) // Plot Supertrend on main chart plot(supertrend, color = supertrend < close ? color.green : color.red, linewidth = 2, title="Supertrend") // Plot RSI hline(rsiOverbought, "Overbought", color.red) hline(rsiOversold, "Oversold", color.green) plot(rsiValue, title="RSI", color=color.blue) // Strategy var float entryPrice = na // Long conditions longCondition = (rsiValue > rsiOverbought) and (supertrend < close) // Short conditions shortCondition = (rsiValue < rsiOversold) and (supertrend > close) // Exit conditions longExitCondition = (rsiValue < 50) and (supertrend > close) shortExitCondition = (rsiValue > 45) and (supertrend < close) // Execute strategy if (longCondition) strategy.entry("Long", strategy.long) entryPrice := close if (shortCondition) strategy.entry("Short", strategy.short) entryPrice := close if (longExitCondition and strategy.position_size > 0) strategy.close("Long") if (shortExitCondition and strategy.position_size < 0) strategy.close("Short") // Date and time range for backtest startDate = timestamp("2023-01-01 00:00") endDate = timestamp("2024-01-01 00:00") if (time < startDate or time > endDate) strategy.close_all()