Sayfa 20/593 İlkİlk ... 1018192021223070120520 ... SonSon
Arama sonucu : 4738 madde; 153 - 160 arası.

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

  1.  Alıntı Originally Posted by TheBaboli Yazıyı Oku
    Şuan 5.02 versiyonu var ama o bar hala orada. Sizde 09:25 barı yok mu 5 dklık grafikte?
    5.0 da o bar olusmustu ama guncellemeden sonra olusmadi bir daha

  2.  Alıntı Originally Posted by NUTCRACKER Yazıyı Oku
    5.0 da o bar olusmustu ama guncellemeden sonra olusmadi bir daha
    Bende de yok.

  3. Exclamation

     Alıntı Originally Posted by umit_ykoc Yazıyı Oku
    Keçi kardeşim diğer arkadaş robot sorunsuz calisiyor herhangi bir aksilik yok diyince "hata penceresi" tikini sordum. Sorunsuz calisiyorsa kaldirabilir. Burda amac c# profesörü yetistirmek degil

    sayın umit_ykoc paylaşımım konuya özel değildi, her hatada kullanılabilir diye paylaştım..
    ayrıca "hata var" + "sorunsuz calisiyor" durumuna karşılık yazdım. doktor dedik, baş ağrısı dedik, teşhis dedik.
    tik sorunu kaldırır ama bu asprindir.sürekli olduğu için teşhisde fayda var dedik.
    farkında olunmayan bir eksikliğe neden oluyor olabilir bu sistemde, hatası gizlenmiş bir sistemi asla kullanmam, başkasınada önermem.
    paylaşıma bir ek daha yapalım, sadece hatalı satırı değil, hata esnasındaki fiyat, bar, V vb. tüm değişkenlerede bu yöntemle göz atabilirsiniz.
    Böylece şu esnada bu hata çıkıyor şeklinde yorum yapabiliriz,


    paylaştığım kod csharp da alfabeden sayılan 2 kelime ile 1 satır kod. "try", "catch" ve "throw satırı. profesörlük bir olay yok yani
    3 satır kodu 1 sayfada anlattım çünkü benim gibi yeni başlayan arkadaşlar sürekli hatalarla boğuşuyorlar.
    Hatalardan kurtulup sistem kurgusuna odaklanmamız gerekiyor.


    kendimize ayırdığımız ama bir benzerine herkesin sahip olmasını istediğimiz güzel şeyler vardı bir zamanlar.

    ağacın altı, çimenin üstü, kitabın son sayfası, kedinin patisi, köpeğin ensesi, sevgilinin serçe parmağı,
    ölen arkadaşın cüzdanda saklanan fotoğrafı, paketin son sigarası,
    kitaba ayraç yapılmış İstanbul bileti, gelecek güzel günlere olan tam bir iman hali gibi...

    bir de; paylaşmak, fikir paylaşmak..

    hala var bunlar.

    hala varlar ama biçim değiştirdiler. bomboş bir dünyanın içine gömülü en büyük çalgının; boş tenekenin sesini çıkarıyorlar şimdi.

    Elimizden geldiği kadar paylaşacağız hocam.
    Keçiyi yardan uçuran bir tutam ottur..

  4. sayin keci

    vakit ayirip cevap verdiginiz icin tesekkur ederim.

  5. Smile

     Alıntı Originally Posted by TheBaboli Yazıyı Oku
    Bu bar sorunu devam ediyor.

    Bugün sadece bende 09:25 barı oldu herhalde 5 dakikalıkta ki kimse sorun bildirmemiş.
    5.0 sürümünde bende de o hatavardı fakat 5.01 yapınca problem giderildi ilk bar 9:30 da geliyor

    Hata ekranı için verilen cevaplara teşekkür ediyorum. Hata penceresi açık evet ama hata penceresini kapamak çözüm olmaz çünkü sürekli yeni birşeyler geliştirmek için uğraşıyorum hata penceresi lazım yani. Ama sayın keçinin çözümünü beğendim eğer yapabilirsem hatanın hangi satırdan kaynaklandığını bulabilir.
    Son olarak ilginçtir ki hata her zaman gelmiyor mesela bugün henüz hata penceresi açılmadı. Aklıma birde şu sebep geliyor şubat vade de robot grafik veri oku VIP'VIP-X030 bölümünü VIP'F_XU030042017 yaptım acaba nisan vade oluşan bar sayısı ile ilgili bir sıkınıtı mı var ?
    Ama çok önemli değil şimdilik robot çalışıyor bende problemi çözmeye çalışıyorum

  6. Lightbulb

     Alıntı Originally Posted by şef Yazıyı Oku
    tek seferde tüm verileri txt formatında nasıl alabiliyoruz. amaç Metastock için veri almak, lakin veri çevirmeyi yapamadım, ideal verilerini Metastock a çeviren var mı? nasıl?

    Metastock için tüm sembollere ait belli sayıda barın bilgilerini text dosyaya aktarmak istiyoruz.
    Daha önce yapmadım , yapalım, siz deneyin, oluyor mu bakalım.


    Bir defaya mahsus yapacaklarımız;
    a-Dosya Formatının Belirlenmesi
    b-Sorgu ekranından tetiklenecek olan, seçtiğimiz periyot ve hisse senetleri(tümü,100,30 vb.) için belli bir "gün" deki verileri dosyaya yazan bir Sistem Yazılması.


    Bunları sağlarsak eğer metastock import dosyasını oluşturmak için sadece sorgumuzu açıp "Hesapla" butonuna basmak yeterli olacaktır.


    a-MetaStock Import File Formatını bulalım önce;
    Metastock forumlarında aşağıdaki gibi bir format buldum.

    <NAME>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CL OSE>,<VOL>,<OPENINT>
    INTC,15,20040518,14:30:00,27.30000,27.31000,27.240 00,27.28000,1900111,0

    Bizim dışarıya ASCII Text csv dosyası çıkartmamız gerekiyor.
    Bu örnek satırı üretmeye çalışalım biz öyleyse.
    Farklı formatlarda gördüm versiyona göre değişiyormu bilmiyorum ama değişiyorsa bile uygulayacağımız yöntemi dilediğiniz hale getirip sonuç alabilirsiniz.

    b-Dosyaya çıkartmak için bir sistem yazalım. Bu sistemi "SORGU" ekranı için yazalım.
    Adıda "Sorgu_MetaStockImport7" olsun.
    Neden 7?
    Çünkü Sorgu ekranında periyot seçimi var yani dinamik olacak,
    Sembol gruplarıda var (tümü,100,30 vb.) dinamik olacak,
    fakat bar adedi seçimi yok. Bu 7 bar olmasın ama her periyot için 7 Gün olsun. Periyot sorgu penceresinde Gün seçildi ise 7 Bar 60 seçildi ise 7*8 bar vb. olsun.
    Bilelimki her tıklamada 1 haftaya ait veriyi çıkartıyor.
    Bu nedenle yazacağımız sistemde statik olarak belli bir bar adedini export edeceğiz dosyaya.
    İhtiyacınıza göre siz değiştirirsiniz bu 7 yi.

    Sorguya dair gördüğüm önemli bir bilgi, ne kadar döngü kurarsanız kurun, Sorgu penceresinde her hisse için sadece tek satır çıktı verebilirsiniz!
    Sistem.SorguEkle() komutunu döngü içerisine alarak bu durumu değiştiremssiniz.
    Bu nedenle bizim amacımız ekranda import verilerini görmek değildir.Ekranda sadece hangi hisselerin verilerinin import edildiğini göreceğiz.
    Bu yüzden Sorgu kolonlarıda şunlardan ibaret olsun; No, Sembol ve Açıklama default geliyor zaten. Biz açıklamaya "Aktarımı Yapılmıştır" yazalım oldu bitti.
    Sistemimiz aşağıdaki gibidir;
    Küçük periyotlu dosyaların oluşması uzun sürebilir, sorgu pencresinde sağ üstte devam eden hisseyi görürsünüz.
    Önemli Not: Her Hesapla denildiğinde dosya içeriğine ekleme olur.
    İdeal sorgu yapısından dolayı bunu tam yönetemedik.
    Prensib olarak aynı günde yapacağınız her hesapla işlemi öncesi çıktı dosyanızı silin. dosya isminde günün tarihi var çünkü.
    Mükerrer olmamasına dikkat edin. yaparsanızda metastock sembol ve datetime a göre overwrite yapacağından sorun olmayacaktır bu durum.


    Sorun olursa linki: http://csharppad.com/gist/7c8bc1a8d8...0f83d10ee6a764

    PHP Code:

    //Ayarlar -------------------------------------------
      
    bool BaslikSatiriOlsumutrue;
      
    string Ayrac=";";
      
    int KacGun 7;
      
    string DosyaAdi = @"d:\Metastock_" 
                        
    DateTime.Now.ToString("dd.MM.yyyy")
                        +
    ".csv";

    //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}";

    //Dosya Yoksa ilk oluştuğunda Header yaz ---------------------------------------
    if (!File.Exists(DosyaAdi))   
    {  
            if(
    BaslikSatiriOlsumu) {
                                      
    using (FileStream fs = new FileStream(DosyaAdi ,FileMode.AppendFileAccess.Write))
                                      
    using (StreamWriter sw = new StreamWriter(fs))
                                      {
                                         
    sw.WriteLine(Headers );
                                      }
                                   } 



    //Hisseye ait Toplam Barı Bul (Burasını iyi kontrol etmedim, bar sayıları sorunlu olabilir, her periyot olmayabilir, ayarlayın işte:)
    int ToplamBar0;

    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 2;
    else if(
    Sistem.Periyot=="15"ToplamBar KacGun 2;
    else if(
    Sistem.Periyot=="5")  ToplamBar KacGun 3;
    else if(
    Sistem.Periyot=="1")  ToplamBar KacGun 5;

    //Sembol için Bar Döngüsüne gir------------------------------------------------
    for (int i Sistem.BarSayisi ToplamBar  Sistem.BarSayisii++)
    {
         
    // Bar'a ait Satırı Oluştur------------------------------------------------------

         
    string barlinestring.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(",",".")
                     );

          
    // Bar'a ait Satırı Dosyay Yaz---------------------------------------
          
    using (FileStream fs = new FileStream(DosyaAdi ,FileMode.AppendFileAccess.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();
    //---------------------------------------------------------------------------- 


    Son düzenleme : Keçi; 16-03-2017 saat: 19:26.
    Keçiyi yardan uçuran bir tutam ottur..

  7. #159
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,631
    Metastock aktarım yapacaksanız ve ideal grafiklerinizde eksiklik varsa sağlıklı olmaz.

    ilk önce aşağıdaki Data tamamla sorgu olarak çalıştırıp sonra aktarım yaparsanız daha sağlıklı Metastock datalarınız olur.

    PHP Code:
    var Periyot Sistem.Periyot;
    var 
    Sembol Sistem.Sembol;
    var 
    yuzeysel Sistem.YuzeyselVeriOku(Sembol);     
    //Sistem.SorguBaslik[0] = "Düşük";
    //Sistem.SorguBaslik[1] = "Yüksek";
    Sistem.SorguBaslik[0] = "AÇILIŞ";
    Sistem.SorguBaslik[1] = "KAPANIŞ";
    Sistem.SorguBaslik[2] = "DÜŞÜK";
    Sistem.SorguBaslik[3] = "YÜKSEK";
    //Sistem.SorguBaslik[4] = "Hafta";Sistem.SorguBaslik[5] = "Ay";Sistem.SorguBaslik[6] = "3 Ay";Sistem.SorguBaslik[7] = "YIL";
    //var dsk = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Low;
    //var yks = Sistem.GrafikVerileri[Sistem.BarSayisi-1].High;



    var son Sistem.SonFiyat(Sembol); //GrafikVerileri[Sistem.BarSayisi-1].Close;


    if ( son 0  )
    {

    Sistem.GrafikVerisiIndir(Sembol"G" );
    Sistem.GrafikVerisiIndir(Sembol"60" );
    Sistem.GrafikVerisiIndir(Sembol"5" );
    Sistem.GrafikVerisiIndir(Sembol"1" );
    var 
    Kbb Sistem.GrafikVerileri;
    var 
    BB Sistem.GrafikVerileriniOku(SembolPeriyot );
    var 
    Sistem.GrafikFiyatOku(BB ,"Kapanis");
    var 
    Sistem.GrafikFiyatOku(BB ,"Acilis");
    var 
    Sistem.GrafikFiyatOku(BB,"Yuksek");
    var 
    Sistem.GrafikFiyatOku(BB,"Dusuk");



    Sistem.SorguAciklama "Data Tamamlandı " Sembol ;
    Sistem.SorguDeger[0] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Open;
    Sistem.SorguDeger[1] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Close;
    Sistem.SorguDeger[2] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].Low;
    Sistem.SorguDeger[3] = Sistem.GrafikVerileri[Sistem.BarSayisi-1].High;
    Sistem.SorguDeger[4] = son;//Sistem.SorguDeger[5] = son;Sistem.SorguDeger[6] = son;Sistem.SorguDeger[7] = son;
    Sistem.SorguOndalik[0] = 5;
    Sistem.SorguOndalik[1] = 5;
    Sistem.SorguOndalik[2] = 5;
    Sistem.SorguOndalik[3] = 5;
    //Sistem.SorguOndalik[4] = 5;Sistem.SorguOndalik[5] = 5;

    }
    else
    {
    Sistem.SorguAciklama =  "*** Data YOK ***";
    Sistem.SorguDeger[0] = son;
    }

    Sistem.SorguEkle(); 

  8. #160
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    791
    sayın ideal yetkilileri
    grafik üzerine çizdiğimiz trendlere alarm ekleyebilmek istiyoruz (sag klick sesli pop-up açılır pencere )
    bununla ilgili 2-3 defa talep yazdım inanın ilgilenen olmadı

Sayfa 20/593 İlkİlk ... 1018192021223070120520 ... SonSon

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
  •