Strategi ini menghasilkan isyarat beli dan jual menggunakan penunjuk Laguerre RSI dan menapis isyarat menggunakan penunjuk ADX. Apabila Laguerre RSI melintasi di atas atau di bawah tahap beli dan jual yang telah ditentukan sebelumnya, dan ADX di atas ambang yang ditetapkan, strategi menghasilkan isyarat beli atau jual. Pendekatan menggabungkan penunjuk cepat dan perlahan ini membolehkan untuk menangkap peluang perdagangan tepat pada masanya apabila kekuatan trend mencukupi sambil mengelakkan perdagangan apabila trend tidak jelas.
Laguerre RSI adalah penunjuk momentum yang digunakan untuk mengukur kelajuan dan kekuatan perubahan harga. Ia berdasarkan penapis Laguerre dan lebih responsif terhadap perubahan harga berbanding dengan RSI tradisional.
Indikator ADX mengukur kekuatan trend harga, dengan nilai yang lebih tinggi menunjukkan trend yang lebih kuat. Strategi menetapkan ambang ADX untuk memasuki perdagangan hanya apabila kekuatan trend mencukupi dan untuk tinggal di sisi apabila trend tidak jelas. Ini membantu meningkatkan kebolehpercayaan isyarat dan mengelakkan perdagangan yang kerap.
Strategi ini menggunakan persilangan RSI Laguerre untuk mencetuskan isyarat beli dan jual. Ia memasuki kedudukan panjang apabila penunjuk melintasi di atas tahap beli dan kedudukan pendek apabila melintasi di bawah tahap jual. Pada masa yang sama, ADX mesti berada di atas ambang yang telah ditetapkan untuk mengesahkan kekuatan trend. Reka bentuk dua syarat ini bertujuan untuk menangkap peluang perdagangan dalam trend yang kuat.
RSI Laguerre dengan strategi perdagangan disaring ADX adalah pendekatan trend-mengikuti. Ia menggunakan penunjuk pantas untuk menangkap perubahan harga sambil mengesahkan kekuatan trend dengan penunjuk perlahan. Gabungan ini membolehkan perdagangan tepat pada masanya apabila trend jelas sementara tinggal di pinggir ketika trend tidak pasti. Keuntungan strategi terletak pada kesederhanaan dan penerapan luasnya, tetapi ia juga mempunyai masalah seperti perdagangan yang kerap dan kawalan risiko yang tidak mencukupi. Penambahbaikan masa depan boleh memberi tumpuan kepada pengoptimuman isyarat, peningkatan pengurusan risiko, dan ukuran kedudukan untuk mencapai pulangan yang lebih kukuh.
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Laguerre RSI with Buy/Sell Signals and ADX Filter', shorttitle='LaRSI_ADX Signals', overlay=false) // Kullanıcı girdileri src = input(title='Source', defval=close) alpha = input.float(title='Alpha', minval=0, maxval=1, step=0.1, defval=0.2) buyLevel = input(20, title='Buy Level') sellLevel = input(80, title='Sell Level') adxLength = input(14, title='ADX Length') adxSmoothing = input(14, title='ADX Smoothing') adxLevel = input(20, title='ADX Level') // adxLevel tanımlamasını ekledik // ADX hesaplaması [diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing) // Laguerre RSI hesaplamaları 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 // Alım ve satım sinyalleri longCondition = ta.crossover(100 * LaRSI, buyLevel) and adx > adxLevel shortCondition = ta.crossunder(100 * LaRSI, sellLevel) and adx > adxLevel // Strateji giriş ve çıkışları strategy.entry('Long', strategy.long, when=longCondition) strategy.entry('Short', strategy.short, when=shortCondition) // Göstergeleri çizme plot(100 * LaRSI, title='LaRSI', linewidth=2, color=color.new(color.blue, 0)) hline(buyLevel, title='Buy Level', color=color.new(color.green, 0), linestyle=hline.style_dotted) hline(sellLevel, title='Sell Level', color=color.new(color.red, 0), linestyle=hline.style_dotted) plot(adx, title='ADX', color=color.new(color.orange, 0))