
Strategi ini adalah sistem perdagangan pelacakan tren berdasarkan indikator yang relatif kuat (RSI) yang dikombinasikan dengan rata-rata bergerak (MA). Inti dari strategi ini adalah untuk menangkap perubahan dinamika harga melalui indikator RSI, sambil menggabungkan rata-rata bergerak 90 hari sebagai filter tren, untuk melacak tren pasar secara efektif. Strategi ini menggunakan RSI yang dapat disesuaikan untuk melampaui batas overbought dan oversold, dan menetapkan periode pengembalian 2500 hari untuk memastikan kepraktisan dan stabilitas strategi.
Strategi ini didasarkan pada komponen inti berikut:
Kondisi beli yang dipicu membutuhkan RSI di atas 70, sedangkan sinyal jual dihasilkan saat RSI di bawah 62. Sistem akan secara otomatis menghitung dan melakukan operasi bukaan posisi penuh jika memenuhi kondisi bukaan posisi dan berada dalam periode pengembalian yang efektif.
Saran pengendalian risiko:
Optimalisasi sistem sinyal:
Optimalisasi manajemen posisi:
Optimasi pengendalian risiko:
Pengoptimalan sistem pelacakan:
Strategi ini dengan menggabungkan indikator dinamika RSI dan filter tren rata-rata, membangun sistem perdagangan yang relatif sempurna. Keunggulan strategi ini adalah kemampuan beradaptasi yang kuat, pengendalian risiko yang sempurna, tetapi masih perlu memperhatikan sensitivitas parameter dan dampak dari perubahan lingkungan pasar. Dengan arah optimasi yang disarankan, strategi ini masih memiliki ruang untuk perbaikan yang lebih besar, yang dapat meningkatkan stabilitas dan profitabilitasnya.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple RSI Strategy - Adjustable Levels with Lookback Limit and 30-Day MA", overlay=true)
// Parameters
rsi_length = input.int(12, title="RSI Length", minval=1) // RSI period
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=1, maxval=100) // Overbought level
rsi_oversold = input.int(62, title="RSI Oversold Level", minval=1, maxval=100) // Oversold level
ma_length = input.int(90, title="Moving Average Length", minval=1) // Moving Average period
// Calculate lookback period (2000 days)
lookback_period = 2500
start_date = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - lookback_period)
// RSI Calculation
rsi_value = ta.rsi(close, rsi_length)
// 30-Day Moving Average Calculation
ma_value = ta.sma(close, ma_length)
// Buy Condition: Buy when RSI is above the overbought level
long_condition = rsi_value > rsi_overbought
// Sell Condition: Sell when RSI drops below the oversold level
sell_condition = rsi_value < rsi_oversold
// Check if current time is within the lookback period
in_lookback_period = (time >= start_date)
// Execute Buy with 100% equity if within lookback period
if (long_condition and strategy.position_size == 0 and in_lookback_period)
strategy.entry("Buy", strategy.long, qty=strategy.equity / close)
if (sell_condition and strategy.position_size > 0)
strategy.close("Buy")
// Plot RSI on a separate chart for visualization
hline(rsi_overbought, "Overbought", color=color.red)
hline(rsi_oversold, "Oversold", color=color.green)
plot(rsi_value, title="RSI", color=color.blue)
// Plot the 30-Day Moving Average on the chart
plot(ma_value, title="30-Day MA", color=color.orange, linewidth=2)