Strategi Perdagangan RSI dan Stochastic RSI Divergence

RSI SRSI EMA 背离 摆动过滤器 价格图表线
Tarikh penciptaan: 2025-06-26 09:28:12 Akhirnya diubah suai: 2025-06-26 09:28:12
Salin: 0 Bilangan klik: 281
2
fokus pada
319
Pengikut

Strategi Perdagangan RSI dan Stochastic RSI Divergence Strategi Perdagangan RSI dan Stochastic RSI Divergence

Gambaran keseluruhan

Strategi perdagangan RSI dan RSI berlawanan secara rawak adalah kaedah analisis berteknologi tinggi yang direka khusus untuk mengenal pasti titik-titik perubahan penting di pasaran. Strategi ini menggabungkan kekuatan RSI dan SRSI untuk meramalkan perubahan trend yang berpotensi dengan memantau harga dan pergerakan yang berlawanan antara kedua-dua indikator.

Prinsip Strategi

Prinsip-prinsip utama strategi ini adalah berdasarkan kepada konsep deviasi dalam analisis teknikal. Perpindahan berlaku apabila pergerakan harga tidak selaras dengan pergerakan petunjuk teknikal, yang biasanya menunjukkan bahawa trend semasa mungkin akan berbalik. Strategi ini memberi tumpuan kepada empat jenis deviasi:

  1. Pusing dari pandangan biasaApabila harga berinovasi rendah, tetapi RSI atau SRSI gagal berinovasi rendah, ini menunjukkan bahawa tenaga penurunan sedang melemah dan mungkin menandakan permulaan trend menaik.
  2. Perbezaan dari penurunan biasaApabila harga berinovasi tinggi, tetapi RSI atau SRSI gagal berinovasi tinggi, ini menunjukkan bahawa tenaga naik sedang melemah dan mungkin menandakan permulaan trend menurun.
  3. Penonton yang tersembunyi berpaling: Apabila harga lebih tinggi daripada rendah sebelumnya, tetapi RSI atau SRSI lebih rendah daripada rendah sebelumnya. Ini biasanya menunjukkan perubahan dalam trend menaik, yang menandakan bahawa trend menaik utama akan berlanjutan.
  4. Menyingkirkan kejatuhan harga: Apabila harga berada di bawah yang sebelumnya tinggi, tetapi RSI atau SRSI berada di atas yang sebelumnya tinggi. Ini biasanya menunjukkan rebound dalam trend menurun, yang menandakan bahawa trend menurun utama akan berlanjutan.

Strategi ini menggunakan syarat penapisan yang ketat untuk memastikan kualiti isyarat yang menyimpang:

  • Menggunakan tempoh pengulangan (default 40 kitaran) untuk mencari titik-titik yang ketara
  • Memerlukan jarak peratusan yang paling kecil untuk menyaring turun naik kecil
  • Peratusan perubahan harga minimum yang diminta dengan titik pergerakan terakhir (default 0.5%)

Apabila penyimpangan dikesan, strategi akan melukis label dan sambungan pada carta, yang membolehkan peniaga mengenal pasti isyarat-isyarat penting ini secara intuitif. Selain itu, strategi secara automatik menghasilkan isyarat masuk untuk melakukan lebih banyak dan lebih sedikit berdasarkan isyarat penyimpangan.

Kelebihan Strategik

  1. Pengesahan pelbagai peringkatGabungan RSI dan RSI rawak memberikan pengesahan berganda, mengurangkan kemungkinan isyarat palsu. Isyarat lebih dipercayai apabila kedua-dua penunjuk menunjukkan penyimpangan.
  2. Pengesanan ketidaksuburan secara keseluruhanStrategi ini bukan sahaja mengesan penyimpangan biasa, tetapi juga penyimpangan tersembunyi, yang memberikan pedagang perspektif pasaran yang menyeluruh.
  3. Persembahan visual: Dengan membezakan tanda-tanda visual pada carta, termasuk label dan sambungan, membolehkan peniaga lebih mudah mengenali dan memahami isyarat.
  4. Sangat boleh menyesuaikan diriParameter strategi seperti tempoh mundur, jarak pergerakan minimum dan perubahan harga minimum boleh disesuaikan, membolehkan peniaga mengoptimumkan strategi mengikut keadaan pasaran dan jangka masa yang berbeza.
  5. Penapis mengurangkan bunyi bisingStrategi ini menyaring bunyi pasaran dengan berkesan dengan menerapkan jarak pergerakan minimum dan perubahan harga yang terhad. Ia memberi tumpuan kepada perubahan struktur harga yang bermakna.
  6. Trend dan konteksEMA 200 yang disertakan memberikan konteks trend yang lebih luas untuk membantu peniaga memahami di mana isyarat deviasi berada dalam trend pasaran keseluruhan.

Risiko Strategik

  1. Kemurtadan palsuWalaupun terdapat penapis, pasaran masih boleh menghasilkan isyarat penyingkiran palsu, terutamanya dalam pasaran yang bergelombang tinggi atau penyesuaian. Ini boleh menyebabkan keputusan perdagangan yang salah dan potensi kerugian.
  2. Keterlambatan masaIsyarat penyingkiran biasanya terbentuk selepas harga telah mula berbalik, yang boleh menyebabkan titik masuk yang tidak sesuai, terutamanya dalam pasaran yang berubah-ubah dengan cepat.
  3. Kepekaan ParameterPrestasi strategi sangat bergantung kepada tetapan parameter, seperti tempoh pengulangan dan jarak ayunan minimum. Parameter yang tidak sesuai boleh menyebabkan terlalu banyak atau terlalu sedikit isyarat.
  4. Had IndeksRSI dan SRSI sebagai penunjuk momentum mungkin tidak boleh dipercayai dalam keadaan pasaran tertentu, terutamanya dalam pasaran trend jangka panjang atau persekitaran yang sangat bergolak.
  5. Kekurangan mekanisme kawalan kerugianPelancaran strategi semasa tidak mengandungi strategi berhenti kerugian yang jelas, yang meningkatkan risiko penurunan yang berpotensi.

