Yasaklı hisseler;
Bazı hisselerin sorgularda yer almasını bırak grafiğini bile görmek istemeyenler için kullanabilecekleri bir yöntem:
Lib.cs dosyasında Lib sınıfı içerisine bir tanım ve iki metod eklenecek;
tanım:
public List<string> YasaklıHisseler = null;
metodlar:
public void YasaklıHisseleriDosyadanOku()
public bool HisseYasaklıMı(string oSembol)
Lib constructor içerisine
YasaklıHisseleriDosyadanOku();
yazılacak.
Aşağıdaki görselden takip edebilirsiniz.
Lib.cs dosyasını derlediğinizde ya da iDeal'i ilk başlattığınızda
YasaklıHisseleriDosyadanOku() metodu (oluşturacağınız) csv dosyaya eklediğiniz hisseleri okuyup
public List<string> YasaklıHisseler değişkenine aktaracak.
iDeal çalıştığı sürece bu değişkenden her türlü sorgu, sistem, grafik.. öncesinde yasaklı hisseleri şu şekilde eleyebileceksiniz.
Sorgular için:
PHP Code:
if (Sistem.BaglantiVar == true && !Lib.HisseYasaklıMı(Sistem.Sembol))
{
//clsHisse dynHisse = Lib.Yeni_Sorgu_Hissesi_TekPeriyot(Sistem, Sistem.Sembol, Sistem.Periyot);
dynamic dynHisse = Lib.Yeni_Sorgu_Hissesi_TekPeriyot(Sistem, Sistem.Sembol, Sistem.Periyot);
//...
}
Grafikler için:
PHP Code:
#region GRAPH LINREG LEVEL
if(!Lib.HisseYasaklıMı(Sistem.Sembol))
{
try
{
//clsHisse dynHisse = Lib.Yeni_Grafik_Hissesi(Sistem, Sistem.Sembol, Sistem.Periyot);
dynamic dynHisse = Lib.Yeni_Grafik_Hissesi(Sistem, Sistem.Sembol, Sistem.Periyot);
dynHisse.Hisseyi_Oluştur();
if (dynHisse.oPeriyotVerileri[0].boolVeriHesaplamalarıDüzgünOlarakYapıldı)
{
//..
}
}
catch (System.Threading.ThreadAbortException)
{
Lib.DOSYA.Hata_Mesajı_Yaz("0085");
}
catch (Exception Ex)
{
Lib.DOSYA.Hata_Mesajı_Yaz(Ex, "0085");
}
}
#endregion GRAPH LINREG LEVEL
YasaklıHisseler.csv dosyası örneği; bu dosya Notepad ya da Excel ile oluşturulabilir.
Bendeki örnekte dosyanın kayıtlı olduğu yer: D:\BORSA 2024\iDeal\TRADE\YEDEKLER klasörüdür.
Kod:
//YASAKLI HİSSELER, sorgularda yer almasını istemediğin HİSSELERİ buraya alt alta yaz
IMKBH'BJKAS
IMKBH'GSRAY
IMKBH'ERBOS
IMKBH'GUBRF
IMKBH'ODAS
Metodlar:
PHP Code:
public void YasaklıHisseleriDosyadanOku()
{
try
{
//string YasaklıHisselerDosyası = Dosya.YasaklıHisselerDosyası;
string YasaklıHisselerDosyası = "D:\\BORSA 2024\\iDeal\\TRADE\\YEDEKLER\\YasaklıHisseler.csv";
YasaklıHisseler = new List<string>();
string lineString = string.Empty;
Encoding anEncode = Encoding.GetEncoding("windows-1254");
if (!File.Exists(YasaklıHisselerDosyası))
{
//Dosya Yok
//File.Copy(Dosya.YasaklıHisselerDosyasıYEDEK, Dosya.YasaklıHisselerDosyası);
//Dosya.UygulamaBaşlangıçDosyasınaEkle(Dosya.YasaklıHisselerDosyası + " yedeklerden kopyalandı");
}
if (File.Exists(YasaklıHisselerDosyası))
{
string line = "";
using (StreamReader reader = new StreamReader(YasaklıHisselerDosyası, anEncode))
{
while ((line = reader.ReadLine()) != null)
{
if (line.Trim() != "" & line.Substring(0, 2) != "//")
{
if (line != null)
{
string[] words = line.Split(';');
if (words[0].Substring(0, 1) != "/")
{
if (words.GetLength(0) > 0)
{
YasaklıHisseler.Add(words[0]);
}
}
}
}
}
}
}
else
{
//Dosya yok, ömür boyu yasakla
YasaklıHisseler.Add("IMKBH'BJKAS");
YasaklıHisseler.Add("IMKBH'GUBRF");
//diğerlerini buraya ekle
}
}
catch (System.Threading.ThreadAbortException)
{
//Dosya.HataMesajıYaz("00X YasaklıHisseleriOku");
}
catch (Exception Ex)
{
//Dosya.HataMesajıYaz(Ex, "00X YasaklıHisseleriOku");
}
}
PHP Code:
public bool HisseYasaklıMı(string oSembol)
{
foreach (string word in YasaklıHisseler)
{
if (word == oSembol)
return true;
}
return false;
}
Görsel:

using önergeleri:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.IO;
using System.Text;
Yer İmleri