MetaTrader 5 / Kütüphaneler

IncVidyaOnArray - MetaTrader 5 için kütüphane

24
(29)

CVidyaOnArray sınıfı, gösterge tamponunu kullanarak Değişken Endeks Dinamik Ortalama (VIDYA ) göstergesinin değerlerini hesaplamak için tasarlanmıştır.

Uygulama:

Göstergenin OnInit() fonksiyonunda Init() metodu parametrelerle birlikte çağrılır:

  • int aCMOPeriod - CMO osilatörünün periyodu;
  • int aMAPeriod - göstergenin periyodu.

Göstergenin OnCalculate() fonksiyonunda, Solve() metodu aşağıdaki parametrelerle çağrılır:

  • const int aRatesTotal - OnCalculate() fonksiyonunun parametrelerinden alınan rates_total değişkeni;
  • const int aPrevCalc - OnCalculate() fonksiyonunun parametrelerinden prev_calculated değişkeni;
  • double & aData[] - gösterge hesaplaması için veri içeren tampon;
  • double & aVIDYA[] - göstergenin hesaplanan değeri.

Ek yöntemler:

  • int BarsRequired() - gösterge hesaplaması için minimum çubuk sayısını döndürür;
  • string Name() - gösterge adını içeren dizeyi döndürür;

Test_VidyaOnArray.mq5 dosyası, CVidyaOnArray sınıfını kullanma örneği içeren bir göstergedir. IncVidyaOnArray dosyası terminal veri klasörünün MQL5\Include\IncOnArray klasöründe bulunmalıdır (IncOnArray klasörü oluşturulmalıdır).

Variable Index Dynamic Average (VIDYA) teknik göstergesi Tushar Chande tarafından geliştirilmiştir ve dinamik olarak değişen bir ortalama periyodu ile üstel hareketli ortalamayı (EMA) hesaplamanın orijinal bir yöntemini temsil eder. Ortalama süresi piyasa oynaklığına bağlıdır ve Chande Momentum Osilatörü (CMO) oynaklığın bir ölçüsü olarak seçilmiştir. Bu osilatör, belirli bir dönemdeki (CMO dönemi) pozitif artışların toplamı ile negatif artışların toplamı arasındaki oranı ölçer. CMO değeri, yumuşatma faktörü EMA için bir katsayı olarak kullanılır. Bu nedenle, VIDYA göstergesinin iki ayar parametresi vardır: CMO osilatör periyodu ve üstel hareketli ortalama yumuşatma periyodu (EMA periyodu).

CVidyaOnArray sınıfını kullanma örneği

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/636