Untuk mengurangkan risiko ini, disyorkan untuk:

  • Menyingkirkan isyarat yang digunakan dalam kombinasi dengan petunjuk teknikal lain atau kaedah analisis, seperti tahap sokongan / rintangan, bentuk kejatuhan, atau analisis kuantiti bertukar
  • Tetapan parameter ujian dan pengoptimuman dalam keadaan pasaran yang berbeza
  • Menerapkan pengurusan wang yang betul dan strategi penghentian kerugian
  • Mempertimbangkan makna isyarat penyingkiran dalam konteks trend pasaran keseluruhan

Arah pengoptimuman strategi

  1. Integrasi mekanisme henti dan hentikanStrategi semasa tidak mempunyai fungsi pengurusan risiko. Menambah berhenti dinamik berdasarkan ATR (rangkaian purata sebenar) atau berhenti tetap berdasarkan tahap sokongan / rintangan utama dapat meningkatkan kadar pulangan risiko strategi dengan ketara. Begitu juga, pelaksanaan peraturan berhenti berdasarkan sasaran harga atau masa dapat mengunci keuntungan.
  2. Tambah penapis trendWalaupun strategi telah memasukkan EMA sebagai rujukan, ia tidak digunakan untuk memfilter perdagangan. Syarat boleh ditambah, seperti mempertimbangkan deviasi bullish hanya apabila harga lebih tinggi daripada EMA 200 hari, atau mempertimbangkan deviasi bearish hanya apabila harga lebih rendah daripada EMA 200 hari, yang membantu untuk tetap selaras dengan trend utama.
  3. Mekanisme pengesahan isyaratPengenalan penunjuk pengesahan tambahan, seperti peningkatan jumlah lalu lintas, penyambungan bentuk pengesahan kejatuhan atau penunjuk momentum lain, dapat meningkatkan kebolehpercayaan isyarat.
  4. Pengaturan parameter dinamik: Mekanisme untuk menyesuaikan pengurangan jangka masa dan pengurangan jarak pengurangan secara automatik berdasarkan turun naik pasaran. Sebagai contoh, penggunaan pengurangan yang lebih besar dalam pasaran turun naik tinggi dan pengurangan yang lebih kecil dalam pasaran turun naik rendah.
  5. Berpaling dari penilaian intensitiMembangunkan sistem penilaian untuk menilai “kekuatan” penyimpangan, berdasarkan saiz penyimpangan antara harga dan penunjuk, jangka masa penyimpangan dan faktor lain yang berkaitan. Ini dapat membantu peniaga mengutamakan isyarat yang lebih kuat.
  6. Analisis pelbagai kerangka masaMengintegrasikan pengesahan pelbagai bingkai masa, contohnya, mempertimbangkan isyarat hanya apabila bingkai masa yang lebih tinggi juga menunjukkan penyimpangan ke arah yang sama, yang dapat mengurangkan isyarat palsu.
  7. Meningkatkan pengesanan pergerakan hargaStrategi semasa menggunakan pengesanan titik tinggi / rendah yang mudah. Analisis struktur harga yang lebih kompleks (seperti urutan yang mempertimbangkan beberapa titik pergerakan) dapat meningkatkan ketepatan pengesanan.
  8. Kesesuaian dengan keadaan pasaranMenambah ciri klasifikasi persekitaran pasaran (seperti trend, julat atau turun naik yang tinggi) dan menyesuaikan tindakan strategi mengikut keadaan yang dikesan.

ringkaskan

Strategi perdagangan RSI dan RSI Random deviation adalah alat analisis teknikal yang kompleks dan kuat yang dapat menangkap isyarat pembalikan pasaran dan trend lanjutan yang berpotensi dengan mengenal pasti ketidakselarasan antara harga dan indikator dinamik. Strategi ini menyediakan cara yang komprehensif untuk mengenal pasti peluang perdagangan berkemungkinan tinggi dengan menggabungkan pengesanan deviasi biasa dan tersembunyi, dan menggunakan penapis yang dirancang dengan teliti.

Walau bagaimanapun, seperti semua kaedah analisis teknikal, strategi ini juga mempunyai batasan dan risiko. Dengan melaksanakan optimasi yang disyorkan, seperti menambah mekanisme pengurusan risiko, meningkatkan pengesahan isyarat, dan menyelaraskan penyesuaian parameter dinamik, anda dapat meningkatkan kestabilan dan prestasi strategi dengan ketara.

Akhirnya, strategi ini paling sesuai untuk digunakan sebagai sebahagian daripada sistem perdagangan yang lebih luas, digabungkan dengan alat analisis lain dan prinsip pengurusan wang yang sesuai. Bagi peniaga yang memahami analisis teknikal dan struktur pasaran, strategi ini boleh menjadi alat yang berharga untuk mencari set perdagangan berkualiti tinggi.

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