Sayfa 526/593 İlkİlk ... 26426476516524525526527528536576 ... SonSon
Arama sonucu : 4738 madde; 4,201 - 4,208 arası.

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

  1.  Alıntı Originally Posted by sonli Yazıyı Oku
    Tam istediğiniz şey değil ama son x bar için şöyle bir şey yazmıştım daha önce https://www.hisse.net/topluluk/showthread.php?p=3043842

    Kodu güncelledim:

    PHP Code:
    //verilen periyotta yüzdesel hisse fiyatı ile xu100 değişimi
    int p 240
    var 
    Sistem.GrafikFiyatSec("Kapanis");
    var 
    Veriler1 Sistem.GrafikVerileri;
    var 
    w=Sistem.BarSayisi-1;

    var 
    Veriler2 Sistem.GrafikVerileriniOku("IMKBX'XU100"Sistem.Periyot);
    Veriler2 Sistem.GrafikVerilerindeTarihHizala(Veriler1Veriler2);
    var 
    Sistem.GrafikFiyatOku(Veriler2 "Kapanis");

    var 
    Sistem.Liste(0);
    var 
    Sistem.Liste(0);
    var 
    Sistem.Liste(0);

    for (
    int i pSistem.BarSayisii++){
       
    a[i] = 100*(C[i]-C[i-p])/C[i-p];
       
    b[i] = 100*(X[i]-X[i-p])/X[i-p];
       
    c[i] = a[i]-b[i];
    }

    Sistem.Cizgiler[0].Deger a;
    Sistem.Cizgiler[0].Aciklama Sistem.Sembol;
    Sistem.Cizgiler[1].Deger b;
    Sistem.Cizgiler[2].Deger c;
    Sistem.Cizgiler[3].Deger 0
    Geldik, gidiyoruz..
    deneyeceğim teşekkürler.

  2. selamlar "es" değişkenini şöyle hesaplatmak istiyorum.
    Periyot -1.e kadar C+2
    Periyot.a eşit olduğunda C
    Periyottan büyük olduğunda C+1
    Şeklinde nasıl hesaplatabilirim.


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


    var periyot = 20 ;
    var es = Sistem.Liste(0);



    for (int j=0; j < V.Count; j++)
    {
    es[j] = C[j] + 20 ;
    }

  3.  Alıntı Originally Posted by muminozturk Yazıyı Oku
    selamlar "es" değişkenini şöyle hesaplatmak istiyorum.
    Periyot -1.e kadar C+2
    Periyot.a eşit olduğunda C
    Periyottan büyük olduğunda C+1
    Şeklinde nasıl hesaplatabilirim.


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


    var periyot = 20 ;
    var es = Sistem.Liste(0);



    for (int j=0; j < V.Count; j++)
    {
    es[j] = C[j] + 20 ;
    }
    Böyle bir hesaplama repaint yapacaktır. Her bar atladığında ilgili bar için yapılan hesaplama değişecektir.

  4.  Alıntı Originally Posted by bymehmet Yazıyı Oku
    Böyle bir hesaplama repaint yapacaktır. Her bar atladığında ilgili bar için yapılan hesaplama değişecektir.
    Hocam bilgisizliğimi bağışlayın.
    C.de bir değişkeni bar numarasına göre hesaplayamamak kötüymüş.
    Şu yapılamaz mı hocam.

    x değişkenini 1-20 barlar arasında değer ata. (belki bar no ile)
    y değişkenine 20 nolu barı ata.
    z değişkenine 21-1000 nolu barlarda şu değişkeni ata
    (atanmayan değerler sıfır ise)

    zz= x+y+z

  5.  Alıntı Originally Posted by muminozturk Yazıyı Oku
    Hocam bilgisizliğimi bağışlayın.
    C.de bir değişkeni bar numarasına göre hesaplayamamak kötüymüş.
    Şu yapılamaz mı hocam.

    x değişkenini 1-20 barlar arasında değer ata. (belki bar no ile)
    y değişkenine 20 nolu barı ata.
    z değişkenine 21-1000 nolu barlarda şu değişkeni ata
    (atanmayan değerler sıfır ise)

    zz= x+y+z
    Yapılamaz demedim işe yaramayacağını düşündüğüm için yazmak istemedim. Sanırım siz metastock diline aşınasınız. Metastock scripttir, C# ise programlama dilidir yazıyla ifade edilebilen her hesaplama yaptırabilir. Örneğin yapmak istediğiniz şeyi kodladım.
    Bu kod 20.bardan sonra sadece bir sonraki barın fiyatı alıp indikator gibi çizer, yani repaint yapar.

    PHP Code:
          var Sistem.GrafikVerileri;
          var 
    Sistem.GrafikFiyatOku(V"Kapanis");


          var 
    periyot 20;
          var 
    es Sistem.Liste(0);



          for (
    int j 0V.Count-2j++)
          {
             if (
    periyot)
             {
                
    // bar sayısı periyottan küçükse yapılacak hesaplamalar

                
    es[j] = C[j+2];  // bu satır repaint yapar, gelecekteki iki bara bakar.
             
    }
             else if (
    == periyot)
             {
                
    // bar sayısı periyota eşitken yapılacak hesaplama
                
    es[j] = C[j];

             }
             else
             {
                
    // bar sayısı periyottan büyükken yapılacak hesaplama
                
    es[j] = C[1]; // bu satır da gelecekteki bir bardan bilgi çalar.
             
    }
             
          }
          
    Sistem.Cizgiler[0].Deger es
    Eğer her 20 barda, bar sayımının başa dönmesini istiyorsanız şu şekilde ifade edebiliriz.

    PHP Code:

          
    var Sistem.GrafikVerileri;
          var 
    Sistem.GrafikFiyatOku(V"Kapanis");


          var 
    periyot 20;
          var 
    es Sistem.Liste(0);



          for (
    int j 0V.Count-2j++)
          {
             if (
    periyot)
             {
                
    // bar sayısı periyottan küçükse yapılacak hesaplamalar

                
    es[j] = C[j+2];  // bu satır repaint yapar, gelecekteki iki bara bakar.
             
    }
             else if (
    == periyot)
             {
                
    // bar sayısı periyota eşitken yapılacak hesaplama
                
    es[j] = C[j];

             }
             else
             {
                
    // bar sayısı periyottan büyükken yapılacak hesaplama
                
    es[j] = C[1]; // bu satır da gelecekteki bir bardan bilgi çalar.
             
    }

             if (
    periyot == 0)
                
    periyot 20;
             
          }
          
    Sistem.Cizgiler[0].Deger es
    Yanlış anlamış olabilirim. Yapmak istediğiniz bu değilse de kod üzerinde değişiklik yaparak istediğiniz şeyi elde etmeye çalışın.

    for döngüsünün son değerinin "V.Count - 2" olmasına dikkat edin, çünkü gelecekten bilgi almak için 2 bar geçmişte olmak gerek aksi halde hata verir çizgi görünmez.

  6. Merhabalar arkadaşlar,

    1 dakikalık grafik açıkken seans başladığından beri geçen 5 er dakikalık bar sayısını, bir önceki bara kadar seans içi gelen toplam hacmi; seans başladığından beri geçen 1 er dakikalıkları gösteren bar sayısını çizdirmek istiyorum. Bana yardımcı olabilirseniz çok memnun olurum. Teşekkürler

  7. Yapılamaz demedim işe yaramayacağını düşündüğüm için yazmak istemedim.
    [PHP]

    Sayın hocam,
    Vaktiniz, bilginiz, paylaşımınız için teşekkür ederim. Bilgi paylaşıldıkça güzeldir.
    "Muhteşem bir şey,bir yerlerde keşf edilmeyi bekliyor."Carl Sagan
    Bence yukarıdaki kod, sonun başlangıcıdır. Sanrsam cumaya bitirebilirim. Sonucu buradan paylaşırım hocam sizinle.

  8. Yapılamaz demedim işe yaramayacağını düşündüğüm için yazmak istemedim.
    [PHP]

    Sayın hocam,
    Vaktiniz, bilginiz, paylaşımınız için teşekkür ederim. Bilgi paylaşıldıkça güzeldir.
    "Muhteşem bir şey,bir yerlerde keşf edilmeyi bekliyor."Carl Sagan
    Bence yukarıdaki kod, sonun başlangıcıdır. Sanrsam cumaya bitirebilirim. Sonucu buradan paylaşırım hocam sizinle.
    +1 benim hatam c[i] + 1şeklinde düşünmüştüm hocam.
    Son düzenleme : muminozturk; 03-06-2022 saat: 22:54. Sebep: eksik bilgi

Sayfa 526/593 İlkİlk ... 26426476516524525526527528536576 ... SonSon

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
  •