Strategi Perdagangan Divergensi RSI dan Stochastic RSI

RSI SRSI EMA 背离 摆动过滤器 价格图表线
Tanggal Pembuatan: 2025-06-26 09:28:12 Akhirnya memodifikasi: 2025-06-26 09:28:12
menyalin: 0 Jumlah klik: 281
2
fokus pada
319
Pengikut

Strategi Perdagangan Divergensi RSI dan Stochastic RSI Strategi Perdagangan Divergensi RSI dan Stochastic RSI

Ringkasan

RSI vs Random RSI Backtracking Trading Strategy adalah metode analisis teknis canggih yang dirancang khusus untuk mengidentifikasi titik balik penting di pasar. Strategi ini menggabungkan kekuatan indikator relatif kuat (RSI) dan indikator relatif kuat (SRSI) secara acak untuk memprediksi perubahan tren potensial dengan memantau harga dan backtracking antara indikator momentum ini. Selain itu, strategi ini juga mengintegrasikan indeks Moving Average (EMA) sebagai filter tren dan menerapkan filter jarak geser yang tepat, memastikan untuk menangkap perubahan struktur pasar yang bermakna dan bukan kebisingan pasar.

Prinsip Strategi

Prinsip inti dari strategi ini didasarkan pada konsep deviasi dalam analisis teknis. Deviasi terjadi ketika pergerakan harga tidak konsisten dengan pergerakan indikator teknis, biasanya menunjukkan bahwa tren saat ini mungkin akan segera berbalik. Strategi ini berfokus pada empat jenis deviasi:

  1. Pembacaan yang tidak teraturKetika harga berinovasi rendah, tetapi RSI atau SRSI gagal berinovasi rendah, ini menunjukkan bahwa momentum turun sedang melemah dan mungkin menandakan awal tren naik.
  2. Perbedaan dari penurunan harga regulerKetika harga berinovasi tinggi, tetapi RSI atau SRSI gagal berinovasi tinggi, ini menunjukkan bahwa energi bullish sedang melemah, yang mungkin merupakan awal dari tren turun.
  3. Pengamat yang tersembunyi berbalik: Ketika harga lebih tinggi dari low sebelumnya, tetapi RSI atau SRSI lebih rendah dari low sebelumnya. Ini biasanya menunjukkan pembalikan dalam tren naik, yang mengindikasikan bahwa tren naik utama akan berlanjut.
  4. Penurunan harga yang disembunyikan: Ketika harga lebih rendah dari harga sebelumnya, tetapi RSI atau SRSI lebih tinggi dari harga sebelumnya. Ini biasanya menunjukkan rebound dalam tren turun, yang mengindikasikan bahwa tren turun utama akan berlanjut.

