Sayfa 581/593 İlkİlk ... 81481531571579580581582583591 ... SonSon
Arama sonucu : 4738 madde; 4,641 - 4,648 arası.

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

  1. #4641
     Alıntı Originally Posted by INVENTOR Yazıyı Oku
    Veri güncellemeyle ilgili sorunları aşamadım bir türlü..

    Sorgu kodlarında bir sembolün bir periyodu için hesaplama yaparken
    eğer o sembol için grafik daha önceden ekrana çizilmemişse;
    sorgu sonucunda göstergeler için hesaplanan sonuçlar ile
    sembolün grafiğini ekrana çizdirdiğim zaman güncellenen barlar nedeniyle
    değişen gösterge değerleri; haliyle; birbirinden farklı çıkıyor.
    (Sembol grafiği seçili periyotta ekrana çizilince veriler güncelliyor; hop.. bir kaç bar daha ekleniyor grafiğe, dolayısıyla sorguda hesaplanan değerler değişiyor)
    Bu verinin sonradan; grafiği çizilince; güncellenmesi seans saatleri içinde de oluyor mu onu tespit edemedim.

    Sorgu öncesi iDeal menüsünden güncellemeyi yapıyorum. Bazen veri indiriyor, bazen veriler güncel olduğu için indirmiyor.


    Sistem değil.. Sorgularda yaşıyorum bu problemi.. sistem için de aynı şey oluyor ama amaç sorgu sinyalini kaçırmamak.
    Sorgu gerçekleşiyor.. algoritmaya göre (custom) AL-SAT vb. sinyaller üretiliyor..
    Sembolün grafiğini açtığımda bir bakıyorum beş altı bar ekleniyor grafiğe ve sorgunun ürettiği sinyalle alakası olmayan bir durumla karşılaşıyorum.

    Çözemedim bu işi. Bu konuda yanlış olan, ya da yanlış- eksik yaptığım bir şeyler var. Yardım edebilecek var mı?
    Sorgu kodlarında aşağıdaki şekilde veri okutuyorum.
    PHP Code:
    string Periyot Sistem.Periyot;
    Sistem.GrafikVerisiIndir(Sistem.SembolPeriyot);//ardarda 1 saat geçmeden kullanamazsınız

    //Sistem.YuzeyselGuncelle(Sistem.Sembol); //Verileri sıfırlıyor, hesaplama yapılamıyor
    //Sistem.GrafikGuncelle(Sistem.Sembol); //Kullanıcı tanımlı semboller için

    var Veriler Sistem.GrafikVerileriniOku(Sistem.SembolPeriyot);

    var 
    BarYüksek Sistem.GrafikFiyatOku(Veriler"Yuksek");
    var 
    BarDüşük Sistem.GrafikFiyatOku(Veriler"Dusuk");
    var 
    BarPIVOT Sistem.GrafikFiyatOku(Veriler"OHLC/4");

    //Bazı periyotlarda barların ağırlıklı ortalamasını veri olarak alamıyorsun.. 
    //var BarYüksek = Sistem.GrafikFiyatSec("Yuksek");
    //var BarDüşük = Sistem.GrafikFiyatSec("Dusuk");
    //var BarPIVOT = Sistem.GrafikFiyatSec("OHLC/4");

    var V_240 Sistem.GrafikVerileriniOku(Sistem.Sembol"240""OHLC/4");
    var 
    V_60 Sistem.GrafikVerileriniOku(Sistem.Sembol"60""OHLC/4"); 

    Verileri tamamlasın diye bazen aşağıdaki sorguyu kullanıyorum.. kullandığım bütün periyotları işaretleyip bu sorguyu çalıştırıyorum yine de ekrana grafik çizilmeden bir türlü şu veriyi tamamlatamadım. Karanlık oda verisinin de hangi periyotta hangi bara eklendiği konusu da soru işareti.. G ve 240 dakikalık barlara ekleniyor, fakat diğer periyotlarda ayrı bir bar olarak sona ekleniyor.. yanlış yaptığım bir şeyler var.

    Önce tüm sembollerde ekrana grafik çizdirilecek.. sorgu tekrar çalıştırılacak.. o zaman sorun yok.
    PHP Code:
    public void QUERY_COMPLETE_DATA()
    {
        
    //Senetler
        
    Sistem.SorguAciklamaGenislik 150;

        
    Sistem.SorguSutunGenislik[0] = 50;
        
    Sistem.SorguBaslik[0] = "SEMBOL";
        
    Sistem.SorguSutunTip[0] = "YAZI";
        
    Sistem.SorguSutunHizala[0] = "SOL";
        var 
    Symbol = (Sistem.Sembol.Contains("IMKBH'") ? Sistem.Sembol.Replace("IMKBH'""") : Sistem.Sembol);
        
    Sistem.SorguDeger[0] = Symbol;

        var 
    Yuzeysel Sistem.YuzeyselVeriOku(Sistem.Sembol);//Etkisiz
        
    var SonFiyat Sistem.SonFiyat(Sistem.Sembol);

        if (
    SonFiyat 0)
        {
            try
            {
                
    int colID 1;

                
    Sistem.SorguSutunGenislik[colID] = 60;
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguBaslik[colID] = "(SonFiyat) KAPANIŞ";
                
    Sistem.SorguDeger[colID] = SonFiyat;

                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 110;
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguBaslik[colID] = "(OncekiKapanisGun) Önceki Kapanış";
                var 
    OncekiKapanisGun Sistem.OncekiKapanisGun(Sistem.Sembol);
                
    Sistem.SorguDeger[colID] = OncekiKapanisGun;

                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguBaslik[colID] = "(SonHacim) SON HACİM";
                var 
    SonHacim Sistem.SonHacim(Sistem.Sembol);
                
    Sistem.SorguDeger[colID] = SonHacim;

                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 20;
                
    Sistem.SorguBaslik[colID] = "-";
                
    Sistem.SorguSutunHizala[colID] = "ORTA";
                
    Sistem.SorguDeger[colID] = "";

                
    string Periyot Sistem.Periyot;
                
    Sistem.GrafikVerisiIndir(Sistem.SembolPeriyot);

                
    //Sembol ve Periyot
                
    int _Periyot 0;
                
    int.TryParse(Periyotout _Periyot);
                
    string PeriodValue Symbol " " + (_Periyot == Periyot _Periyot.ToString("000"));
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 70;
                
    Sistem.SorguBaslik[colID] = "Sembol & Periyot"//Periyot
                
    Sistem.SorguSutunHizala[colID] = "SOL";
                
    Sistem.SorguSutunTip[colID] = "YAZI";
                
    Sistem.SorguDeger[colID] = PeriodValue;

                
    //Sistem Bar Sayısı
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 60;
                
    Sistem.SorguBaslik[colID] = "Sistem Bar Sayısı";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = Sistem.BarSayisi;

                
    // GRAFİK VERİLERİNİ OKU
                
    var Barlar Sistem.GrafikVerileriniOku(Sistem.SembolPeriyot);

                
    //Grafik Verilerini Oku : Bar Sayısı
                
    int Barlar_Count Barlar.Count;
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 60;
                
    Sistem.SorguBaslik[colID] = "(GVO) Bar Sayısı";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = Barlar_Count;

                
    //Grafik Verilerini Oku : Önceki Bar Kapanış Saati
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 85;
                
    Sistem.SorguBaslik[colID] = "(GVO) Önceki Bar Zamanı";
                
    Sistem.SorguSutunTip[colID] = "YAZI";
                
    Sistem.SorguDeger[colID] = Barlar[Barlar.Count 2].Date.ToLongTimeString();

                
    //Grafik Verilerini Oku : Son Bar Kapanış Saati
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GVO) Son Bar Zamanı";
                
    Sistem.SorguSutunTip[colID] = "YAZI";
                
    Sistem.SorguDeger[colID] = Barlar[Barlar.Count 1].Date.ToLongTimeString();

                
    //Grafik Verilerini Oku : Önceki Bar Kapanış
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 85;
                
    Sistem.SorguBaslik[colID] = "(GVO) Önceki Bar Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = Barlar[Barlar.Count 2].Close;

                
    //Grafik Verilerini Oku : Son Bar Kapanış
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GVO) Son Bar Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = Barlar[Barlar.Count 1].Close;

                
    // GRAFİK FİYAT OKU                    
                
    var GFO_Close Sistem.GrafikFiyatOku(Barlar"Kapanis");

                
    //Grafik Fiyat Oku : Önceki Bar Kapanış
                
    var GFO_Close_Prev GFO_Close[GFO_Close.Count 2];
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 70;
                
    Sistem.SorguBaslik[colID] = "(GFO) Önceki Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = GFO_Close_Prev;

                
    //Grafik Fiyat Oku : Son Bar Kapanış
                
    var GFO_Close_Last GFO_Close[GFO_Close.Count 1];
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 65;
                
    Sistem.SorguBaslik[colID] = "(GFO) Son Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = GFO_Close_Last;


                var 
    GFO_Volume Sistem.GrafikFiyatOku(Barlar"Hacim");

                
    //Grafik Fiyat Oku : Önceki Bar Hacim
                
    var GFO_Volume_Prev GFO_Volume[GFO_Volume.Count 2];
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 100;
                
    Sistem.SorguBaslik[colID] = "(GFO) Önceki Hacim";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = GFO_Volume_Prev;

                
    //Grafik Fiyat Oku : Son Bar Hacim
                
    var GFO_Volume_Last GFO_Volume[GFO_Volume.Count 1];
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 100;
                
    Sistem.SorguBaslik[colID] = "(GFO) Son Hacim";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = GFO_Volume_Last;

                
    // GRAFİK VERİLERİ
                //Grafik Verileri : Önceki Bar Tarihi
                
    string GV_Date_Prev Sistem.GrafikVerileri[Sistem.BarSayisi 2].Date.ToString("dd/MM/yyyy HH:mm:ss.ff");
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 130;
                
    Sistem.SorguBaslik[colID] = "(GV) Önceki Veri Tarih";
                
    Sistem.SorguSutunTip[colID] = "YAZI";
                
    Sistem.SorguDeger[colID] = GV_Date_Prev;

                
    //Grafik Verileri : Son Bar Tarihi
                
    string GV_Date_Last Sistem.GrafikVerileri[Sistem.BarSayisi 1].Date.ToString("dd/MM/yyyy HH:mm:ss.ff");
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 130;
                
    Sistem.SorguBaslik[colID] = "(GV) Son Veri Tarih";
                
    Sistem.SorguSutunTip[colID] = "YAZI";
                
    Sistem.SorguDeger[colID] = GV_Date_Last;

                
    //Grafik Verileri : Önceki Bar Kapanış
                
    float GV_Close_Prev Sistem.GrafikVerileri[Sistem.BarSayisi 2].Close;
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GV) Önceki Veri Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = GV_Close_Prev;

                
    //Grafik Verileri : Son Bar Kapanış
                
    float GV_Close_Last Sistem.GrafikVerileri[Sistem.BarSayisi 1].Close;
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GV) Son Veri Kapanış";
                
    Sistem.SorguOndalik[colID] = 2;
                
    Sistem.SorguDeger[colID] = GV_Close_Last;

                
    //Grafik Verileri : Önceki Bar Kapanış
                
    float GV_Vol_Prev Sistem.GrafikVerileri[Sistem.BarSayisi 2].Vol;
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GV) Önceki Veri Hacim";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = GV_Vol_Prev;

                
    //Grafik Verileri : Son Bar Kapanış
                
    float GV_Vol_Last Sistem.GrafikVerileri[Sistem.BarSayisi 1].Vol;
                
    colID++;
                
    Sistem.SorguSutunGenislik[colID] = 80;
                
    Sistem.SorguBaslik[colID] = "(GV) Son Veri Hacim";
                
    Sistem.SorguOndalik[colID] = 0;
                
    Sistem.SorguDeger[colID] = GV_Vol_Last;


                
    Sistem.SorguAciklama "Periyot: " Periyot " için değerler";
                
    Sistem.SorguEkle();
            }
            catch (
    Exception Ex)
            {
                
    string errorline "Message : " Ex.Message " Source : " Ex.Source " StackTrace : " Ex.StackTrace;
                
    Sistem.SorguAciklama errorline;
                
    Sistem.SorguEkle();
            }
        }
        else
        {
            
    Sistem.SorguAciklama "!!* Veri Alınamadı *!!";
            
    Sistem.SorguEkle();
        }




    (Uygulama güzel. Çok emek var. Ama bir kaç eleştiri: üstelik WPF bile değil yani.., uygulamanın UI özellikleri umarım daha da geliştirilecek)
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(17,2 ) : error CS1513: } bekleniyor
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(229, 1) : error CS1519: class, struct veya interface üyesi bildiriminde geçersiz 'return' belirteci
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(229, 14) : error CS1519: class, struct veya interface üyesi bildiriminde geçersiz ';' belirteci
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(231, 1) : error CS0116: Ad alanı, alanlar veya yöntemler gibi üyeleri doğrudan içeremez
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(237, 1) : error CS1022: Tür veya ad alanı tanımı ya da dosya sonu bekleniyor
    c:\Users\RDX\AppData\Local\Temp\mcg43qlx.0.cs(238, 1) : error CS1022: Tür veya ad alanı tanımı ya da dosya sonu bekleniyor
    hatalar var

  2. #4642
    Tüm kodları göndermezseniz; daha önce bir kaç arkadaşın size yazdığı cevaplardan öte; sadece bu hata mesajlarıyla sorun çözülemez sanki.

    Bunu kullanıyorsanız eğer..

    public void QUERY_COMPLETE_DATA()
    {
    //ARADAKİLER DURACAK
    }

    public void ile başlayan, onun hemen altındaki süslü parantez ve en alttaki süslü parantez.. bu üç satırı kaldırıp deneyin
    Teknikte zorlama yoktur..

  3. // MA

    var V = Sistem.GrafikVerileri ;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    var H = Sistem.GrafikFiyatOku(V, "Yuksek" ) ;
    var L = Sistem.GrafikFiyatOku(V, "Dusuk" ) ;
    var O = Sistem.GrafikFiyatOku(V, "Acilis" ) ;
    var close = Sistem.GrafikFiyatSec("Kapanis");



    var İND1 = Sistem.MA(2, "Simple", "Kapanis");
    var İND2 = Sistem.MA(5, "Simple", "Kapanis");




    // strateji
    var SonYon = "";


    for (int i = 1 ; i < Sistem.BarSayisi; i++)

    {


    if ( İND1[i] > İND2[i] && SonYon != "A")



    {
    SonYon = "A";
    Sistem.Yon[i] = "A";
    }



    else if ( İND1[i] < İND2[i] && SonYon != "F")



    {
    SonYon = "F";
    Sistem.Yon[i] = "F";
    }
    }

    // ÇİZGİLER





    Sistem.Cizgiler[0].Deger = İND1; //
    Sistem.Cizgiler[1].Deger = İND2; //
    Bu basit kodun sadece 2 defa işlem yapsın. 1. sinyalde alış yapsın.2 sinyalde flata geçsin. Başka sinyal üretmesin istiyorum. Nasıl bir ilave yapılması lazım.

  4. #4644
     Alıntı Originally Posted by NASDAQQ Yazıyı Oku
    Sistem tanımlarına formülü kopyala yapıştır yazıp isim verip kaydettim sonra sorgudan dip zirve buldum ve tarattım bütün periyotlarda denedim hicbirşey cıkmadı ben mi yanlış yapıyorum yardımcı olurmusunuz teşekkür ederim
    bu sorgu çalışmıyor

  5. #4645
    teşekkür ederim iyi çalışıyor. Elinize sağlık.

  6. #4646
    teşekkür ederim.

  7. #4647
    doyayı indiremiyorum. Bunu açık kod olarak yapıştırabilir misiniz.

  8. #4648
     Alıntı Originally Posted by sonli Yazıyı Oku
    Örnek olması açısından benzerini yazdım, kendinize göre düzenleyebilirsiniz..

    PHP Code:
    var Sistem.BarSayisi-1//son bar
    var Sistem.GrafikFiyatSec("Kapanis");

    var 
    RSI Sistem.RSI(14); // rsi değeri
    var aRSI Sistem.MA(RSI"Exp"9); //rsi ortalaması

    var MACD Sistem.MACD(1226);
    var 
    aMACD Sistem.MA(MACD"Exp"9);

    // filtrele
    //macd ve rsi ortalamalarını yukarı kesmiş ve rsi 50 den büyük hisseler 
    if ( MACD[i] > aMACD[i] && RSI[i] > aRSI[i] && RSI[i]>50  )
    {
    //BAŞLIKLAR
    Sistem.SorguAciklamaGenislik 100;
    Sistem.SorguBaslik[0] = "Kapanış";
    Sistem.SorguOndalik[0] = 2;
    Sistem.SorguBaslik[1] = "RSI";
    Sistem.SorguOndalik[1] = 1;
    Sistem.SorguBaslik[2] = "ortRSI";
    Sistem.SorguOndalik[2] = 1;
    Sistem.SorguBaslik[3] = "MACD";
    Sistem.SorguBaslik[4] = "ortMACD";
    Sistem.SorguBaslik[5] = "%(son 10 bar)";
    Sistem.SorguOndalik[5] = 1;
    ///DEĞERLER
    Sistem.SorguDeger[0] = C[i];
    Sistem.SorguDeger[1] = RSI[i];
    Sistem.SorguDeger[2] = aRSI[i];
    Sistem.SorguDeger[3] = MACD[i];
    Sistem.SorguDeger[4] = aMACD[i];
    Sistem.SorguDeger[5] = (100*(C[i]-C[i-10])/C[i]);//Sistem.PriceRocPercent(10);

    //Açıklama kısmındaki bilgiyi ve renkleri RSI değerine göre değiştirelim
    var bilgi ""

     if ( 
    RSI[i]<65  ) {
    bilgi "ALIM";
        
    Sistem.SorguZeminRengi Color.Green
        
    Sistem.SorguYaziRengi Color.White;
     
    } else if ( 
    RSI[i]>70  ) {
    bilgi "AŞIRI ALIM";
        
    Sistem.SorguZeminRengi Color.Orange
        
    Sistem.SorguYaziRengi Color.White;
     
    }

    if ( 
    RSI[i]>80  ) {
    bilgi "Çok Aşırı :)) ";
        
    Sistem.SorguZeminRengi Color.Red
        
    Sistem.SorguYaziRengi Color.White
    }


    //rsi 65 den küçükse SorguDeger[1] zemini yeşil olsun
    if (RSI[i] < 65Sistem.SorguHucreZeminRengi[1] = Color.Green;
    //ama rsi 80 den büyükse SorguDeger[1] zemini yeşil olsun
    else if (RSI[i] > 80Sistem.SorguHucreZeminRengi[1] = Color.Red;

    //zemin, sorgu değer 5 > 0 ise yeşil, değilse kırmızı olsun..
    if (Sistem.SorguDeger[5] > 0Sistem.SorguHucreZeminRengi[5] = Color.Green;
    else 
    Sistem.SorguHucreZeminRengi[5] = Color.Red;
    //sorgu değer 5 yazı rengini değiştirelim
    Sistem.SorguHucreYaziRengi[5] = Color.Silver;


    Sistem.SorguAciklama bilgi;

       
    Sistem.SorguEkle();

    teşekkür ederim. Bu ay idealdata aldım baktım ki sorgu yapmak için kod lazım. Kodlama da bilmiyoruz. Arkadaş sağ olsun idealdata versiyonunu açmış algo açsa belki kodlama işine bukadar merak sarmıyacaktım. Teşekkür mü etsem etmesem mi bilemedim.

Sayfa 581/593 İlkİlk ... 81481531571579580581582583591 ... 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
  •