Artan

277,75 10 18:10
54,45 10 18:10
291,50 10 18:10
11,78 9.99 18:10
39,64 9.99 18:10
Artan Hisseler

Azalan

19,17 -10 18:10
42,00 -9.99 18:10
58,85 -9.95 18:10
7,81 -9.92 18:10
100,00 -9.83 18:10
Azalan Hisseler

İşlem

8.423.783.298,90 18:10
8.279.675.248,75 18:10
7.897.836.716,17 18:10
7.784.719.756,22 18:10
7.554.836.368,50 18:10
Tüm Hisseler
Arama sonucu : 4977 madde; 1 - 8 arası.

Konu: İDEAL veri terminalinde /Sistem/İndikatör/Robot

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Merhaba vVvendetta.
    Lib.cs veya User.dll'de kullanabileceğiniz bir metod yazdım.

    Kod:
    public float Median(List<float> data, params List<float>[] others)
    {
        if (data == null || others.Any(o => o == null)) return 0f;
    
        var allValues = others.SelectMany(o => o).Concat(data).OrderBy(v => v);
        var count = allValues.Count();
    
        if (count == 0) return 0f;
        if (count == 1) return allValues.First();
    
        var mid = count / 2;
    
        if (count % 2 == 0)
        {
            var median1 = allValues.ElementAt(mid - 1);
            var median2 = allValues.ElementAt(mid);
            return (median1 + median2) / 2;
        }
    
        return allValues.ElementAt(mid);
    }
    Hızlı bir şekilde ve özenmeden yazdım. Kullanmadan önce mutlaka test etmenizi öneriyorum.
    Sayın Çağlar,
    Kullanırken Sistem.Median(H,L,C,periyod) şeklinde sonuç verecek. Doğru mudur ? Yani benim başından beri istediğim 3 farklı dizeyi (H,L,C) istenilen periyodda Median ile kullanmak.Yukarıda ki excel'de benim anlataya çalıştığım excelin çalışma mantığı idi.Yani 3 farklı dizeyi kullanarak median bulmak ile aynı 3 dizenin arka arkaya sıralanıp medianın alınması aynı sonuç veriyor.Excelin mantığı böyle çalışıyor'u göstermeye çalıştım yukarıda umarım bir karışıklığa sebep vermemişimdir.

  2.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Sayın Çağlar,
    Kullanırken Sistem.Median(H,L,C,periyod) şeklinde sonuç verecek. Doğru mudur ? Yani benim başından beri istediğim 3 farklı dizeyi (H,L,C) istenilen periyodda Median ile kullanmak.Yukarıda ki excel'de benim anlataya çalıştığım excelin çalışma mantığı idi.Yani 3 farklı dizeyi kullanarak median bulmak ile aynı 3 dizenin arka arkaya sıralanıp medianın alınması aynı sonuç veriyor.Excelin mantığı böyle çalışıyor'u göstermeye çalıştım yukarıda umarım bir karışıklığa sebep vermemişimdir.
    Malesef o şekilde kullanamazsınız. Nedenleri:

    1- Öncelikle bu bir Sistem metodu değil. iDeal'de olmayan bir metod yazdık. Ben user.dll kullanıyorum, dolayısıyla benim için User.Median(H, C, L) şeklinde kullanımı.
    2- Metod için period tanımlamadım. Listenin bütün elemanlarını birleştirip median hesaplar. Belli bir period için hesaplasın istiyorsanız verileri bir listeye ekleyip bu metodu çağırabilirsiniz.

  3.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Malesef o şekilde kullanamazsınız. Nedenleri:

    1- Öncelikle bu bir Sistem metodu değil. iDeal'de olmayan bir metod yazdık. Ben user.dll kullanıyorum, dolayısıyla benim için User.Median(H, C, L) şeklinde kullanımı.
    2- Metod için period tanımlamadım. Listenin bütün elemanlarını birleştirip median hesaplar. Belli bir period için hesaplasın istiyorsanız verileri bir listeye ekleyip bu metodu çağırabilirsiniz.
    Yani, var H10 = Sistem.HHV(10,"Yuksek"); deyip diğerlerini de aynı şekilde tanımlayıp

    var M10 = User.Median(H10,C10,L10) dersek istediğimiz sonucu elde etmiş oluruz. Doğru mudur ?

  4.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Yani, var H10 = Sistem.HHV(10,"Yuksek"); deyip diğerlerini de aynı şekilde tanımlayıp

    var M10 = User.Median(H10,C10,L10) dersek istediğimiz sonucu elde etmiş oluruz. Doğru mudur ?
    Melesef doğru değil.
    Anladığım kadarıyla siz Median'ı indiktör olarak kullanmak istiyorsunuz. Ancak verdiğiniz excel örneğinde veriler birleştiriliyor ve tek bir median değeri hesaplanıyor. Ben de buna göre yazdım formülü. Örneğin H, C, L için düşünelim. Grafiğinizde farzedelim ki 1000 bar var. Bu listeyi birleştirirseniz 3000'lik bir dizi elde edeceksiniz. Bu 3000'lik dizinin belli periyotlarda medianını hesaplarsınız ancak bu hesapladığınız 3000'lik median dizisini tekrar nasıl 1000'lik bir diziye dönüştüreceksiniz?

  5.  Alıntı Originally Posted by Caglar Yazıyı Oku
    Melesef doğru değil.
    Anladığım kadarıyla siz Median'ı indiktör olarak kullanmak istiyorsunuz. Ancak verdiğiniz excel örneğinde veriler birleştiriliyor ve tek bir median değeri hesaplanıyor. Ben de buna göre yazdım formülü. Örneğin H, C, L için düşünelim. Grafiğinizde farzedelim ki 1000 bar var. Bu listeyi birleştirirseniz 3000'lik bir dizi elde edeceksiniz. Bu 3000'lik dizinin belli periyotlarda medianını hesaplarsınız ancak bu hesapladığınız 3000'lik median dizisini tekrar nasıl 1000'lik bir diziye dönüştüreceksiniz?
    Ben Median ile bir indikator oluşturmak istiyorum direk indikatörden ziyade ve bu indikatörde istenilen periyodda H,L,C değerlerini tek bir dizeye dönüştürüp Median değerini almak istiyorum.Benim sorunum bu 3 dizeyi bir araya getirip Median değerlerini almak.yani diyelim ki 10 günlük Median'ı kullanacağım.Son 10 günün 10H+10L+10C toplamı 30 tane değer verecek bana ve bu 30 sayının medianı lazım.Tekrardan 10 tane değere dönmeme gerek yok.

  6.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Ben Median ile bir indikator oluşturmak istiyorum direk indikatörden ziyade ve bu indikatörde istenilen periyodda H,L,C değerlerini tek bir dizeye dönüştürüp Median değerini almak istiyorum.Benim sorunum bu 3 dizeyi bir araya getirip Median değerlerini almak.yani diyelim ki 10 günlük Median'ı kullanacağım.Son 10 günün 10H+10L+10C toplamı 30 tane değer verecek bana ve bu 30 sayının medianı lazım.Tekrardan 10 tane değere dönmeme gerek yok.
    Aslında çok basit bir indikatör yapmak istediğim. Açıkcası sonuçları nasıl olacak bilmiyorum:

    MSR= (10-day median of (H, L, C) – 20-day MAX (H, L, C))/(20-day MAX (H, L, C))

  7.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    Aslında çok basit bir indikatör yapmak istediğim. Açıkcası sonuçları nasıl olacak bilmiyorum:

    MSR= (10-day median of (H, L, C) – 20-day MAX (H, L, C))/(20-day MAX (H, L, C))
    Son bir sorum daha var, MAX(H, L, C) neyi ifade ediyor? H, L, C'den en büyük olanını mı yoksa (H + L + C) / 3 ü mü?

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •