Laman utama Indikator Teknikal Siaran

UltraRSI: Indikator Hebat untuk MetaTrader 5

Lampiran
725.zip (20.73 KB, Muat turun 0 kali)

Penulis Asli:

dm34@mail.ru

Indikator ini berasaskan RSI (Indeks Kekuatan Relatif) dan analisis pelbagai garis isyarat. Algoritma pengiraan garis isyarat adalah seperti berikut. Kita mempunyai parameter input indikator sebagai sumber data:

  • StartLength - nilai awal minimum bagi garis isyarat pertama;
  • Step - langkah perubahan tempoh;
  • StepsTotal - bilangan perubahan tempoh.

Mana-mana nilai tempoh dari pelbagai garis isyarat dikira menggunakan progresi aritmetik:

SignalPeriod(Number)  =  StartLength + Number * Step,

di mana nilai pembolehubah Number bergerak dari sifar hingga StepsTotal. Nilai-nilai yang diperoleh bagi tempoh ditambah ke dalam array pembolehubah dan digunakan pada setiap tick indikator untuk mendapatkan array nilai indikator RSI yang telah dilicinkan. Arah trend semasa bagi setiap pelicinan dikira, dan juga bilangan trend positif dan negatif bagi keseluruhan array nilai RSI yang telah dilicinkan. Jumlah akhir trend positif dan negatif akan dilicinkan semula dan digunakan sebagai garis indikator yang membentuk awan berwarna yang dipaparkan dengan menggunakan kelas gaya DRAW_FILLING.

Arah trend dalam indikator ini ditentukan oleh warna awan, manakala kekuatannya ditentukan oleh lebar awan. Anda boleh menggunakan tahap terlebih beli (UpLevel) dan terlebih jual (DnLevel) yang ditetapkan dalam nilai peratus daripada amplitud maksimum indikator.

Algoritma pelicinan boleh dipilih dari sepuluh versi yang mungkin:

  1. SMA - purata bergerak sederhana;
  2. EMA - purata bergerak eksponen;
  3. SMMA - purata bergerak licin;
  4. LWMA - purata bergerak berat linear;
  5. JJMA - purata adapti JMA;
  6. JurX - pelicinan ultralinear;
  7. ParMA - pelicinan parabolik;
  8. T3 - pelicinan eksponen berganda Tillson;
  9. VIDYA - pelicinan menggunakan algoritma Tushar Chande;
  10. AMA - pelicinan menggunakan algoritma Perry Kaufman.

Harus diingat bahawa parameter Phase1 dan Phase2 mempunyai makna yang berbeza untuk algoritma pelicinan yang berbeza. Untuk JMA, ia merupakan pembolehubah Phase luar yang berubah dari -100 hingga +100. Untuk T3, ia adalah nisbah pelicinan yang didarabkan dengan 100 untuk visualisasi yang lebih baik, bagi VIDYA ia adalah tempoh osilator CMO dan untuk AMA ia adalah tempoh EMA perlahan. Dalam algoritma lain, parameter ini tidak mempengaruhi pelicinan. Untuk AMA, tempoh EMA cepat adalah nilai tetap dan sama dengan 2 secara lalai. Nisbah pengangkat kuasa juga adalah sama dengan 2 untuk AMA.

Indikator ini menggunakan kelas SmoothAlgorithms.mqh (harus disalin ke terminal_data_folder\MQL5\Include). Penggunaan kelas ini telah diterangkan dengan terperinci dalam artikel "Purata Siri Harga untuk Pengiraan Pertengahan Tanpa Menggunakan Buffer Tambahan".

Parameter Input Indikator:

//+----------------------------------------------+
//| Parameter input indikator                   |
//+----------------------------------------------+
input int RSI_Period=13;                           // Tempoh indikator RSI
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Harga yang digunakan
//----
input Smooth_Method W_Method=MODE_JJMA;           // Kaedah pelicinan
input int StartLength=3;                          // Tempoh pelicinan awal                    
input int WPhase=100;                             // Parameter pelicinan
//----  
input uint Step=5;                               // Langkah perubahan tempoh
input uint StepsTotal=10;                        // Bilangan perubahan tempoh
//----
input Smooth_Method SmoothMethod=MODE_JJMA;      // Kaedah pelicinan
input int SmoothLength=3;                        // Kedalaman pelicinan
input int SmoothPhase=100;                       // Parameter pelicinan
//----                          
input uint UpLevel=80;                           // Tahap terlebih beli, %%
input uint DnLevel=20;                           // Tahap terlebih jual, %%
input color UpLevelsColor=Blue;                  // Warna tahap terlebih beli
input color DnLevelsColor=Blue;                  // Warna tahap terlebih jual
input STYLE Levelstyle=DASH_;               // Gaya tahap
input WIDTH  LevelsWidth=Width_1;               // Lebar tahap

UltraRSI


Siaran berkaitan

Komen (0)