Sayfa 605/605 İlkİlk ... 105505555595603604605
Arama sonucu : 4838 madde; 4,833 - 4,838 arası.

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

  1. #4833
     Alıntı Originally Posted by belamim Yazıyı Oku
    Çağırdığınız bir elemanın listenin aralığı dışında olması durumudur...
    ideal.ChartControl.DrawAll(Boolean calculaterangeX, Boolean calculateindicatorX, Int32 invalidateX)
    Yok sayın dostum bunlar olduğu gibi iDeal'in kendi executable kodlarının verdiği hatalar. Config klasörü altındaki HataTerminal.log dosyasının içine yazılmış.
    Yaklaşık 15000 satırlık Lib.cs dosyam var, tüm hata yaratabilecek kodların exception'larını ayrı bir errorlog dosyasına yönlendiriyorum, bahsettiğiniz yöntemlere fazlasıyla hakimim, sağolun.
    Son düzenleme : INVENTOR; 05-09-2024 saat: 15:22.

  2. #4834

    Hata yakalama ve dosyaya yazdırma örneği

    Hata yakalama ve dosyaya yazdırma örneği

    PHP Code:
    public class Dosya
    {
    public static 
    Encoding anEncoding Encoding.GetEncoding("windows-1254"); // Windows Türkçe

    // D:\BORSA 2024\iDeal\TRADE klasörü mevcut olmalı
    private static string HataLogDosyası get { return "D:\\BORSA 2024\\iDeal\\TRADE\\RunTimeErrorLog." DateTime.Now.ToString("yyyyMMdd") + ".txt"; } }

    public static 
    string TradeLogSeperator "".PadRight(22) + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~";

    public static 
    void RunTimeErrorLog(string Mesaj)
    {
        try
        {
            
    string VeriDosyası HataLogDosyası;
            
    using (FileStream fs = new FileStream(VeriDosyasıFileMode.AppendFileAccess.Write))
            {
                
    using (StreamWriter Writer = new StreamWriter(fsanEncoding))
                {
                    
    string TarihliMesaj DateTime.Now.ToString("HH:mm:ss.ffffff").PadRight(22) + Mesaj " // iDeal";
                    
    Writer.WriteLine(TarihliMesaj);
                }
            }
        }
        catch { return; }
    }

    public static 
    void RunTimeErrorLog(Exception Exstring Mesaj)
    {
        try
        {
            
    string VeriDosyası HataLogDosyası;
            
    using (FileStream fs = new FileStream(VeriDosyasıFileMode.AppendFileAccess.Write))
            {
                
    using (StreamWriter Writer = new StreamWriter(fsanEncoding))
                {
                    
    Mesaj DateTime.Now.ToString("HH:mm:ss.ffffff").PadRight(22) + Mesaj;
                    
    Mesaj += "\nException Message".PadRight(22) + ": " Ex.Message;
                    
    Mesaj += "\nException Source".PadRight(22) + ": " Ex.Source;
                    
    Mesaj += "\nException StackTrace".PadRight(22) + ": " Ex.StackTrace;

                    
    Writer.WriteLine(Mesaj);
                    
    Writer.WriteLine(TradeLogSeperator);
                }
            }
        }
        catch { return; }
    }

    Örnek kullanım:
    PHP Code:
    public static bool VirgüldenSonrakiBasamaklarınaKadarAynıMı(float Değer1float Değer2int VirgüldenSonrakiBasamakAdeti 2)
    {
        try
        {
            
    float Faktör = (float)Math.Pow(10VirgüldenSonrakiBasamakAdeti);
            return 
    Math.Truncate(Değer1 Faktör) == Math.Truncate(Değer2 Faktör);
        }
        catch (
    System.Threading.ThreadAbortException)
        {
            
    Dosya.RunTimeErrorLog("0007 VirgüldenSonrakiBasamaklarınaKadarAynıMı");
            return 
    false;
        }
        catch (
    Exception Ex)
        {
            
    Dosya.RunTimeErrorLog(Ex"0007 VirgüldenSonrakiBasamaklarınaKadarAynıMı");
            return 
    false;
        }


  3. #4835
    Hali hazırda Lib.cs (sürüm 1.0 olsun) dosyanız mevcut ve iDeal'i çalıştırdınız.
    Lib sınıfının constructor metodu devreye giriyor.
    iDeal'i kapattınız; destructor metod devreye giriyor.

    iDeal'i tekrar çalıştırdınız. Lib.cs (sürüm 1.0) dosyasındaki Lib sınıfının constructor metodu devreye giriyor.

    iDeal açık durumda..
    Lib.cs içerisinde değişiklik yaptınız (sürüm 2.0 olsun) ve kaydettiniz.
    Bu yeni sürümü derlemeniz lazım.
    Derleyebilmek için de mutlaka bir grafik formu açık olmalı. Başka yerden derleyemiyorsunuz.
    S menüsünden "Lib.cs Dosyasını Compile Et" satırı ile sürüm 2.0 içeriğini aktif hale getirmek istiyorsunuz.

    iDeal; içeriğini değiştirdiğiniz dosyayı (sürüm 2.0); derliyor.
    Bu dosyadaki Lib sınıfının constructor metodu devreye giriyor.
    Sorun yok... değil aslında.
    Yaklaşık bir dakika sonra eski (iDeal'i ilk açtığınızda yüklenen - derlenen sürüm 1.0 dosyasındaki) destructor devreye giriyor.

    iDeal'i kapattınız; güncel olan (sürüm 2.0) Lib.cs dosyasındaki destructor devreye giriyor.

    Her şey (...) bozuluyor.
    Bence çok önemli bir konu atlanmış.
    Farklı threatlerde yürütülülmüş işlemler.



    Bence süreç şu şekilde olmalı..

    S menüsünden "Lib.cs Dosyasını Compile Et" seçildiği zaman
    ilk olarak (sürüm 1.0) hafızadaki dosyanın Lib sınıfına ait destructor metodu çalıştırılmalıdır.
    Daha sonra yenilenen dosya (sürüm 2.0) derlenmelidir.
    Yeni derleme (sürüm 2.0) sonrasında da eski (sürüm 1.0) sınıfa ait destructor çalıştırılmamalıdır.

    Umarım iDeal yetkilileri bu konuyu ele alırlar.


    Kod:
    Constructor çalıştı
    Sürüm 1.0
    iDeal Lib.cs COMPILE
    Constructor LIB
    Uygulama Açılışı : 6 Eylül 2024 Cuma 01:35:35
    Resmi Tatiller Dosyası Okundu / Kayıt Sayısı : 37
    İşlem Yapılmayacak Günler Dosyası Okundu / Kayıt Sayısı : 2
    Trade Hisseleri Dosyadan Okundu / Kayıt Sayısı : 300
    Yasaklı Hisseler Dosyası Okundu / Kayıt Sayısı : 371
    Uygulama Başlangıcında Trade Sembolleri İşlem Sayısı ve Kazanç/Kayıp Durumları
    ... // Diğer işlemlerle ilgili bilgi satırları - CONSTRUCTOR / Sürüm 1.0 
    ~~~~~~~~~~
    Constructor çalıştı
    Sürüm 2.0
    iDeal Lib.cs COMPILE
    Constructor LIB
    Uygulama Açılışı : 6 Eylül 2024 Cuma 01:37:10
    Resmi Tatiller Dosyası Okundu / Kayıt Sayısı : 37
    İşlem Yapılmayacak Günler Dosyası Okundu / Kayıt Sayısı : 2
    Trade Hisseleri Dosyadan Okundu / Kayıt Sayısı : 300
    Yasaklı Hisseler Dosyası Okundu / Kayıt Sayısı : 371
    Uygulama Başlangıcında Trade Sembolleri İşlem Sayısı ve Kazanç/Kayıp Durumları
    ... // Diğer işlemlerle ilgili bilgi satırları - CONSTRUCTOR / Sürüm 2.0
    ~~~~~~~~~~
    Destructor çalıştı
    Sürüm 1.0
    Uygulama Kapanışı : 6 Eylül 2024 Cuma 01:37:37
    D:\BORSA 2024\iDeal\TRADE\ARŞİV\OnClose_20240906_TradeSembolleri.csv uygulama kapanış yedeklemesi yapıldı
    Uygulama Kapanışında Trade Sembolleri İşlem Sayısı ve Kazanç/Kayıp Durumları
    ... // Diğer işlemlerle ilgili bilgi satırları - DESTRUCTOR / Sürüm 1.0
    Destructor LIB
    ~~~~~~~~~~
    Destructor çalıştı
    Sürüm 2.0
    Uygulama Kapanışı : 6 Eylül 2024 Cuma 01:37:54
    D:\BORSA 2024\iDeal\TRADE\ARŞİV\OnClose_20240906_TradeSembolleri.csv uygulama kapanış yedeklemesi yapıldı
    Uygulama Kapanışında Trade Sembolleri İşlem Sayısı ve Kazanç/Kayıp Durumları
    ... // Diğer işlemlerle ilgili bilgi satırları - DESTRUCTOR / Sürüm 2.0
    Destructor LIB ~~~~~~~~~~

  4. #4836
    PHP Code:
    var YV oSistem.YuzeyselVeriOku(oSembol);
    string SonİşlemGünüTarihi YV.PrevDate;
    float BölünmeÖncesiAğırlklıOrtalama = (float)YV.BolunmeOncesiWavr
    YV.PrevDate
    ve
    YV.BolunmeOncesiWavr

    değişkenlerinden hangi şartlar altında veri alınabiliyor, tecrübe eden var mı?

    İşlem gününde sermaye değişikliği olan hisselerde; oturum başlamadan ya da başladıktan sonra BolunmeOncesiWavr değişkeninden veri alamıyorum.
    Bir gün öncesinin kapanış saatinden sonra da aynı şekilde; bir sonraki işlem gününde sermaye değişikliği olacak hisselerden veri alamıyorum.


    Kod:
    ACSEL     ACIPAYAM SELULOZ                        Pazar : A   Sektör : S_00050   Alt Market : 56  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6   
    ADEL      ADEL KALEMCILIK                         Pazar : Y   Sektör : S_00030   Alt Market : 64  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6   
    ADGYO     ADRA GMYO                               Pazar : Y   Sektör : S_00210   Alt Market : 64  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6   
    AEFES     ANADOLU EFES                            Pazar : Y   Sektör : S_00010   Alt Market : 64  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6   
    AFYON     AFYON CIMENTO                           Pazar : Y   Sektör : S_00060   Alt Market : 64  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6   
    AGESA     AGESA HAYAT EMEKLILIK                   Pazar : Y   Sektör : S_00160   Alt Market : 64  Son İşlem Günü Tarihi :  Bölünme Öncesi WAvr : 0,00      Durum : 6




    İşlem gününde sermaye değişimi olan hissede oturum başlamadan önce;
    Sistem.SonFiyat(Sembol) // Sermaye değişimi olan günün bir işlem günü öncesinin düzeltilmemiş kapanışını veriyor
    Sistem.OncekiKapanisGun(Sembol) // Sermaye değişimi olan günün bir işlem günü öncesinin düzeltilmiş kapanışını veriyor

    Bunu test etmedim;
    Sistem.OrtalamaGun(Sembol) // Sermaye değişimi olmadan bir gün öncesinin düzeltilmemiş Ağırlıklı Ortalamasını verecek mi ?
    Son düzenleme : INVENTOR; 08-09-2024 saat: 16:16.

  5. #4837
    Kod:
                        KOD      SD Tarihi    Bedelli%     Diğer  Bedelsiz IK% Bedelsiz Temettü% Hisse Başı Brüt                Açıklama
                        ______ ___________   _________ _________ _____________ _________________ _______________________________________
                        GRTRK   13.09.2024        0,00      0,00          0,00              0,00            0,04    Temettünün tamamı nakit olarak dağıtılmakta
                        KRVGD   10.09.2024        0,00      0,00          0,00              0,00            0,03    Temettünün tamamı nakit olarak dağıtılmakta
                        PLTUR   10.09.2024        0,00      0,00          0,00              0,00            0,06    Temettünün tamamı nakit olarak dağıtılmakta
    
                        (B1) TS.oSembol               IMKBH'PLTUR
                        (B2) oSistem.SonFiyat         26,76
                        (B3) oSistem.OrtalamaGun      0
                        (B4) oSistem.OncekiKapanisGun 26,7
                        (B5) oSistem YuzdeGun         0,2247171
    PHP Code:
    //Tarih;Kapanış(TL);Min(TL);Max(TL);AOF(TL)
    9.09.2024 00:00:00;26,76;26,54;27,26;26,91
    6.09.2024 00
    :00:00;26,96;26,12;27,22;26,74
    5.09.2024 00
    :00:00;27,08;26,74;27,48;27,16 
    Oturum başlamadan;
    Sistem.OrtalamaGun(Sembol);
    bir önceki işlem gününün ağırlıklı ortalama değerini vermiyor.

  6. Post

     Alıntı Originally Posted by INVENTOR Yazıyı Oku
    Yok sayın dostum bunlar olduğu gibi iDeal'in kendi executable kodlarının verdiği hatalar. Config klasörü altındaki HataTerminal.log dosyasının içine yazılmış.
    Yaklaşık 15000 satırlık Lib.cs dosyam var, tüm hata yaratabilecek kodların exception'larını ayrı bir errorlog dosyasına yönlendiriyorum, bahsettiğiniz yöntemlere fazlasıyla hakimim, sağolun.
    Sayın İnventor

    15000 satır diyince aklıma 2013 yılında yazdığım bir program geldi.Satırlarını kontrol edeyim dedim 10000 satırı geçiyor.

    O zamanlar hatırlıyorum bir programcı arkadaşıma göstermiştim o bile bu ne ya bu kadar çok satır var diye şaşırmıştı.

    Şimdi o kadar satırı yazabilir miyim diye düşünüyorum.Ne günlermiş be

Sayfa 605/605 İlkİlk ... 105505555595603604605

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
  •