Arama sonucu : 4754 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 vVvendetta Yazıyı Oku
    Sayin Keci;
    Yukarida yazmis oldugunuz sorgu modulu mantigi ile her bir hisseye ait datayi istedigimiz zaman araliginda ve zaman grafiginde ayri ayri nasil kaydedebiliriz ? Yardimci olabilir misiniz ? Tesekkurler
    yanlış anlamadı isem şu şekilde olacak.
    1-Periyotları tutan bir dizi tanımlanır. Bu diziyi kullanan bir for döngüsü daha olur.
    2-DosyaAdi tanımını alttaki for döngüsünün altına taşırsınız. içeriğinde periyot ve sembol adına yer verirsiniz.

    Böylece istediğiniz kadar süredeki veriyi, Metastock_Sembol_Periyot.txt isimlendirmesi ve gruplandırması ile bir klasörde toplamış olabilirsiniz. kod düzenlemesi için yakın zamanda vakit ayırmam zor.
    Keçiyi yardan uçuran bir tutam ottur..

  2. geri donusunuz icin tesekkurler sayin Keci.

  3.  Alıntı Originally Posted by vVvendetta Yazıyı Oku
    geri donusunuz icin tesekkurler sayin Keci.
    Rica ederim, şimdi baktım, hiç yeni kod yazmadım. sadece dosya tanım işlemlerini for içerisine taşıdım..



    Kod:
    
    //Ayarlar -------------------------------------------
    
    
      bool BaslikSatiriOlsumu= true;
      string Ayrac=";";
      int KacGun = 7;
    
    
    
    
    //Desenler -------------------------------------------
    
    
      string Headers =    "NAME"+Ayrac+
    		      "PER"+Ayrac+
    		      "DATE"+Ayrac+
    		      "TIME"+Ayrac+
    		      "OPEN"+Ayrac+
    		      "HIGH"+Ayrac+
    		      "LOW"+Ayrac+
    		      "CLOSE"+Ayrac+
    		      "VOL"+Ayrac+
    		      "OPENINT"; 
    					
    					
      string Values = "{0}"+Ayrac+"{1}"+Ayrac+"{2}"+Ayrac+"{3}"+Ayrac+"{4}"+Ayrac+"{5}"+Ayrac+"{6}"+Ayrac+"{7}"+Ayrac+"{8}"+Ayrac+"{9}";
    
    
    
    
    
    
    
    
    //Hisseye ait Toplam Barı Bul (Burasını iyi kontrol etmedim, bar sayıları sorunlu olabilir, her periyot olmayabilir, ayarlayın işte:)
    int ToplamBar= 0;
    
    
    if(Sistem.Periyot=="G") ToplamBar = KacGun;
    else if(Sistem.Periyot=="240") ToplamBar = KacGun * 2;
    else if(Sistem.Periyot=="120") ToplamBar = KacGun * 4;
    else if(Sistem.Periyot=="60") ToplamBar = KacGun * 8;
    else if(Sistem.Periyot=="30") ToplamBar = KacGun * 8 * 2;
    else if(Sistem.Periyot=="15") ToplamBar = KacGun * 8 * 2 * 2;
    else if(Sistem.Periyot=="5")  ToplamBar = KacGun * 8 * 2 * 2 * 3;
    else if(Sistem.Periyot=="1")  ToplamBar = KacGun * 8 * 2 * 2 * 3 * 5;
    
    
    //Sembol için Bar Döngüsüne gir------------------------------------------------
    for (int i = Sistem.BarSayisi - ToplamBar  ; i < Sistem.BarSayisi; i++)
    {
         // Bar'a ait Satırı Oluştur------------------------------------------------------
         string barline= string.Format(
    						Values
    						,Sistem.Sembol.Replace("IMKBH","").Replace("'","")
    						,Sistem.Periyot.ToString()
    						,Sistem.GrafikVerileri[i].Date.ToString("yyyyMMdd")
    						,Sistem.GrafikVerileri[i].Date.ToString("HH:mm")
    						,Sistem.GrafikVerileri[i].Open.ToString().Replace(",",".")
    						,Sistem.GrafikVerileri[i].High.ToString().Replace(",",".")
    						,Sistem.GrafikVerileri[i].Low.ToString().Replace(",",".")
    						,Sistem.GrafikVerileri[i].Close.ToString().Replace(",",".")
    						,Sistem.GrafikVerileri[i].Vol.ToString().Replace(",",".")
    						//,Sistem.LotGun(Sistem.Sembol).ToString().Replace(",",".")  //Hacim lot olacaksa bunu açıp üsttekini kapatın
    						,Sistem.GrafikVerileri[i-1].Close.ToString().Replace(",",".")
    			     );
    
    
          string DosyaAdi = @"d:\Metastock_"+Sistem.Sembol+"_"+Sistem.Periyot+"_"
                            + DateTime.Now.ToString("dd.MM.yyyy")
                            +".csv";
    
    
    //Dosya Yoksa ilk oluştuğunda Header yaz ---------------------------------------
    if (!File.Exists(DosyaAdi))   
    {  
        	if(BaslikSatiriOlsumu) {
                                      using (FileStream fs = new FileStream(DosyaAdi ,FileMode.Append, FileAccess.Write))
                                      using (StreamWriter sw = new StreamWriter(fs))
                                      {
                                         sw.WriteLine(Headers );
                                      }
                                    } 
    } 
    
    
          // Bar'a ait Satırı Dosyay Yaz---------------------------------------
          using (FileStream fs = new FileStream(DosyaAdi ,FileMode.Append, FileAccess.Write))
          using (StreamWriter sw = new StreamWriter(fs))
          {
            sw.WriteLine(barline);
          }
    
    
    } // For'a ait
    
    
    
    
    //Sorgu Ekranına Ekleme -----------------------------------------------------
    
    
    Sistem.SorguAciklama = "Aktarımı Yapılmıştır";
    Sistem.SorguEkle();
    
    
    //----------------------------------------------------------------------------
    Keçiyi yardan uçuran bir tutam ottur..

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
  •