Strategi Dagangan RSI Laguerre


Tarikh penciptaan: 2023-12-19 14:04:46 Akhirnya diubah suai: 2023-12-19 14:04:46
Salin: 0 Bilangan klik: 1317
1
fokus pada
1621
Pengikut

Strategi Dagangan RSI Laguerre

Gambaran keseluruhan

Strategi perdagangan RSI Rahel adalah indikator RSI berdasarkan penapis Rahel oleh John EHLERS. Strategi ini meningkatkan atau mengurangkan keterbelakangan dan kelancaran indikator RSI dengan menyesuaikan faktor α, dengan itu menapis kebisingan RSI dan menghantar isyarat beli yang lebih jelas.

Prinsip Strategi

Indikator utama strategi ini ialah RSI Ragel. Formula pengiraannya adalah seperti berikut:

L0 = (1-γ)*Src + γ*L0[1] L1 = -γ*L0 + L0[1] + γ*L1[1]
L2 = -γ*L1 + L1[1] + γ*L2[1] L3 = -γ*L2 + L2[1] + γ*L3[1]

Di sini γ = 1-α, α adalah faktor yang boleh diselaraskan, Src mewakili harga. L0 hingga L3 adalah 4 penunjuk yang mengandungi pertalian berulang. Atas dasar ini dapat dikira pangkat cu kenaikan semasa dan pangkat cd penurunan:

cu = (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0) cd = (L0

Kemudian menggunakan cu dan cd untuk mengira RSI Ragel:

LaRSI = cu / (cu + cd)

Di sini, dengan menggunakan struktur penapis berulang, penunjuk RSI Rahel menapis banyak bunyi rawak dan menghasilkan isyarat perdagangan yang lebih jelas dan lancar, sambil mengekalkan keupayaan untuk mengenali trend RSI.

Peraturan transaksi khusus: Apabila Ragel memakai 20 di atas RSI, buatlah tambahan; apabila Ragel memakai 80 di bawah RSI, buatlah kosong.

Analisis kelebihan

Kelebihan utama strategi RSI Ragel ialah:

  1. Menapis bunyi penunjuk RSI dengan berkesan melalui struktur penapis Ragel, menjadikan isyarat perdagangan lebih jelas dan dipercayai

  2. Penyesuaian faktor α membolehkan parameter strategi untuk dioptimumkan secara fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang lebih luas

  3. Mengekalkan keberkesanan jangka panjang RSI, dan menggunakan penapis untuk mengenal pasti dinamika, mengintegrasikan trend dan overbought dan oversold

  4. Peraturan strategi mudah difahami, mudah dilaksanakan, dan berfungsi dengan baik dalam pelbagai keadaan pasaran

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Penetapan yang tidak betul faktor α boleh menyebabkan keterlambatan yang berlebihan atau penapisan yang berlebihan, kehilangan perubahan harga

  2. Kegagalan perdagangan yang kerap berlaku dalam pasaran yang bergolak

  3. Pasaran lembu yang berpanjangan mungkin terlepas beberapa peluang untuk naik

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Tetapan yang mengoptimumkan faktor alfa menggunakan algoritma pembelajaran mesin

  2. Meningkatkan mekanisme kawalan kerugian dan mengurangkan risiko kerugian

  3. Tanda-tanda lain yang boleh digunakan untuk menilai isyarat penapis

  4. Meningkatkan model pelepasan kuantitatif untuk mengunci keuntungan pada tahap tertentu

ringkaskan

Strategi RSI Ragel dengan mekanisme penapisan berkesan mengenal pasti keadaan overbought dan oversold, dan mengelakkan gangguan bunyi semasa menghantar isyarat perdagangan. Strategi ini mudah digunakan, parameter pengoptimuman ruang yang besar, dapat menyesuaikan diri dengan pelbagai keadaan pasaran, adalah strategi perdagangan yang disyorkan.

Kod sumber strategi
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mertriver1
// Developer: John EHLERS
//@version=3
// Author:Kıvanç Özbilgiç
strategy("Laguerre RSI", shorttitle="LaRSI", overlay=false)
src = input(title="Source", defval=close)
alpha = input(title="Alpha", type=float, minval=0, maxval=1, step=0.1, defval=0.2)
colorchange = input(title="Change Color ?", type=bool, defval=false)

Date1      = input(true, title = "=== Date Backtesting ===")
FromDay1   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth1 = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear1  = input(defval = 2020, title = "From Year", minval = 2017)

ToDay1     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth1   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear1    = input(defval = 9999, title = "To Year", minval = 2017)

start1     = timestamp(FromYear1, FromMonth1, FromDay1, 00, 00) 
finish1    = timestamp(ToYear1, ToMonth1, ToDay1, 23, 59)        
window1()  => time >= start1 and time <= finish1 ? true : false

gamma=1-alpha
L0 = 0.0
L0 := (1-gamma) * src + gamma * nz(L0[1])
L1 = 0.0
L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1])

L2 = 0.0
L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1])

L3 = 0.0
L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1])

cu= (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0)

cd= (L0<L1 ? L1-L0 : 0) + (L1<L2 ? L2-L1 : 0) + (L2<L3 ? L3-L2 : 0)

temp= cu+cd==0 ? -1 : cu+cd
LaRSI=temp==-1 ? 0 : cu/temp

Color = colorchange ? (LaRSI > LaRSI[1] ? green : red) : blue
plot(100*LaRSI, title="LaRSI", linewidth=2, color=Color, transp=0)
plot(20,linewidth=1, color=maroon, transp=0)
plot(80,linewidth=1, color=maroon, transp=0)

strategy.entry("Long",   true, when = window1() and crossover(cu, cd))
strategy.entry("Short", false, when = window1() and crossunder(cu, cd))