Pernahkah kamu merasa bingung dengan penggunaan oscillator dalam trading? Nah, salah satu solusinya adalah melakukan normalisasi nilai-nilai indikator tersebut. Dengan normalisasi, kita bisa mengatur osilasi indikator ke dalam rentang [-1;1]. Ini memberikan banyak kemudahan, salah satunya adalah mengontrol nilai indikator dengan level tertentu seperti 0.5, 0.8, dan lain-lain, alih-alih memperkirakan nilai secara kasar berdasarkan kondisi pasar.
Parameter yang Perlu Diketahui:
string Indicator - ini adalah indikator itu sendiri yang akan kita masukkan ke dalam fungsi icustom(). Sayangnya, alat otomatisasi MQL4 tidak cukup untuk menambahkan indikator standar di sini. Namun, siapa yang bisa menghalangi seorang coder penasaran untuk mengubah entri dalam program?
int mode - nomor baris yang diperlukan dari indikator awal...
int param1
int param2 - serta parameternya. Sayangnya, imajinasi pengembang MQL sepertinya hanya cukup untuk menulis fungsi dengan jumlah parameter variabel (seperti Print), dan mendukung aritmetika alamat (menurut saya, yang terakhir hanya dibuat agar pengguna biasa merasa inferior dibandingkan para dewa :)). Jadi, mari kita kerjakan secara manual.
Gambar:

Komentar:
Perhitungan dilakukan dalam dua tahap:
1. Pada tahap inisialisasi (fungsi init(), bagi yang belum tahu :)), seluruh array data indikator dianalisis untuk menghitung periode yang khas, yaitu periode di mana nilai kuadrat rata-rata indikator dapat memberikan wawasan tentang nilai kuadrat rata-rata (MSV) tetapi pada seluruh riwayat.
Misalnya, kita memiliki oscillator dan telah menghitung nilai kuadrat rata-ratanya untuk beberapa periode osilasi berturut-turut. Mari kita sepakati bahwa harus ada, misalnya, 3 periode (seperti yang saya lakukan - #define PERIODS_CHARACTERISTIC 3, saya sarankan tidak menggunakan lebih dari itu, jika tidak, prosesor akan terbebani). Inti dari perhitungan ini adalah menentukan berapa banyak bar rata-rata panjang satu periode (yaitu 2*interval rata-rata antara dua nol dari indikator), kemudian mengalikan nilai yang diperoleh dengan 3.
2. Selanjutnya, kita harus menghitung MSV untuk setiap bar (seperti akar kuadrat dari dispersi) pada tiga periode yang diperoleh, untuk menormalkan nilai indikator kita, dan akhirnya mengubah semuanya menjadi rentang dinamis [-1;1] dengan menggunakan fungsi kompresor f(x)=tanh(x) (tangen hiperbolik, saya harus menulis fungsi ini sendiri :)).
Contoh teknis yang jelas. Garis hijau pada gambar adalah oscillator tua saya yang menggambarkan aktivitas pasar (sebenarnya ini mirip dengan MACD tetapi menggunakan volume). Garis biru - juga merupakan oscillator, tetapi sudah melalui -=Normalizator=-. Level +-0.75, +-0.5, +-0.25 terlihat jelas, dan juga terlihat bahwa semua maksimum dan minimum, daerah meningkat dan menurun, serta titik perpotongan dengan level nol tetap pada posisinya.
Jadi, begitulah... saya tidak bisa disalahkan jika ada yang tidak menyukainya.
Postingan terkait
- Panduan Lengkap MetaCOT 2 CFTC ToolBox untuk Analisis COT di MT4
- Indikator Open Range Breakout untuk MetaTrader 5: Strategi Trading yang Efektif
- Memprediksi Harga Selanjutnya dengan Jaringan Saraf: Panduan Lengkap untuk Trader
- Master Tools: Alat Indikator untuk MetaTrader 4 yang Harus Dimiliki
- iSpread: Indikator Spread untuk Pair Trading di MetaTrader 5