Strategi ini menggunakan kondisi penyaringan yang ketat untuk memastikan kualitas sinyal yang menyimpang:

  • Menggunakan periode mundur ((default 40 siklus) untuk mencari titik-titik yang signifikan
  • Memerlukan jarak yang paling kecil untuk menyaring fluktuasi kecil
  • Persentase perubahan harga minimal yang diminta dengan titik akhir ((default 0.5%)

Ketika deviasi terdeteksi, strategi akan menggambar label dan garis penghubung pada grafik, sehingga pedagang dapat secara intuitif mengidentifikasi sinyal-sinyal penting tersebut. Selain itu, strategi secara otomatis menghasilkan sinyal masuk untuk melakukan plus dan minus berdasarkan pada sinyal deviasi.

Keunggulan Strategis

  1. Pengakuan Multilevel: Kombinasi RSI dan RSI acak memberikan konfirmasi ganda, mengurangi kemungkinan sinyal palsu. Ketika kedua indikator menunjukkan deviasi, sinyal lebih dapat diandalkan.
  2. Pengembalian Kepada Pemeriksaan UmumStrategi ini tidak hanya mendeteksi deviasi konvensional, tetapi juga deviasi tersembunyi, memberikan perspektif pasar yang komprehensif kepada pedagang.
  3. Penampilan visual: Dengan memisahkan tanda-tanda visual pada grafik, termasuk label dan sambungan, memungkinkan pedagang untuk lebih mudah mengenali dan memahami sinyal.
  4. Sangat mudah beradaptasiParameter strategi seperti periode mundur, jarak minimum dan perubahan harga minimum dapat disesuaikan, memungkinkan pedagang untuk mengoptimalkan strategi sesuai dengan kondisi pasar dan jangka waktu yang berbeda.
  5. Filter mengurangi suaraStrategi ini secara efektif menyaring kebisingan pasar dengan menerapkan jarak berayun minimal dan nilai terendah dari perubahan harga, dengan fokus pada perubahan struktur harga yang berarti.
  6. Tren dan KonteksTermasuk 200 EMA memberikan konteks tren yang lebih luas untuk membantu pedagang memahami posisi sinyal deviasi dalam tren pasar secara keseluruhan.

Risiko Strategis

  1. Kemurtadan palsuMeskipun ada filter, pasar masih dapat menghasilkan sinyal deviasi palsu, terutama di pasar yang berfluktuasi tinggi atau di pasar konsolidasi. Hal ini dapat menyebabkan keputusan perdagangan yang salah dan potensi kerugian.
  2. Keterlambatan waktuSinyal deviasi biasanya muncul setelah harga sudah mulai berbalik, yang dapat menyebabkan titik masuk yang tidak ideal, terutama di pasar yang bergerak cepat.
  3. Parameter SensitivitasKinerja strategi sangat bergantung pada pengaturan parameter, seperti periode mundur dan jarak geser minimum. Parameter yang tidak tepat dapat menyebabkan terlalu banyak atau terlalu sedikit sinyal.
  4. Pembatasan IndeksRSI dan SRSI sebagai indikator momentum mungkin tidak cukup dapat diandalkan dalam kondisi pasar tertentu, terutama di pasar tren jangka panjang atau lingkungan fluktuasi ekstrim.
  5. Kurangnya pengendalian kerugianImplementasi strategi saat ini tidak menyertakan strategi stop loss yang jelas, yang meningkatkan potensi risiko penurunan.

Untuk mengurangi risiko ini, disarankan untuk:

  • menggunakan sinyal deviasi dalam kombinasi dengan indikator teknis lainnya atau metode analisis, seperti tingkat dukungan / resistensi, bentuk kejatuhan atau analisis volume transaksi
  • Pengaturan parameter pengujian dan optimasi dalam kondisi pasar yang berbeda
  • Menerapkan manajemen dan strategi penghentian kerugian yang tepat
  • Mempertimbangkan makna sinyal deviasi dalam konteks tren pasar secara keseluruhan

Arah optimasi strategi

  1. Integrasi Stop Loss dan Stop StopStrategi saat ini tidak memiliki fungsi manajemen risiko. Penambahan stop loss dinamis berdasarkan ATR (rata-rata real range) atau stop loss tetap berdasarkan titik-titik dukungan / resistensi utama dapat secara signifikan meningkatkan rasio risiko-pengembalian strategi.
  2. Tambahkan filter tren: Meskipun strategi telah menyertakan EMA sebagai referensi, namun tidak menggunakannya untuk memfilter perdagangan. Kondisi dapat ditambahkan, seperti hanya mempertimbangkan deflection bullish jika harga di atas 200 hari EMA, atau hanya mempertimbangkan deflection bearish jika harga di bawah 200 hari EMA, yang membantu untuk tetap konsisten dengan tren utama.
  3. Mekanisme konfirmasi sinyalIntroduksi indikator konfirmasi tambahan, seperti peningkatan volume lalu lintas, pencoblosan konfirmasi bentuk atau pencoblosan indikator dinamis lainnya, dapat meningkatkan keandalan sinyal.
  4. Pengaturan parameter dinamis: Mekanisme yang memungkinkan untuk melakukan penyesuaian otomatis pada periode pengembalian berdasarkan volatilitas pasar dan untuk menggeser jarak dari margin. Misalnya, menggunakan margin yang lebih besar di pasar yang berfluktuasi tinggi dan menggunakan margin yang lebih kecil di pasar yang berfluktuasi rendah.
  5. Perbedaan dari nilai intensitasPengembangan sistem penilaian untuk menilai “kekuatan” deviasi, berdasarkan ukuran deviasi antara harga dan indikator, lamanya waktu deviasi terbentuk, dan faktor terkait lainnya. Ini dapat membantu pedagang memprioritaskan sinyal yang lebih kuat.
  6. Analisis multi-frame waktu: Integrasi multi-frame konfirmasi, misalnya, hanya mempertimbangkan sinyal jika frame waktu yang lebih tinggi juga menunjukkan deviasi ke arah yang sama, yang dapat mengurangi sinyal palsu.
  7. Meningkatkan deteksi pergerakan hargaStrategi saat ini menggunakan deteksi titik tinggi / rendah sederhana. Analisis struktur harga yang lebih kompleks (misalnya, mempertimbangkan urutan dari beberapa titik fluktuasi) dapat meningkatkan akurasi deteksi deviasi.
  8. Adaptasi terhadap kondisi pasar: Tambahkan fungsi klasifikasi lingkungan pasar (seperti tren, jangkauan, atau volatilitas tinggi) dan menyesuaikan perilaku strategi sesuai dengan lingkungan yang terdeteksi.

Meringkaskan

RSI vs Random RSI Offset Trading Strategy adalah alat analisis teknis yang kompleks dan kuat yang mampu menangkap sinyal reversal pasar potensial dan perpanjangan tren dengan mengidentifikasi ketidaksesuaian antara harga dan indikator momentum. Strategi ini menyediakan metode komprehensif untuk mengidentifikasi peluang perdagangan probabilitas tinggi dengan mengintegrasikan deteksi offset konvensional dan tersembunyi, dan menerapkan filter yang dirancang dengan baik.

Namun, seperti semua metode analisis teknis, strategi ini juga memiliki keterbatasan dan risiko. Dengan mengimplementasikan optimasi yang disarankan, seperti menambahkan mekanisme manajemen risiko, memperbaiki konfirmasi sinyal, dan mengintegrasikan penyesuaian parameter dinamis, stabilitas dan kinerja strategi dapat ditingkatkan secara signifikan.

Pada akhirnya, strategi ini paling cocok digunakan sebagai bagian dari sistem perdagangan yang lebih luas, dikombinasikan dengan alat analisis lainnya dan prinsip-prinsip pengelolaan dana yang tepat. Untuk pedagang yang memahami analisis teknis dan struktur pasar, strategi yang menyimpang ini dapat menjadi alat yang berharga untuk menemukan pengaturan perdagangan berkualitas tinggi.

Kode Sumber Strategi
/*backtest
start: 2024-06-26 00:00:00
end: 2025-06-24 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("RSI Divergence Strategy", overlay=true)
//strategy("RSI & SRSI Divergence Strategy with EMA & Min Swing Filter + Price Chart Lines", overlay=true)
rsiLength = input.int(14, title="RSI Length")
srsiLength = input.int(14, title="Stochastic RSI Length")
kLength = input.int(3, title="%K Length")
dLength = input.int(3, title="%D Length")
emaLength = input.int(200, title="EMA Length")
lookback = input.int(40, title="Lookback Period for Divergence")
minSwingDistPercent = input.float(1.5, title="Minimum Swing Distance (%)")
minPriceMovePercent = input.float(0.5, title="Minimum Price Move from Last Swing (%)")

rsi = ta.rsi(close, rsiLength)
srsi = ta.stoch(rsi, rsi, rsi, srsiLength)
k = ta.sma(srsi, kLength)
d = ta.sma(k, dLength)
ema200 = ta.ema(close, emaLength)

// === Bullish Regular Divergence ===
var float lastLowPrice = na
var float lastLowRsi = na
var float lastLowSrsi = na
var int lastLowIndex = na
bullishDiv = false
if ta.lowestbars(low, lookback) == 0
    if not na(lastLowPrice) and not na(lastLowRsi) and not na(lastLowSrsi)
        swingDistLow = math.abs(low - lastLowPrice) / lastLowPrice * 100
        priceMoveLow = math.abs(low - lastLowPrice) / lastLowPrice * 100
        if swingDistLow >= minSwingDistPercent and priceMoveLow >= minPriceMovePercent
            if (low < lastLowPrice and rsi > lastLowRsi) or (low < lastLowPrice and k > lastLowSrsi)
                bullishDiv := true

            lastLowPrice := low
            lastLowRsi := rsi
            lastLowSrsi := k
            lastLowIndex := bar_index
    else
        lastLowPrice := low
        lastLowRsi := rsi
        lastLowSrsi := k
        lastLowIndex := bar_index

// === Bearish Regular Divergence ===
var float lastHighPrice = na
var float lastHighRsi = na
var float lastHighSrsi = na
var int lastHighIndex = na
bearishDiv = false
if ta.highestbars(high, lookback) == 0
    if not na(lastHighPrice) and not na(lastHighRsi) and not na(lastHighSrsi)
        swingDistHigh = math.abs(high - lastHighPrice) / lastHighPrice * 100
        priceMoveHigh = math.abs(high - lastHighPrice) / lastHighPrice * 100
        if swingDistHigh >= minSwingDistPercent and priceMoveHigh >= minPriceMovePercent
            if (high > lastHighPrice and rsi < lastHighRsi) or (high > lastHighPrice and k < lastHighSrsi)
                bearishDiv := true
            
            lastHighPrice := high
            lastHighRsi := rsi
            lastHighSrsi := k
            lastHighIndex := bar_index
    else
        lastHighPrice := high
        lastHighRsi := rsi
        lastHighSrsi := k
        lastHighIndex := bar_index

// === Bullish Hidden Divergence ===
bullishHiddenDiv = false
if ta.lowestbars(low, lookback) == 0
    if not na(lastLowPrice) and not na(lastLowRsi) and not na(lastLowSrsi)
        swingDistLowHidden = math.abs(low - lastLowPrice) / lastLowPrice * 100
        priceMoveLowHidden = math.abs(low - lastLowPrice) / lastLowPrice * 100
        if swingDistLowHidden >= minSwingDistPercent and priceMoveLowHidden >= minPriceMovePercent
            if (low > lastLowPrice and rsi < lastLowRsi) or (low > lastLowPrice and k < lastLowSrsi)
                bullishHiddenDiv := true


// === Bearish Hidden Divergence ===
bearishHiddenDiv = false
if ta.highestbars(high, lookback) == 0
    if not na(lastHighPrice) and not na(lastHighRsi) and not na(lastHighSrsi)
        swingDistHighHidden = math.abs(high - lastHighPrice) / lastHighPrice * 100
        priceMoveHighHidden = math.abs(high - lastHighPrice) / lastHighPrice * 100
        if swingDistHighHidden >= minSwingDistPercent and priceMoveHighHidden >= minPriceMovePercent
            if (high < lastHighPrice and rsi > lastHighRsi) or (high < lastHighPrice and k > lastHighSrsi)
                bearishHiddenDiv := true


// === PLOTS ===
plot(ema200, title="EMA 200", color=color.purple, linewidth=2)

// === STRATEGY ENTRIES ===
if bullishDiv or bullishHiddenDiv
    strategy.entry("Long", strategy.long)
if bearishDiv or bearishHiddenDiv
    strategy.entry("Short", strategy.short)