Strategi Perdagangan Mengikuti Tren RSI Jaringan Saraf Dinamis

SMA RSI
Tanggal Pembuatan: 2025-01-17 14:19:08 Akhirnya memodifikasi: 2025-01-17 14:19:08
menyalin: 3 Jumlah klik: 462
1
fokus pada
1617
Pengikut

Strategi Perdagangan Mengikuti Tren RSI Jaringan Saraf Dinamis

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan rata-rata pergerakan, indikator RSI, dan trailing stop loss. Menggabungkan pelacakan tren dan indikator momentum dalam analisis teknis untuk mencapai transaksi yang terkendali risikonya dengan menetapkan kondisi masuk dan keluar yang ketat. Logika inti dari strategi ini adalah mencari peluang jenuh jual untuk memasuki pasar dalam tren naik dan menggunakan trailing stop loss untuk melindungi keuntungan.

Prinsip Strategi

Strategi ini menggunakan rata-rata pergerakan sederhana (SMA) 200 hari sebagai dasar penilaian tren dan menggabungkannya dengan indeks kekuatan relatif (RSI) untuk menghasilkan sinyal perdagangan. Secara khusus:

  1. Gunakan moving average 200 hari untuk menentukan tren umum, dan hanya pertimbangkan untuk mengambil posisi long ketika harga berada di atas moving average
  2. Bila RSI turun di bawah ambang batas yang telah ditetapkan (nilai default 40), maka hal tersebut dianggap sebagai sinyal jenuh jual.
  3. Ketika kedua kondisi di atas terpenuhi dan masa tunggu (default 10 hari) telah berlalu sejak posisi terakhir ditutup, sinyal long dipicu
  4. Melindungi keuntungan secara dinamis selama memegang posisi dengan trailing stop loss (default 5%)
  5. Ketika harga turun di bawah harga trailing stop loss atau turun di bawah moving average 200 hari, tutup posisi

Keunggulan Strategis

  1. Gabungkan penyaringan ganda tren dan momentum untuk meningkatkan akurasi perdagangan
  2. Menggunakan mekanisme pelacakan stop loss dapat mengunci keuntungan secara efektif
  3. Tetapkan interval transaksi untuk menghindari transaksi yang sering
  4. Parameter sangat dapat disesuaikan untuk beradaptasi dengan lingkungan pasar yang berbeda
  5. Logika transaksi jelas, mudah dipahami dan dijalankan
  6. Perhitungan sederhana dan efisiensi operasi tinggi

Risiko Strategis

  1. Kelambatan rata-rata pergerakan dapat menyebabkan sinyal masuk dan keluar yang tertunda
  2. Indikator RSI dapat menghasilkan sinyal palsu di pasar yang bergejolak
  3. Trailing stop dengan persentase tetap mungkin tidak cocok untuk semua kondisi pasar
  4. Optimasi parameter dapat menyebabkan overfitting
  5. Mungkin mengalami penurunan besar di pasar yang bergejolak

Arah optimasi strategi

  1. Memperkenalkan persentase trailing stop yang adaptif terhadap volatilitas
  2. Tambahkan indikator volume sebagai konfirmasi tambahan
  3. Gunakan rata-rata pergerakan eksponensial alih-alih rata-rata pergerakan sederhana untuk meningkatkan sensitivitas
  4. Tambahkan indikator sentimen pasar untuk mengoptimalkan peluang perdagangan
  5. Mengembangkan mekanisme optimasi parameter dinamis
  6. Menambahkan mekanisme konfirmasi strategi multi-periode

Meringkaskan

Ini adalah strategi perdagangan kuantitatif dengan struktur lengkap dan logika yang jelas. Menggabungkan beberapa indikator teknis untuk mendapatkan hasil yang stabil sekaligus mengendalikan risiko. Meskipun ada ruang untuk pengoptimalan, kerangka dasar memiliki kepraktisan dan skalabilitas yang baik. Strategi ini cocok untuk investor jangka menengah dan panjang dan memiliki daya adaptasi yang baik terhadap berbagai lingkungan pasar.

Kode Sumber Strategi
/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("200 SMA Crossover Strategy", overlay=false)

// Define inputs
smaLength = input.int(200, title="SMA Length")
rsiLength = input.int(14, title="RSI Length")
rsiThreshold = input.float(40, title="RSI Threshold")
trailStopPercent = input.float(5.0, title="Trailing Stop Loss (%)")
waitingPeriod = input.int(10, title="Waiting Period (Days)")

// Calculate 200 SMA
sma200 = ta.sma(close, smaLength)

// Calculate RSI
rsi = ta.rsi(close, rsiLength)

// Plot the 200 SMA and RSI
plot(sma200, color=color.blue, linewidth=2, title="200 SMA")
plot(rsi, color=color.purple, title="RSI", display=display.none)

// Define buy and sell conditions
var isLong = false
var float lastExitTime = na
var float trailStopPrice = na

// Explicitly declare timeSinceExit as float
float timeSinceExit = na(lastExitTime) ? na : (time - lastExitTime) / (24 * 60 * 60 * 1000)
canEnter = na(lastExitTime) or timeSinceExit > waitingPeriod

buyCondition = close > sma200 and rsi < rsiThreshold and canEnter

if (buyCondition and not isLong)
    strategy.entry("Buy", strategy.long)
    trailStopPrice := na
    isLong := true

// Update trailing stop loss if long
if (isLong)
    trailStopPrice := na(trailStopPrice) ? close * (1 - trailStopPercent / 100) : math.max(trailStopPrice, close * (1 - trailStopPercent / 100))

// Check for trailing stop loss or sell condition
if (isLong and (close < trailStopPrice or close < sma200))
    strategy.close("Buy")
    lastExitTime := time
    isLong := false

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=(isLong and close < trailStopPrice) or close < sma200, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")