Rangkaian Neural Dinamik Trend RSI Mengikuti Strategi Dagangan

SMA RSI
Tarikh penciptaan: 2025-01-17 14:19:08 Akhirnya diubah suai: 2025-01-17 14:19:08
Salin: 3 Bilangan klik: 462
1
fokus pada
1617
Pengikut

Rangkaian Neural Dinamik Trend RSI Mengikuti Strategi Dagangan

Gambaran keseluruhan

Strategi ini ialah sistem perdagangan kuantitatif berdasarkan purata bergerak, penunjuk RSI dan trailing stop loss. Ia menggabungkan penjejakan arah aliran dan penunjuk momentum dalam analisis teknikal untuk mencapai transaksi terkawal risiko dengan menetapkan syarat masuk dan keluar yang ketat. Logik teras strategi adalah untuk mencari peluang terlebih jual untuk memasuki pasaran dalam arah aliran menaik dan menggunakan trailing stop loss untuk melindungi keuntungan.

Prinsip Strategi

Strategi ini menggunakan purata bergerak mudah (SMA) 200 hari sebagai garis dasar untuk pertimbangan arah aliran dan menggabungkannya dengan indeks kekuatan relatif (RSI) untuk menjana isyarat dagangan. Secara khusus:

  1. Gunakan purata bergerak 200 hari untuk menentukan arah aliran umum dan hanya pertimbangkan untuk membeli apabila harga melebihi purata bergerak
  2. Apabila RSI jatuh di bawah ambang pratetap (lalai 40), ia dianggap sebagai isyarat terlebih jual.
  3. Apabila kedua-dua syarat di atas dipenuhi dan tempoh menunggu (10 hari lalai) telah berlalu sejak kedudukan terakhir ditutup, isyarat panjang akan dicetuskan
  4. Melindungi keuntungan secara dinamik semasa memegang kedudukan dengan mengekori henti rugi (lalai 5%)
  5. Apabila harga jatuh di bawah harga trailing stop loss atau jatuh di bawah purata pergerakan 200 hari, tutup kedudukan

Kelebihan Strategik

  1. Gabungkan penapisan berganda trend dan momentum untuk meningkatkan ketepatan dagangan
  2. Menggunakan mekanisme henti kerugian penjejakan boleh mengunci keuntungan dengan berkesan
  3. Tetapkan selang urus niaga untuk mengelakkan urus niaga yang kerap
  4. Parameter sangat boleh dilaraskan untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza
  5. Logik transaksi adalah jelas, mudah difahami dan dilaksanakan
  6. Pengiraan mudah dan kecekapan tinggi

Risiko Strategik

  1. Kelewatan purata bergerak boleh menyebabkan isyarat masuk dan keluar tertunda
  2. Penunjuk RSI mungkin menjana isyarat palsu dalam pasaran yang tidak menentu
  3. Perhentian mengekor peratusan tetap mungkin tidak sesuai untuk semua keadaan pasaran
  4. Pengoptimuman parameter boleh menyebabkan pemasangan berlebihan
  5. Mungkin mengalami pengeluaran besar dalam pasaran yang tidak menentu

Arah pengoptimuman strategi

  1. Memperkenalkan peratusan hentian trailing adaptif volatiliti
  2. Tambah penunjuk volum sebagai pengesahan tambahan
  3. Gunakan purata bergerak eksponen dan bukannya purata bergerak mudah untuk meningkatkan sensitiviti
  4. Tambah penunjuk sentimen pasaran untuk mengoptimumkan peluang dagangan
  5. Membangunkan mekanisme pengoptimuman parameter dinamik
  6. Mekanisme pengesahan strategi berbilang tempoh ditambah

ringkaskan

Ini adalah strategi perdagangan kuantitatif dengan struktur lengkap dan logik yang jelas. Ia menggabungkan berbilang penunjuk teknikal untuk mengejar pulangan yang stabil sambil mengawal risiko. Walaupun terdapat ruang untuk pengoptimuman, rangka kerja asas mempunyai kepraktisan dan kebolehskalaan yang baik. Strategi ini sesuai untuk pelabur jangka sederhana dan panjang serta mempunyai kebolehsesuaian yang baik kepada persekitaran pasaran yang berbeza.

Kod 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")