strategi RSI


Tarikh penciptaan: 2023-10-08 11:36:01 Akhirnya diubah suai: 2023-10-08 11:36:01
Salin: 1 Bilangan klik: 646
1
fokus pada
1621
Pengikut

Gambaran keseluruhan

Strategi ini menggabungkan strategi pembalikan tahap rintangan sokongan utama dan indikator RSI yang agak kuat (RSI) untuk memeriksa isyarat RSI ketika tahap rintangan sokongan terbentuk untuk melihat peluang pembalikan trend yang berpotensi.

Prinsip Strategi

Strategi ini pertama-tama mengira tahap rintangan sokongan utama, iaitu dengan melihat beberapa garis K di kedua-dua belah kiri dan kanan, untuk mendapatkan tahap sokongan harga tertinggi dan tahap rintangan harga terendah. Apabila tahap rintangan sokongan terbentuk, periksa lebih lanjut sama ada nilai RSI memenuhi syarat untuk membeli dan menjual.

Kode yang digunakan adalah seperti berikut:

  1. Pengiraan tempat rintangan sokongan
  • Fungsi pivothigh () dan pivotlow () berdasarkan sokongan dan rintangan yang dikira pada garis K akar N kiri dan kanan
  • Mempertahankan tahap sokongan dan menetapkan penilaian tertakluk pada penurunan harga
  1. Pengiraan RSI
  • Menggunakan fungsi rsi() untuk mengira RSI
  • Menetapkan RSI overbought dan oversold kesimpulan
  1. Gabungan sokongan rintangan dan isyarat RSI
  • Jika anda berbelanja di tempat rintangan dan RSI berada di bawah garis jual, anda boleh melakukan lebih banyak.
  • Jika RSI berada di atas garis beli, anda boleh melakukan shorting.
  1. Pemasangan Stop Loss
  • Multiple Stop Loss sebagai Minimum Pergerakan di Bawah Sokongan
  • Hentikan kad kosong untuk satu pergerakan minimum di atas tempat rintangan

Analisis kelebihan

Strategi ini mempunyai kelebihan utama:

  1. Pengesahan trend: RSI boleh menyaring penembusan palsu untuk mengelakkan kesalahan masuk dalam penyesuaian sementara

  2. Kawalan risiko: Tetapan stop loss berhampiran dengan rintangan sokongan utama, yang membantu mengawal risiko

  3. Serba boleh: sesuai untuk pelbagai jenis dan tempoh masa

  4. Mudah dilaksanakan: kurang parameter dan parameter yang ditetapkan, mudah dilaksanakan

  5. Keperluan data yang rendah: hanya memerlukan OHLC, kualiti data yang rendah

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Risiko kegagalan tahap rintangan sokongan: Apabila pasaran berada dalam perubahan yang teruk, rintangan sokongan asal mungkin ditembusi dan menyebabkan strategi gagal. Risiko ini dapat dikurangkan dengan menyesuaikan parameter yang sesuai untuk meluaskan tahap rintangan sokongan.

  2. Risiko Penyebaran RSI: Dalam keadaan yang bergolak, RSI mungkin tersebar, dan overbought dan oversold dianggap tidak berkesan. Parameter RSI boleh disesuaikan dengan betul atau menambah syarat tambahan untuk mengesahkan isyarat RSI.

  3. Hentian terhad kepada risiko: Dalam perjalanan trend, hentian mungkin akan ditembusi yang menyebabkan kerugian meluas. Jarak hentian boleh dikurangkan dengan sewajarnya. Tetapi perlu menyeimbangkan keuntungan dan kawalan risiko trend.

  4. Risiko penarikan balik: Strategi ini dilaksanakan secara beransur-ansur, dan penarikan balik tertentu mungkin berlaku jika trend berbalik tidak lancar. Penarikan balik boleh dikawal melalui pengurusan risiko.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter pengiraan tempat rintangan sokongan, meningkatkan ketepatan penempatan. Anda boleh menguji penglihatan kiri dan kanan yang berbeza atau menambah penapis syarat dan sebagainya.

  2. Mengoptimumkan parameter RSI, meningkatkan ketepatan penilaian overbought dan oversold. Anda boleh menguji panjang RSI yang berbeza, dan lokasi garis overbought dan oversold.

  3. Tambah syarat pengesahan tambahan untuk mengelakkan terikat dalam keadaan gegaran. Sebagai contoh, gabungan indikator kadar turun naik dan sebagainya.

  4. Mengoptimumkan strategi hentian kerugian, mencapai keseimbangan antara mengejar keuntungan dan mengawal risiko. Cara hentian dinamik seperti trailing stop boleh diperkenalkan.

  5. Memperkenalkan penangguhan berdasarkan analisis statistik, menentukan julat penangguhan dengan mengira berdasarkan data sejarah.

  6. Menggabungkan beberapa kitaran masa untuk mengesahkan, menggunakan pelbagai kitaran saling mengesahkan untuk meningkatkan kadar kemenangan.

ringkaskan

Strategi ini menggunakan sokongan rintangan dan indikator RSI untuk menyusun strategi RSI untuk mengenal pasti titik-titik perubahan tren yang berpotensi, dan mencari masa masuk yang lebih baik di titik-titik penting. Strategi ini dapat meningkatkan sistematik dan kestabilan berbanding dengan menggunakan indikator teknikal seperti sokongan rintangan atau RSI secara tunggal. Dengan terus mengoptimumkan parameter dan syarat penapisan, strategi ini dapat meningkatkan lagi kadar kemenangan dan kadar pulangan keuntungan.

Kod sumber strategi
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Pivot Point Reversal + RSI Strategy", shorttitle = 'PP + RSI Strategy', overlay=true)

////////////
// Inputs //

leftBars   = input(3,  title = 'PP - Left Bars')
rightBars  = input(3,  title = 'PP - Right Bars')
rsi_length = input(14, title = "RSI - Length")
rsi_long   = input(70, title = "RSI - Overbought level")
rsi_short  = input(30, title = "RSI - Overold level")

//////////////////
// Calculations //

// Pivot Points
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

// Pivot High 
swh_cond = not na(swh)
 
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
 
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

// Pivot Low 
swl_cond = not na(swl)
 
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
 
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// RSI 
rsi = rsi(close, 14)

//////////////
// STRATEGY //

if (le and rsi[rightBars] < rsi_long )
    strategy.entry("PivRevLE", strategy.long,  comment = "PivRSI Long",  stop = hprice + syminfo.mintick)
 
if (se and rsi[rightBars] > rsi_short)
    strategy.entry("PivRevSE", strategy.short, comment = "PivRSI Short", stop = lprice - syminfo.mintick)