Strategi ini menggabungkan strategi pembalikan titik pivot dengan penunjuk Indeks Kekuatan Relatif (RSI) untuk mengesan peluang pembalikan trend yang berpotensi pada tahap pivot dengan memeriksa isyarat RSI.
Strategi ini mula-mula mengira tahap sokongan dan rintangan utama dengan melihat ke kiri dan kanan ke beberapa bar untuk mencari pusingan tinggi tertinggi dan pusingan rendah terendah. Apabila tahap pusingan ditubuhkan, ia lebih lanjut memeriksa sama ada RSI memenuhi keadaan overbought atau oversold. Khususnya, jika RSI di bawah garis oversold pada rintangan, ia dianggap oversold untuk masuk panjang. Jika RSI di atas garis overbought pada sokongan, ia dianggap overbought untuk masuk pendek. Ini membolehkan menggunakan penapis RSI untuk mengenal pasti pecah palsu dan masa kemasukan yang lebih baik pada titik pembalikan trend.
Perincian kod adalah seperti berikut:
Kelebihan utama strategi ini ialah:
Pengesahan trend: RSI menapis pecah palsu dan mengelakkan entri yang salah semasa penurunan sementara.
Kawalan risiko: Hentian diletakkan berhampiran sokongan dan rintangan utama untuk pengurusan risiko yang lebih baik.
Kepelbagaian: Boleh digunakan untuk produk dan jangka masa yang berbeza.
Kesederhanaan: Petunjuk dan parameter minimum untuk pelaksanaan yang mudah.
Kecekapan data: Hanya data OHLC yang diperlukan dan tidak sensitif terhadap kualiti data.
Risiko yang berpotensi ialah:
Risiko kegagalan pusingan: Tahap utama boleh dilanggar semasa perubahan pasaran yang besar, menyebabkan kegagalan strategi. Ini boleh dikurangkan dengan menyesuaikan tempoh melihat kembali untuk memperluaskan julat pusingan.
Risiko perbezaan RSI: RSI boleh berlainan dan menjadi tidak berkesan untuk overbought / oversold di pasaran yang bergolak. Parameter RSI boleh disesuaikan dan penapis tambahan ditambah untuk mengesahkan isyarat RSI.
Risiko Stop Loss: Stop boleh dipukul semasa trend yang kuat yang membawa kepada peningkatan kerugian. Jarak stop loss yang lebih luas dapat membantu tetapi memerlukan keseimbangan keuntungan dan risiko.
Risiko penarikan: Strategi ini dilaksanakan pada setiap tik dan boleh menghadapi penarikan semasa pembalikan yang tidak menguntungkan. Penarikan boleh dikawal melalui pengurusan risiko.
Strategi ini boleh ditingkatkan dalam beberapa aspek:
Mengoptimumkan pengiraan pivot dengan menguji tempoh belakang kiri / kanan yang berbeza dan menambah penapis untuk meningkatkan ketepatan.
Mengoptimumkan parameter RSI untuk pengesanan overbought / oversold yang lebih baik.
Tambah penapis tambahan untuk mengelakkan whipsaws di pasaran yang bergolak, seperti penunjuk turun naik.
Mengoptimumkan berhenti untuk mengimbangi keuntungan dan risiko.
Menggunakan hentian statistik berdasarkan analisis data sejarah untuk menentukan julat stop loss.
Tambah pengesahan jangka masa berbilang untuk meningkatkan kadar kemenangan menggunakan pelbagai tempoh.
Strategi Go With The Trend RSI menggabungkan titik pusingan dan RSI untuk mengenal pasti titik perubahan trend yang berpotensi dan mencari entri optimum. Berbanding dengan menggunakan teknik tunggal seperti pusingan atau RSI sahaja, strategi ini meningkatkan ketahanan dan konsistensi. Pengoptimuman lanjut pada parameter dan penapis dapat meningkatkan kadar kemenangan dan pulangan yang disesuaikan dengan risiko. Secara keseluruhan, ini adalah sistem praktikal untuk berdagang pembalikan trend jangka pendek.
/*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)