
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada indikator RSI dan rata-rata EMA, untuk melakukan perdagangan dengan mengkombinasikan sinyal overbought overbought yang relatif kuat (RSI) dengan konfirmasi tren moving average (EMA). Strategi ini mencakup modul manajemen risiko untuk mengendalikan risiko dengan mengatur stop loss (Stop-Loss) dan stop-take (Take-Profit). Berdasarkan data retesting, sekitar 70% dari berbagai jenis perdagangan yang diuji dalam jangka waktu 15 menit menghasilkan keuntungan.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Ini adalah strategi perdagangan kuantitatif yang terstruktur, logis dan jelas, yang menghasilkan sinyal perdagangan yang lebih andal melalui kombinasi RSI dan EMA. Mekanisme manajemen risiko strategi dan fleksibilitas parameter membuatnya memiliki kepraktisan yang baik. Meskipun ada beberapa risiko potensial, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut melalui arah optimasi yang disarankan.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI BUY/SELL + EMA + SLTP by rcpislr", overlay=true)
// Kullanıcı Parametreleri
rsi_period = input(14, title="RSI Periyodu")
rsi_overbought = input(70, title="RSI Aşırı Alım Seviyesi")
rsi_oversold = input(30, title="RSI Aşırı Satım Seviyesi")
ema_period = input(400, title="EMA Periyodu")
use_ema = input(true, title="EMA Şartını Kullan")
sl_pct = input(1, title="Stop-Loss (%)") / 100
tp_pct = input(1, title="Take-Profit (%)") / 100
// Belirtilen Zaman Diliminde RSI ve EMA Hesaplamaları
rsi = ta.rsi(close, rsi_period)
ema = ta.ema(close, ema_period)
// Long ve Short Sinyalleri
long_signal = rsi[2] > rsi_overbought and rsi < rsi_overbought and (close > ema or not use_ema)
short_signal = rsi[2] < rsi_oversold and rsi > rsi_oversold and (close < ema or not use_ema)
// Alım/Satım İşlemleri
if long_signal
strategy.entry("Long", strategy.long)
if short_signal
strategy.entry("Short", strategy.short)
// Stop-Loss ve Take-Profit Uygulaması
if strategy.position_size > 0
long_stop_loss = close * (1 - sl_pct)
long_take_profit = close * (1 + tp_pct)
strategy.exit("Long Exit", from_entry="Long", stop=long_stop_loss, limit=long_take_profit)
if strategy.position_size < 0
short_stop_loss = close * (1 + sl_pct)
short_take_profit = close * (1 - tp_pct)
strategy.exit("Short Exit", from_entry="Short", stop=short_stop_loss, limit=short_take_profit)
// Sinyalleri Grafikte Göster
plotshape(series=long_signal, title="Long Sinyali", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_signal, title="Short Sinyali", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
plot(ema, title="EMA 400", color=color.orange)