Originally Posted by
vVvendetta
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();
//----------------------------------------------------------------------------
Yer İmleri