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.
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:
Strategi ini mempunyai kelebihan utama:
Pengesahan trend: RSI boleh menyaring penembusan palsu untuk mengelakkan kesalahan masuk dalam penyesuaian sementara
Kawalan risiko: Tetapan stop loss berhampiran dengan rintangan sokongan utama, yang membantu mengawal risiko
Serba boleh: sesuai untuk pelbagai jenis dan tempoh masa
Mudah dilaksanakan: kurang parameter dan parameter yang ditetapkan, mudah dilaksanakan
Keperluan data yang rendah: hanya memerlukan OHLC, kualiti data yang rendah
Strategi ini juga mempunyai risiko:
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.
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.
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.
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.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter pengiraan tempat rintangan sokongan, meningkatkan ketepatan penempatan. Anda boleh menguji penglihatan kiri dan kanan yang berbeza atau menambah penapis syarat dan sebagainya.
Mengoptimumkan parameter RSI, meningkatkan ketepatan penilaian overbought dan oversold. Anda boleh menguji panjang RSI yang berbeza, dan lokasi garis overbought dan oversold.
Tambah syarat pengesahan tambahan untuk mengelakkan terikat dalam keadaan gegaran. Sebagai contoh, gabungan indikator kadar turun naik dan sebagainya.
Mengoptimumkan strategi hentian kerugian, mencapai keseimbangan antara mengejar keuntungan dan mengawal risiko. Cara hentian dinamik seperti trailing stop boleh diperkenalkan.
Memperkenalkan penangguhan berdasarkan analisis statistik, menentukan julat penangguhan dengan mengira berdasarkan data sejarah.
Menggabungkan beberapa kitaran masa untuk mengesahkan, menggunakan pelbagai kitaran saling mengesahkan untuk meningkatkan kadar kemenangan.
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.
/*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)