Wilders MA fonksiyonu belki birine lazım olur:

PHP Code:
        public float[] Wilders(float[] gelenlisteint periyot)
        {
            
int veriSayisi gelenliste.Length;
            
float[] sonuc = new float[veriSayisi];
            
float[] ma = new float[veriSayisi];
            
decimal[] toplamlar = new decimal[veriSayisi];
            for (
int i 1veriSayisii++)
            {
                
toplamlar[i] = toplamlar[1] + (decimal)gelenliste[i];
                if (
periyot >= 0)
                    
ma[i] = (float)Math.Round((toplamlar[i] - toplamlar[periyot]) / periyot4);
                if (
periyot)
                    
sonuc[i] = 0;
                else if (
== periyot)
                    
sonuc[i] = ma[i];
                else if (
periyot)
                    
sonuc[i] = (float)Math.Round(((sonuc[1] * (periyot 1)) + gelenliste[i]) / periyot3);
            }
            return 
sonuc;
        } 
Sistem İçerisinden Close verisi için aşağıdaki şekilde çağırabilirsiniz.
sadece periyot değişkenine istediğiniz rakamı giriniz.
Hesaplatılacak veri Close değilse onu da float array e çevirip atamanız lazım.

PHP Code:
int periyot=10;
var 
Veriler Sistem.GrafikVerileriniOku(Sistem.SembolSistem.Periyot);
var 
Sistem.GrafikFiyatOku(Veriler"Kapanis");
float[] userWilderMA=Wilders(C.ToArray(), Convert.ToInt32(periyot));
var 
WilderMA=userWilderMA.ToList();
Sistem.Cizgiler[0].Deger=WilderMA