John Ehlers’ın “The Ultimate Oscillator” adlı makalesinde tanımlanan bir osilatörü uygulamak için kullanılan Pine Script kodunu sunmaktadır. Bu osilatör, gecikmeyi azaltmak amacıyla iki farklı periyoda sahip yüksek geçiş filtrelerinin birleşimiyle oluşturulmuştur. Sonuç olarak, fiyat hareketlerini daha duyarlı bir şekilde takip eder.TradingView+3traders.com+3traders.com+3
- HP Fonksiyonu: Bu fonksiyon, belirli bir periyoda sahip yüksek geçiş filtresini uygular.
- Ultimate Oscillator Hesaplaması: İki farklı periyoda sahip yüksek geçiş filtrelerinin farkı alınır ve bu farkın RMS değeriyle normalize edilir.
- Çizim: Elde edilen Ultimate Oscillator değeri, sıfır çizgisiyle birlikte grafikte gösterilir.
🔗 Kaynak ve Uygulama
Bu göstergenin TradingView üzerinde kullanılabilir versiyonuna PineCodersTASC hesabından ulaşabilirsiniz.
//@version=6
indicator(‘TASC 2025.04 Ultimate Oscillator’, ‘UO’, overlay=false)
// Parametreler
src = input.source(close, ‘Source:’)
Bandwidth = input.int(2, ‘Bandwidth:’)
BandEdge = input.int(20, ‘BandEdge:’)
// Yüksek Geçiş Filtresi Fonksiyonu
HP(src, Period) =>
a0 = math.pi * math.sqrt(2.0) / Period
a1 = math.exp(-a0)
c2 = 2.0 * a1 * math.cos(a0)
c3 = -a1 * a1
c1 = (1.0 + c2 – c3) * 0.25
hp = 0.0
if bar_index >= 4
hp := c1 * (src – 2.0 * src[1] + src[2]) + c2 * nz(hp[1]) + c3 * nz(hp[2])
hp
// Ultimate Oscillator Hesaplaması
HP1 = HP(src, Bandwidth * BandEdge)
HP2 = HP(src, BandEdge)
Signal = HP1 – HP2
RMS = ta.rms(Signal, 100)
UO = RMS == 0 ? 0 : Signal / RMS
// Çizim
plot(UO, ‘Ultimate Oscillator’, color.red, 2)
hline(0)
Yorum bırakın