Bagaimana Ultimate Oscillator dihitung?
Jawaban langsung
Ultimate Oscillator (sering disingkat “UO”) dihitung dengan menggabungkan tiga rata-rata yang dihaluskan dari rasio tekanan beli yang dihitung dari High, Low, dan Close setiap bar. Ketiga rata-rata tersebut menggunakan panjang lookback yang berbeda (biasanya 7, 14, dan 28 periode) dan digabungkan dengan bobot (biasanya 4, 2, dan 1) untuk menghasilkan nilai akhir antara 0 dan 100.
Mekanisme dan definisi
1) Mulai dengan “tekanan beli” dan “true range”
Untuk setiap bar i, definisikan:
- Buying Pressure (BP) = Closeᵢ − Lowᵢ
- True Range (TR) = max(
- Highᵢ − Lowᵢ,
- |Highᵢ − Closeᵢ₋₁|,
- |Lowᵢ − Closeᵢ₋₁| )
Kedua komponen ini digunakan untuk membentuk rasio tekanan beli:
- BP/TR
Secara konseptual, BP mengukur seberapa kuat Close berada di dekat bagian atas bar (relatif terhadap Low), sementara TR mengukur seberapa besar rentang bar, termasuk gap relatif terhadap Close sebelumnya. Rasio BP/TR menyatakan tekanan beli relatif terhadap ukuran pergerakan.
2) Haluskan rasio selama tiga jendela lookback
Pilih tiga panjang lookback:
- a (sering 7)
- b (sering 14)
- c (sering 28)
Hitung tiga jumlah yang dihaluskan (selama setiap jendela yang berakhir di bar i):
- Average₁ = jumlah(BP selama a bar terakhir) / jumlah(TR selama a bar terakhir)
- Average₂ = jumlah(BP selama b bar terakhir) / jumlah(TR selama b bar terakhir)
- Average₃ = jumlah(BP selama c bar terakhir) / jumlah(TR selama c bar terakhir)
Pendekatan “jumlah pembilang dibagi jumlah penyebut” ini membuat UO bergantung pada akumulasi tekanan dan akumulasi rentang selama setiap jendela, bukan hanya pada BP/TR untuk bar terbaru.
3) Gabungkan ketiga rata-rata dengan bobot dan skala ke 0–100
Ultimate Oscillator kemudian dihitung sebagai kombinasi tertimbang:
- UO = 100 × (4 × Average₁ + 2 × Average₂ + Average₃) / (4 + 2 + 1)
Karena (4 + 2 + 1) = 7 dalam skema pembobotan umum, ini disederhanakan menjadi:
- UO = 100 × (4 × Average₁ + 2 × Average₂ + Average₃) / 7
Hasilnya biasanya diinterpretasikan pada skala 0–100.
Bukti atau contoh kerja yang dapat diperiksa (tanpa data langsung)
Untuk memverifikasi bahwa Anda dapat mereproduksi perhitungan, gunakan kumpulan data hipotetis kecil.
Asumsi:
- Gunakan jendela standar a=2, b=3, c=4 (diperpendek agar contoh ringkas).
- Gunakan tiga bobot 4, 2, dan 1 (sama dengan pendekatan biasa).
Misalkan Anda memiliki bar 1–4 dengan High, Low, dan Close, dan Anda menghitung TR menggunakan Close sebelumnya (jadi TR untuk bar 1 memerlukan bar 0 sebelumnya; agar sederhana, mulailah di bar 2).
Untuk setiap bar i (mulai dari i=2):
- BPᵢ = Closeᵢ − Lowᵢ
- TRᵢ = max(Highᵢ − Lowᵢ, |Highᵢ − Closeᵢ₋₁|, |Lowᵢ − Closeᵢ₋₁|)
- Kemudian akumulasikan selama setiap jendela:
- sumBP(a) = BP selama a bar terakhir
- sumTR(a) = TR selama a bar terakhir
- Average₁ = sumBP(a) / sumTR(a)
- ulangi untuk b dan c.
- Terakhir:
- UO = 100 × (4×Average₁ + 2×Average₂ + Average₃)/7
Apa yang harus Anda lihat saat menghitung ulang dengan hati-hati:
- Jika Close berulang kali berada di dekat level terendah, BP menjadi kecil, menurunkan Average₁/₂/₃ dan menarik UO ke bawah.
- Jika bar lebar (TR besar) tetapi Close tidak berada di dekat level tertinggi, rasionya masih bisa tetap moderat, mencegah UO melonjak hanya karena rentang yang tinggi.
Bahkan tanpa angka pasti yang ditampilkan di sini, langkah-langkah perhitungan sepenuhnya deterministik berdasarkan High/Low/Close (dan setidaknya satu Close sebelumnya untuk TR).
Keterbatasan dan risiko (mode kegagalan material)
1) Penyelarasan data itu penting
UO memerlukan definisi bar yang konsisten. Jika rangkaian High/Low/Close Anda berada pada satu timeframe tetapi Anda menerapkan parameter pada timeframe lain, BP dan TR yang dihitung tidak akan sesuai dengan “bar” yang sama, menghasilkan nilai yang berbeda dari hasil yang diharapkan.
2) “Jumlah bar yang cukup” diperlukan
Karena UO menggunakan tiga jendela (a, b, c), Anda tidak dapat menghitung nilai yang terbentuk penuh sampai Anda memiliki setidaknya c bar (ditambah Close sebelumnya yang diperlukan untuk TR pada perhitungan TR pertama). Nilai awal mungkin hilang atau parsial dalam implementasi yang berbeda.
3) Pembagian dengan nol atau TR mendekati nol
Rasio Average = sum(BP)/sum(TR) mengasumsikan sum(TR) bukan nol. Dalam data pasar yang umum, TR jarang persis nol, tetapi dengan kumpulan data yang sangat kecil atau sintetis, sum(TR) bisa sangat kecil. Itu dapat membuat rasio menjadi tidak stabil.
4) Perangkat lunak yang berbeda mungkin menggunakan konvensi yang sedikit berbeda
Beberapa platform menggunakan default umum (a=7, b=14, c=28 dan bobot 4/2/1), tetapi mungkin menerapkan:
- penanganan yang berbeda untuk bar pertama di mana Closeᵢ₋₁ tidak tersedia,
- presisi numerik yang berbeda,
- atau interpretasi periode yang berbeda (terutama untuk jarak bar yang tidak standar). Jadi verifikasi independen harus mencakup pemeriksaan bagaimana nilai TR pertama dihitung dan bagaimana nilai UO awal diperlakukan.
5) Interpretasi tidak sama dengan sinyal yang berdiri sendiri
UO adalah osilator gaya momentum yang diturunkan dari rasio komponen pergerakan harga. Seperti kebanyakan osilator, ia bisa sensitif terhadap perubahan rezim, pengelompokan volatilitas, dan pilihan timeframe. Ini harus dilihat sebagai keluaran pengukuran, bukan sebagai aturan keputusan yang dijamin.
Verifikasi dan pertanyaan berikutnya
Untuk memverifikasi perhitungan secara independen:
- Pilih parameter eksplisit (a, b, c pilihan Anda dan bobot 4,2,1).
- Untuk setiap bar, hitung BP = Close − Low.
- Untuk setiap bar, hitung TR = max(High−Low, |High−priorClose|, |Low−priorClose|).
- Hitung tiga rasio berjendela menggunakan sum(BP)/sum(TR).
- Gabungkan menjadi UO menggunakan UO = 100 × (4×Avg₁ + 2×Avg₂ + Avg₃)/7.
Jika Anda mau, Anda juga dapat membandingkan UO yang Anda hitung dengan yang ditampilkan alat charting, tetapi pastikan Anda mencocokkan timeframe, konvensi penutupan bar, dan definisi persis TR yang digunakan oleh alat tersebut.
Anda mungkin juga ingin memeriksa bagaimana UO dibandingkan dengan osilator momentum terkait dan bagaimana mengubah pengaturan (a, b, c) mengubah penghalusan dan responsivitas selama cakrawala yang lebih pendek vs. lebih panjang.