Indikator ini merupakan pengembangan dari AbsolutelyNoLagLwma, yang menganalisis beberapa garis sinyal. Algoritma perhitungan garis sinyalnya adalah sebagai berikut. Nilai periode dari banyak garis sinyal dihitung menggunakan progresi aritmatika:
SignalPeriod(Number) = StartLength + Number * Step
Variabel Number berkisar dari nol hingga StepsTotal. Nilai periode yang diperoleh ditambahkan ke dalam array variabel dan digunakan pada setiap tick indikator untuk menghasilkan array nilai halus dari indikator tersebut. Berdasarkan array ini, arah tren saat ini dihitung untuk setiap smoothing, dan jumlah tren positif serta negatif ditemukan untuk seluruh array nilai AbsolutelyNoLagLwma yang telah dihaluskan.
Jumlah akhir dari tren positif dan negatif kemudian dihaluskan dan digunakan sebagai garis indikator yang membentuk histogram berwarna, ditampilkan dengan menggunakan DRAW_COLOR_HISTOGRAM2. Arah tren dalam indikator ini ditentukan oleh warna histogram, sementara kekuatannya ditentukan oleh lebar histogram.
Untuk menunjukkan tren, empat warna digunakan untuk setiap arah tren: Jika nilai histogram tidak memasuki area overbought/oversold, maka warna indikator lebih gelap, sedangkan menjadi lebih terang saat level overbought/oversold dilanggar.
Input Indikator
//+----------------------------------------------+ //| Parameter input indikator | //+----------------------------------------------+ input uint FLength=7; // kedalaman smoothing input Applied_price_ IPC=PRICE_CLOSE_; // harga konstan //---- input Smooth_Method W_Method=MODE_JJMA; // Metode smoothing input int StartLength=3; // Periode smoothing awal input int WPhase=100; // Parameter smoothing //---- input uint Step=5; // Langkah perubahan periode input uint StepsTotal=10; // Jumlah perubahan dalam periode //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Metode smoothing input int SmoothLength=3; // Kedalaman smoothing input int SmoothPhase=100; // Parameter smoothing //---- input uint UpLevel=80; // Level overbought dalam %% input uint DnLevel=20; // Level oversold dalam %% input color UpLevelsColor=Blue; // Warna level overbought input color DnLevelsColor=Blue; // Warna level oversold input STYLE Levelstyle=DASH_; // Gaya level input WIDTH LevelsWidth=Width_1; // Ketebalan level
Algoritma smoothing dapat dipilih dari sepuluh versi yang tersedia:
- SMA - Simple Moving Average;
- EMA - Exponential Moving Average;
- SMMA - Smoothed Moving Average;
- LWMA - Linear Weighted Moving Average;
- JJMA - Adaptive Averaging JMA;
- JurX - Ultralinear Averaging;
- ParMA - Parabolic Smoothing;
- T3 - Tillson's Multiple Exponential Smoothing;
- VIDYA - Smoothing dengan Algoritma Tushar Chande;
- AMA - Smoothing Menggunakan Algoritma Perry Kaufman.
Penting untuk dicatat bahwa parameter tipe Phase untuk berbagai algoritma smoothing memiliki arti yang berbeda-beda. Untuk JMA, ia adalah variabel Phase eksternal yang berubah dari -100 hingga +100. Untuk T3, ia adalah rasio smoothing yang dikalikan dengan 100 untuk visualisasi yang lebih baik, untuk VIDYA adalah periode osilator CMO, dan untuk AMA adalah periode EMA lambat. Dalam algoritma lainnya, parameter ini tidak mempengaruhi rata-rata. Untuk AMA, periode EMA cepat adalah tetap dan sama dengan 2 sebagai nilai default. Rasio peningkatan kekuatan juga sama dengan 2 untuk AMA.
Indikator ini menggunakan kelas dari pustaka SmoothAlgorithms.mqh (salin ke <folder_data_terminal>\MQL5\Include). Penggunaan kelas ini telah dijelaskan secara detail dalam artikel "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

Gambar 1. Indikator UltraAbsolutelyNoLagLwma
Postingan terkait
- SupremAutoFibo: Indikator Fibonacci untuk MetaTrader 5
- ColorXdinMA_Alert: Indikator Trend dengan Notifikasi untuk MetaTrader 5
- WeightOscillator_Alert: Indikator Trend dengan Notifikasi untuk MetaTrader 5
- AFL_Winner_HTF_Signal: Indikator Canggih untuk MetaTrader 5
- Bollinger Bands Kustom untuk MetaTrader 5: Panduan Lengkap