Sayfa 305/593 İlkİlk ... 205255295303304305306307315355405 ... SonSon
Arama sonucu : 4738 madde; 2,433 - 2,440 arası.

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

  1.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    selam

    Idealde Saatlik periyotta imkb 30 da bulunan hisselerden dusen trendi kran hisselerin listesini cikarabilir mi? (Son 100 barda 10 bar haric sekilde trend cizdirilerek). Listede cikan hisseler icin bizim belirledigimiz kistasa gore (RSI>30) hisseleri secip robota al sat islemi nasil yaptirilabilir?

    sagolun...
    İdealgo nun yürüteceği stratejiyi yazdığını sistemlerle siz belirleyeceksiniz, idealgo çıkan sonuca göre hareket edecek. Herşeyi idealgoya yüklemeyin

  2.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    selam

    Idealde Saatlik periyotta imkb 30 da bulunan hisselerden dusen trendi kran hisselerin listesini cikarabilir mi? (Son 100 barda 10 bar haric sekilde trend cizdirilerek). Listede cikan hisseler icin bizim belirledigimiz kistasa gore (RSI>30) hisseleri secip robota al sat islemi nasil yaptirilabilir?

    sagolun...


    Kod:
    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 7;
    Semboller["IMKBH'GARAN"] = 9;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 13;
    Semboller["IMKBH'PGSUS"] = 15;
    Semboller["IMKBH'KCHOL"] = 17;
    Semboller["IMKBH'SAHOL"] = 19;
    
    
    var Mesaj = "";
    
    foreach (var item in Semboller)
    {
        var Sembol = item.Key;
        var SembolLot = item.Value;
        var Bars = Sistem.GrafikVerileriniOku(Sembol, "60");
        var DusenTrend = Sistem.OtoTrendDusen(Bars, 100, 10);
        var RSI = Sistem.RSI(Bars, 22);
        var SonFiyat = Sistem.SonFiyat(Sembol);
    
        var SonBarNo = Bars.Count - 1;
        Mesaj += "\r\n" + Sembol + ",  RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");
    
        if (Bars[SonBarNo].High > DusenTrend[SonBarNo] && RSI[SonBarNo] > 30)
        {
            // emir gönder
            var Anahtar = Sistem.Name + ", " + Sembol;
            double IslemFiyat = 0;
            DateTime IslemTarih;
            var Miktar = SembolLot;
            var Rezerv = "";
            var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
    
            if (Pozisyon == 0 && SembolLot > 0 && Sistem.Saat.CompareTo("10:00:05") >= 0 && Sistem.Saat.CompareTo("17:59:55") <= 0)
            {
                var Islem = "";
                Islem = "ALIS";
                Rezerv = "ALIŞ YAPILDI";
                Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar, SonFiyat, Rezerv);
                Sistem.EmirSembol = Sembol;
                Sistem.EmirIslem = Islem;
                Sistem.EmirSuresi = "KIE";
                Sistem.EmirTipi = "Piyasa";
                Sistem.EmirMiktari = Math.Abs(Miktar);
                Sistem.EmirAciklama = "Gerçekleşti";
                Sistem.EmirGonder();
            }
        }
    }
    
    Sistem.Mesaj(Mesaj);
    vahap beyaz, ahmet çakar ....

  3.  Alıntı Originally Posted by Tiberius Yazıyı Oku
    Kod:
    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 7;
    Semboller["IMKBH'GARAN"] = 9;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 13;
    Semboller["IMKBH'PGSUS"] = 15;
    Semboller["IMKBH'KCHOL"] = 17;
    Semboller["IMKBH'SAHOL"] = 19;
    
    
    var Mesaj = "";
    
    foreach (var item in Semboller)
    {
        var Sembol = item.Key;
        var SembolLot = item.Value;
        var Bars = Sistem.GrafikVerileriniOku(Sembol, "60");
        var DusenTrend = Sistem.OtoTrendDusen(Bars, 100, 10);
        var RSI = Sistem.RSI(Bars, 22);
        var SonFiyat = Sistem.SonFiyat(Sembol);
    
        var SonBarNo = Bars.Count - 1;
        Mesaj += "\r\n" + Sembol + ",  RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");
    
        if (Bars[SonBarNo].High > DusenTrend[SonBarNo] && RSI[SonBarNo] > 30)
        {
            // emir gönder
            var Anahtar = Sistem.Name + ", " + Sembol;
            double IslemFiyat = 0;
            DateTime IslemTarih;
            var Miktar = SembolLot;
            var Rezerv = "";
            var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
    
            if (Pozisyon == 0 && SembolLot > 0 && Sistem.Saat.CompareTo("10:00:05") >= 0 && Sistem.Saat.CompareTo("17:59:55") <= 0)
            {
                var Islem = "";
                Islem = "ALIS";
                Rezerv = "ALIŞ YAPILDI";
                Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar, SonFiyat, Rezerv);
                Sistem.EmirSembol = Sembol;
                Sistem.EmirIslem = Islem;
                Sistem.EmirSuresi = "KIE";
                Sistem.EmirTipi = "Piyasa";
                Sistem.EmirMiktari = Math.Abs(Miktar);
                Sistem.EmirAciklama = "Gerçekleşti";
                Sistem.EmirGonder();
            }
        }
    }
    
    Sistem.Mesaj(Mesaj);
    Robot olarak çalıştırın ve sanal modda test edin.
    vahap beyaz, ahmet çakar ....

  4. sorgunun kodunda hata yokmus , hata sorgu ismini rakamla baslattigim icin oluyormus.

     Alıntı Originally Posted by obblomovv Yazıyı Oku
    Benim görebildiğim kadarı ile sadece
    "
    var Son = C[j];
    var j=Sistem.BarSayisi-1;
    "

    j değişkenini kullanmadan önce tanımlarsanız sorun çözülecek...

    yani:
    "
    var j=Sistem.BarSayisi-1;
    var Son = C[j];
    "

  5. İdeAlgo sürümünde gördüğüm eksiklikleri buraya 2 ana başlıkta feedback olarak düşmek isterim.

    Basit ama bir okadar da önemli olan temel eksikler :

    1)İdeAlgo penceresinin büyütüp küçültülememesi, tam ekran yapılamaması özellikle opt sonuçlarını karşılaştırma açısından kısıtlayıcı
    2)Opt sonuçları "Getiri, işlem sayısı, profit factor vb. gibi parametre bazında küçükten büyüğe sıralanabilmeli
    3)Gösterilecek opt sonuçları için en iyi 30 sonuç değil de kullanıcının belirleyeceği adette sonuç gösterilebilmeli ve sonuçlar hem sistem içinde genel opt tarama sonuçları olarak kaydedilebilmeli hem de excele aktarılabilmeli.
    4)Lot miktarını belirlemek için S ikonu/Sistem Performansı penceresine gitmek gerekiyor, bunun yerine lot miktarı direk ideAlgo/Performans penceresinden de değiştirilebilmeli.
    5)İdeAlgo optimizasyon kısmından optimize ettiğim 3 parametreli sistemimi grafiğe uyguladığımda toplam işlem adetini grafikte, listedekinden 35-40 adet fazla gösteriyor, benden başka böyle bi problem yaşayan oldu mu bilmiyorum ama bi hata varmış gibi geldi bana.
    6)Sharpe Ratio ve Sortino Ratio performans metriklerine eklenmeli ve sistemin uygulandığı grafik üzerinde gösterilecek performans metrikleri de kullanıcı tarafından seçilebilmeli.

    İleri seviye eksikler :

    1)Sistem oluştururken belli koşullara göre lot arttırıp azaltmak sisteme dahil edilip backtest yapılamıyor, kompleks para yönetimi yok.
    2)Pay tarafında oluşturulan sinyaller bot üzerinden aynı hissenin vadelisine iletilebiliyor ama bunu backtestte test edemiyoruz, örneğin THYAO'da yazdığım bi sistemin verdiği sinyalleri VIP-THYAO'da göremiyorum.
    3)Optimizasyon kısmı için genetic algorithm ile walk-forward ve monte-carlo simülasyon yöntemlerinin olmaması büyük eksikler
    4)Optimizasyon sadece max. getiri parametresini maximize edecek şekilde değil de kullanıcının performans metriklerinden istediklerine verdiği puanlamaya göre optimize edebilmeli

  6. Sayin Tiberius, sagolun Hizir gibi yetistiniz.

    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 7;
    Semboller["IMKBH'GARAN"] = 9;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 13;
    Semboller["IMKBH'PGSUS"] = 15;
    Semboller["IMKBH'KCHOL"] = 17;
    Semboller["IMKBH'SAHOL"] = 19;

    burdaki numaralar rastgelemi yaziliyor yoksa IMKB de her hissenin bu sekilde bir numarasi mi var.



    Mesaj += "\r\n" + Sembol + ", RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");

    buradaki kodlama sadece ekrana msj yazilmasi icin midir?





     Alıntı Originally Posted by Tiberius Yazıyı Oku
    Robot olarak çalıştırın ve sanal modda test edin.
    Son düzenleme : Santi78; 21-05-2019 saat: 02:40.

  7. Herkese merhaba,

    var K = Sistem.MA(C, "Simple", 22);
    K = Sistem.Ref(K, -61);

    Bu kod için 61 bar değilde değişken olarak saat başına öteleme yapılabilir mi ? örnek olarak 1 dakikalıkta kullanırken 09:58 değeri 10:01 e ötelenecek, saat 10:00 da değer 11:01 e, 10:30 11:01 e gibi... süre bazlı geri sayan öteleme gibi.

  8.  Alıntı Originally Posted by Santi78 Yazıyı Oku
    Sayin Tiberius, sagolun Hizir gibi yetistiniz.

    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 7;
    Semboller["IMKBH'GARAN"] = 9;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 13;
    Semboller["IMKBH'PGSUS"] = 15;
    Semboller["IMKBH'KCHOL"] = 17;
    Semboller["IMKBH'SAHOL"] = 19;

    burdaki numaralar rastgelemi yaziliyor yoksa IMKB de her hissenin bu sekilde bir numarasi mi var.



    Mesaj += "\r\n" + Sembol + ", RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");

    buradaki kodlama sadece ekrana msj yazilmasi icin midir?
    Evet mesaj satırı gözlem yapmak amacıyla eklendi.
    Ancak kodda bir değişiklik yaptık. Trend oluşmamışsa kontrolu de ekledik.



    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 7;
    Semboller["IMKBH'GARAN"] = 9;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 13;
    Semboller["IMKBH'PGSUS"] = 15;
    Semboller["IMKBH'KCHOL"] = 17;
    Semboller["IMKBH'SAHOL"] = 19;


    var Mesaj = "";

    foreach (var item in Semboller)
    {
    var Sembol = item.Key;
    var SembolLot = item.Value;
    var Bars = Sistem.GrafikVerileriniOku(Sembol, "60");
    var DusenTrend = Sistem.OtoTrendDusen(Bars, 100, 10);
    var RSI = Sistem.RSI(Bars, 22);
    var SonFiyat = Sistem.SonFiyat(Sembol);

    var SonBarNo = Bars.Count - 1;
    Mesaj += "\r\n" + Sembol + ", RSI = " + RSI[SonBarNo].ToString("0.00") + ", Trend = " + DusenTrend[SonBarNo].ToString("0.00") + ", Son Fyt = " + SonFiyat.ToString("0.00");

    if (Bars[SonBarNo].High > DusenTrend[SonBarNo] && DusenTrend[SonBarNo] > 0 && RSI[SonBarNo] > 30)
    {
    // emir gönder
    var Anahtar = Sistem.Name + ", " + Sembol;
    double IslemFiyat = 0;
    DateTime IslemTarih;
    var Miktar = SembolLot;
    var Rezerv = "";
    var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);

    if (Pozisyon == 0 && SembolLot > 0 && Sistem.Saat.CompareTo("10:00:05") >= 0 && Sistem.Saat.CompareTo("17:59:55") <= 0)
    {
    var Islem = "";
    Islem = "ALIS";
    Rezerv = "ALIŞ YAPILDI";
    Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar, SonFiyat, Rezerv);
    Sistem.EmirSembol = Sembol;
    Sistem.EmirIslem = Islem;
    Sistem.EmirSuresi = "KIE";
    Sistem.EmirTipi = "Piyasa";
    Sistem.EmirMiktari = Math.Abs(Miktar);
    Sistem.EmirAciklama = "Gerçekleşti";
    Sistem.EmirGonder();
    }
    }
    }

    Sistem.Mesaj(Mesaj);
    vahap beyaz, ahmet çakar ....

Sayfa 305/593 İlkİlk ... 205255295303304305306307315355405 ... 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
  •