performans açýsýndan döngüye sokmadan bu iþi yapayým demiþtim.
Bir arayüz tasarlýyorum timer ile Sistem Getiri çalýþtýrýp sistemin yönlerini sürekli olarak çekiyorum. Yön çekildiði veya deðiþtiði andaki grafik fiyat verilerindeki son deðer neyse onu form uygulamama yazdýrmak istiyorum amacým bu.
-Sistem YÖnünü çekiyorum ve forma yazdýrabiliyorum PROBLEM YOK!
-Alýþ veya Satýþ fiyatýnýda çekiyorum forma yazdýrýyorum YÖN DEÐÝÞMESE BÝLE FÝYAT DEÐÝÞÝYOR. PROBLEM VAR!
BUradaki problem ana sebebi timer sürekli olarak okuma yapýyor haliyle koþul gerçekleþtiði içinde okumayý sürdürüyor. Buaya bir if bloðuyla son yön deðiþmiþse git fiyatlarý oku veya yansýt gibi birþey demem lazým ki sadece o anda fiyatý okusun. Bir önceki son yön deðiþmiþ ise git son fiyatý oku demek lazým fakat son yon bir liste deðil anladýgým kadarýyla.
Yonumuz diye bir deðiþken oluþturdum global alanda timer dýþýnda burayý kontrol ettireyim diyordum. Yanlýz Yonumuz adlý deðiþkeni tetikleyemiyorum. yine timer veya for gibi birþeylere giriþmek gerekiyormuþ gibi.
Aklýma gelen þey þu Yonumuz adlý global alandaki deðiþkeni bir listeye çeviremezmiyiz. Bunu bir liste halinde tutup bir önceki yonumuz þöyle þimdiki yönümüz böyle ise fiyatý o zaman oku gibi bir kurgu problemý cozermý yoksa liste sürekli olarak dolup þiþirirmi programý kafamda deli sorular

KIT C# bilgisiyle :D
Kod:
int Yonumuz;
public void timer1_Tick(object sender, EventArgs e) //timer1 acýlýnca okunacak verýler
{
SistemAdi = textBoxsistemadi.Text;
SembolAdi = textBoxsembol.Text;
Periyot = textBoxperiyot.Text;
var Sistemim = User.Sistem.SistemGetir(SistemAdi, SembolAdi, Periyot);
if (Sistemim.SonYon == "A")
{
lblsistemyonu.Text = "LONG";
Yonumuz = 1;
var S1 = User.Sistem.YuzeyselVeriOku(SembolAdi);//yüzeysel verileri oku
float P1 = S1.LastPrice; //son fiyatý
lblislemfiyat.Text = P1.ToString("0.0000"); //yazdýr
}
if (Sistemim.SonYon == "S")
{
lblsistemyonu.Text = "SHORT";
Yonumuz = -1;
var S1 = User.Sistem.YuzeyselVeriOku(SembolAdi);//yüzeysel verileri oku
float P1 = S1.LastPrice; //son fiyatý
lblislemfiyat.Text = P1.ToString("0.0000"); //yazdýr
}
if (Sistemim.SonYon == "F")
{
lblsistemyonu.Text = "FLAT";
Yonumuz = 0;
var S1 = User.Sistem.YuzeyselVeriOku(SembolAdi);//yüzeysel verileri oku
float P1 = S1.LastPrice; //son fiyatý
lblislemfiyat.Text = P1.ToString("0.0000"); //yazdýr
}
else if (Sistemim.SonYon == null)
{
MessageBox.Show("Sistem Bulunamadý!");
}
}
Yer Ýmleri