Strategi ini adalah sistem perdagangan kuantitatif berdasarkan teori reversi rata-rata, menggabungkan Bollinger Band, indikator RSI, dan mekanisme stop-loss dinamis berbasis ATR. Strategi ini diperdagangkan dengan mengidentifikasi penyimpangan harga ekstrem dari rata-rata, pergi panjang ketika harga menyentuh Bollinger Band yang lebih rendah dan RSI berada di wilayah oversold, dan pergi pendek ketika harga menyentuh Bollinger Band atas dan RSI berada di wilayah overbought, sambil menggunakan ATR untuk secara dinamis mengatur stop-loss dan level take-profit untuk manajemen risiko-imbalan yang efektif.
Strategi ini menggunakan 20 periode Bollinger Bands sebagai indikator tren utama, dengan perkalian standar deviasi 2,0 untuk menentukan batas pergerakan harga. RSI 14 periode dimasukkan sebagai indikator tambahan, dengan pembacaan di bawah 30 dianggap oversold dan di atas 70 dianggap overbought. Posisi panjang dimulai ketika harga pecah di bawah band bawah dan RSI di bawah 30, menunjukkan kondisi oversold potensial, sementara posisi pendek diambil ketika harga pecah di atas band atas dan RSI di atas 70, menunjukkan kondisi overbought potensial. Band tengah berfungsi sebagai tingkat pengambilan keuntungan, dikombinasikan dengan sinyal pembalikan RSI untuk manajemen posisi. Selain itu, mekanisme stop-loss dinamis berbasis ATR 14 periode diimplementasikan, dengan stop profit ditetapkan pada 2x ATR dan stop loss pada 3x ATR untuk pengendalian risiko yang tepat.
Strategi ini membangun sistem perdagangan reversi rata-rata yang komprehensif melalui aplikasi gabungan Bollinger Bands dan RSI. Pengenalan stop dinamis berbasis ATR secara efektif mengendalikan risiko, memberikan karakteristik risiko-pahala yang menguntungkan. Meskipun ada ruang untuk optimasi, konsep desain keseluruhan jelas dan praktis. Pedagang disarankan untuk menyesuaikan parameter sesuai dengan karakteristik pasar tertentu dan terus memantau kinerja strategi saat menerapkannya dalam perdagangan langsung.
/*backtest start: 2024-11-19 00:00:00 end: 2024-11-26 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SOL/USDT Mean Reversion Strategy", overlay=true) // Input parameters length = input(20, "Bollinger Band Length") std_dev = input(2.0, "Standard Deviation") rsi_length = input(14, "RSI Length") rsi_oversold = input(30, "RSI Oversold") rsi_overbought = input(70, "RSI Overbought") // Calculate indicators [middle, upper, lower] = ta.bb(close, length, std_dev) rsi = ta.rsi(close, rsi_length) // Entry conditions long_entry = close < lower and rsi < rsi_oversold short_entry = close > upper and rsi > rsi_overbought // Exit conditions long_exit = close > middle or rsi > rsi_overbought short_exit = close < middle or rsi < rsi_oversold // Strategy execution if (long_entry) strategy.entry("Long", strategy.long) if (short_entry) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short") // Stop loss and take profit atr = ta.atr(14) strategy.exit("Long SL/TP", "Long", stop=strategy.position_avg_price - 2*atr, limit=strategy.position_avg_price + 3*atr) strategy.exit("Short SL/TP", "Short", stop=strategy.position_avg_price + 2*atr, limit=strategy.position_avg_price - 3*atr) // Plot indicators plot(middle, color=color.yellow, title="BB Middle") plot(upper, color=color.red, title="BB Upper") plot(lower, color=color.green, title="BB Lower") // Plot entry and exit points plotshape(long_entry, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(short_entry, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(long_exit, title="Long Exit", location=location.abovebar, color=color.orange, style=shape.circle, size=size.small) plotshape(short_exit, title="Short Exit", location=location.belowbar, color=color.orange, style=shape.circle, size=size.small)