Artan

25,30 10 18:10
249,70 10 18:10
12,76 10 18:10
39,38 10 18:10
379,50 10 18:10
Artan Hisseler

Azalan

181,70 -9.96 18:10
70,15 -9.95 18:10
136,50 -9.6 18:10
56,50 -7.38 18:10
196,50 -7.22 18:10
Azalan Hisseler

İşlem

10.879.624.290,54 18:10
10.312.711.302,60 18:10
8.868.178.559,72 18:10
8.337.926.561,98 18:10
8.071.307.942,50 18:10
Tüm Hisseler
Arama sonucu : 4980 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 stradivarius Yazıyı Oku
    daha once rsi icin, soyle bir formulverilmisti,
    bunun gibi,
    bir gun onceki "gunun" atr degerini "bes dakikalik" grafikte kullanmak istiyorum, repaint yapmadan nasil yazilabilir acaba.

    --
    var V = Sistem.GrafikVerileri;
    var PrevGunC = new List<float>();
    var GunTarih = new List<string>();
    for (int i = 1; i < V.Count; i++)
    {
    if (V[i].Date.Day != V[i - 1].Date.Day)
    {
    PrevGunC.Add(V[i - 1].Close);
    GunTarih.Add(V[i].Date.ToString("yyyyMMdd"));
    }
    }
    var PrevGunRSI = Sistem.RSI(PrevGunC, 20);

    var RSI = Sistem.Liste(0);
    var StartPos = 0;
    for (int i = 1; i < V.Count; i++)
    {
    for (int j = StartPos; j < PrevGunRSI.Count; j++)
    {
    if (V[i].Date.ToString("yyyyMMdd") == GunTarih[j])
    {
    RSI[i] = PrevGunRSI[j];
    StartPos = j;
    break;
    }
    }
    }

    // RSI listesi önceki günün değeridir.
    //intraday grafiklerde repaint olmadan döngü içinde kullanılabilir.

    Sistem.Cizgiler[0].Deger = RSI;
    sorunuzun cevabı formülün içerisinde yazıyor.
    repaint engellemenin en kolay ve temel yolu "önceki barı" kullanmaktır.
    Keçiyi yardan uçuran bir tutam ottur..

  2.  Alıntı Originally Posted by Keçi Yazıyı Oku
    sorunuzun cevabı formülün içerisinde yazıyor.
    repaint engellemenin en kolay ve temel yolu "önceki barı" kullanmaktır.
    sayin keci yanilyorsam duzeltin, orada zaten bir liste olusturuluyor, ve bu kapanislari tutuyor . rsi hesabinda yalnizca kapanis degerleriyle islem yapilabildiginden rahatlikle o listenin rsisi alinabilinir, ancak atr degerinde ise bildigim kadariyla high low open closelarin karsilastirilmasi neticesinde bir liste olusturulmasi lazim ki, benim yazdigim formule adapte edemedim. hani atrnin idealde acik formulu varsa belki adapte etmeyi deneyebilirim.. anladigim kadariyla sizin icin basit birsey bu.
    bang bang you shot me down..

  3. #3
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    55
    Gönderi
    5,304
     Alıntı Originally Posted by stradivarius Yazıyı Oku
    sayin keci yanilyorsam duzeltin, orada zaten bir liste olusturuluyor, ve bu kapanislari tutuyor . rsi hesabinda yalnizca kapanis degerleriyle islem yapilabildiginden rahatlikle o listenin rsisi alinabilinir, ancak atr degerinde ise bildigim kadariyla high low open closelarin karsilastirilmasi neticesinde bir liste olusturulmasi lazim ki, benim yazdigim formule adapte edemedim. hani atrnin idealde acik formulu varsa belki adapte etmeyi deneyebilirim.. anladigim kadariyla sizin icin basit birsey bu.
    ATR ye liste kullanım şekli ile ister fiyat ister RSI değerini hesaplattırıp kullanabilirsin.

    AverageTrueRange(Liste, 14)



    var V =Sistem.GrafikVerileri ;

    var C = Sistem.GrafikFiyatOku(V , "Kapanis") ;
    var RSI = Sistem.RSI(V,14);

    RSI_ATR=Sistem.AverageTrueRange(RSI, 14);
    FYT_ATR=Sistem.AverageTrueRange(C, 14);

  4.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    ATR ye liste kullanım şekli ile ister fiyat ister RSI değerini hesaplattırıp kullanabilirsin.

    AverageTrueRange(Liste, 14)



    var V =Sistem.GrafikVerileri ;

    var C = Sistem.GrafikFiyatOku(V , "Kapanis") ;
    var RSI = Sistem.RSI(V,14);

    RSI_ATR=Sistem.AverageTrueRange(RSI, 14);
    FYT_ATR=Sistem.AverageTrueRange(C, 14);
    abi bu kullanimlari biliyorum. rsi (benim ornegini attigim)tek bir parametre aldigindan dolayi kapanislari for'lamak yetiyor, ancak atrde bildigim kadariyla 4 parametreye bakilip karsilastirilip ona gore hesaplaniyor atr degeri. benim sikinti cektigim yer surasi ;

    for (int i = 1; i < V.Count; i++)
    {
    if (V[i].Date.Day != V[i - 1].Date.Day)
    {
    PrevGunC.Add(V[i - 1].Close);
    GunTarih.Add(V[i].Date.ToString("yyyyMMdd"));
    }
    }

    buralara highli lowlu inside bar filan olursa atrnin hesabini yapacak seyler lazim. grafikverilerinden tum bilgileri cekiyorsa ben soyle bi kullanim denedim ama yemedi ;

    PrevGunC.Add(V[i - 1]);

    pp

    yani komple su sekilde degistirdim, guya grafikverilerinin icinden atryi hesaplaticam ,

    var V = Sistem.GrafikVerileri;
    var PrevGunV = new List<float>();
    var GunTarih = new List<string>();
    for (int i = 1; i < V.Count; i++)
    {
    if (V[i].Date.Day != V[i - 1].Date.Day)
    {
    PrevGunV.Add(V[i - 1]);
    GunTarih.Add(V[i].Date.ToString("yyyyMMdd"));
    }
    }
    var PrevGunATR = Sistem.AverageTrueRange(PrevGunV, 20);

    var ATR = Sistem.Liste(0);
    var StartPos = 0;
    for (int i = 1; i < V.Count; i++)
    {
    for (int j = StartPos; j < PrevGunATR.Count; j++)
    {
    if (V[i].Date.ToString("yyyyMMdd") == GunTarih[j])
    {
    ATR[i] = PrevGunATR[j];
    StartPos = j;
    break;
    }
    }
    }

    // RSI listesi önceki günün değeridir.
    //intraday grafiklerde repaint olmadan döngü içinde kullanılabilir.

    Sistem.Cizgiler[0].Deger = ATR;

    ancak yemedi.


    yoksa herhangi bir listenin atrsi rsisi hesaplanabilir idealde, anlamli bulunuyorsa.
    bang bang you shot me down..

  5. yanlış anlamadıysam atr kullanmak istiyosunuz ama çılgın açılış barlarının bozmasını istemiyosunuz
    öyle ise yukarıda yaptığınız gibi açılış barının H L ve C unu bir önceki bar olarak değiştirebilirsiniz

    o başlangıç barını tespit ettiğiniz yerde v[i].Kapanis=v[i-1].Kapanis; vs vs şeklinde

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
  •