Sayfa 133/595 İlkİlk ... 3383123131132133134135143183233 ... SonSon
Arama sonucu : 4754 madde; 1,057 - 1,064 arası.

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

  1.  Alıntı Originally Posted by oralet Yazıyı Oku
    Bir kaç indikatör den tek indikatör olusturup onunla sorgu yaparakta sizde bir puanlama yapabilirsiniz

    olusturma ornegi surada vardi :

    https://uzunvade.blogspot.com.tr/201...olusturma.html
    Sayın Oralet.

    Teşekkür ederim.

  2. herkese merhabalar,bol kazançlar arkadaşlar....bir kaç sayfa önce çoklu sistem birleştiren aşağıdaki kod paylaşılmıştı.bu kodu tek bir sistem gibi tek satırlık robot olarak kullanırsak repaint yapar mı acaba?daha önceki sistem birleştirme örneklerinde repainte maruz kalıyorduk.buda repaint yapar mı?

    kod şöyleydi;
    Dictionary<string, float> Sistemler = new Dictionary<string, float>();

    Sistemler["S3"] = 1;
    Sistemler["S5"] = 1;
    Sistemler["S6"] = 2;
    Sistemler["S7"] = 1;
    Sistemler["S9"] = 1;





    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis");


    for (int i = 300; i < V.Count; i++)
    {
    if (V[i].Date.Month != V[i - 1].Date.Month)
    Sistem.DikeyCizgiEkle(i, Color.DimGray, 2, 2);
    }


    var SonPozDictionary = new Dictionary<string, int>();

    // pozisyon hesapla
    var PozList = Sistem.Liste(0);
    foreach (var item in Sistemler)
    {
    var SembolSistem = Sistem.SistemGetir(item.Key, Sistem.Sembol, "1");
    if (SembolSistem == null) continue;

    var SonPozStr = "";
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (SembolSistem.Yon[i]!="")
    {
    SonPozStr = SembolSistem.Yon[i];
    break;
    }
    }
    int SonPozLot = 0;
    if (SonPozStr == "A")
    SonPozLot = Convert.ToInt32(item.Value);
    else if (SonPozStr == "S")
    SonPozLot = -Convert.ToInt32(item.Value);
    SonPozDictionary[item.Key] = SonPozLot;


    float Poz = 0;
    for (int i = 0; i < V.Count; i++)
    {
    if (SembolSistem.Yon[i] == "A")
    Poz = item.Value;
    else if (SembolSistem.Yon[i] == "S")
    Poz = -item.Value;
    else if (SembolSistem.Yon[i] == "F")
    Poz = 0;

    PozList[i] += Convert.ToInt32(Poz);
    }
    }
    Sistem.Cizgiler[0].Deger = PozList;
    Sistem.Cizgiler[1].Deger = Sistem.Liste(0);
    Sistem.DolguEkle(0, 1, Color.FromArgb(120, 0, 255, 0), Color.FromArgb(120, 255, 0, 0));

    int Counter=0;
    foreach (var item in SonPozDictionary)
    {
    var RenkPoz = Color.Gold;
    if (item.Value > 0)
    RenkPoz = Color.LimeGreen;
    else if (item.Value < 0)
    RenkPoz = Color.Red;
    Counter++;
    Sistem.GradientYaziEkle(item.Key , 1, 30, 60 + Counter * 25, RenkPoz, RenkPoz, "Tahoma", 18);
    Sistem.GradientYaziEkle(" : " + Math.Abs(item.Value).ToString("0"), 1, 100, 60 + Counter * 25, RenkPoz, RenkPoz, "Tahoma", 18);
    }


    // al sat renklendir
    var SonYon = "";
    for (int i = 0; i < V.Count; i++)
    {
    if (PozList[i] > 0 && SonYon != "A")
    Sistem.Yon[i] = "A";
    else if (PozList[i] < 0 && SonYon != "S")
    Sistem.Yon[i] = "S";
    else if (PozList[i] == 0 && SonYon != "F")
    Sistem.Yon[i] = "F";

    if (Sistem.Yon[i] != "")
    SonYon = Sistem.Yon[i];
    }


    // kar zarar hesapla
    var Kasa = 0.0f;
    var KZList = Sistem.Liste(0);
    for (int i = 1; i < V.Count; i++)
    {
    if (PozList[i] != PozList[i - 1])
    Kasa += -(PozList[i] - PozList[i - 1]) * C[i];
    KZList[i] = Kasa + (PozList[i] * C[i]);
    }
    Sistem.Cizgiler[2].Deger = KZList;



    // yazılar
    Sistem.GradientYaziEkle(Sistem.Name, 1, 20, 30, Color.Gold, Color.Gold, "Tahoma", 30);
    //Sistem.GradientYaziEkle(DateTime.Now.ToString("dd/MMM/yyyy"), 1, 20, 80, Color.Gold, Color.Gold, "Tahoma", 30);
    //Sistem.GradientYaziEkle(KZList[KZList.Count - 1].ToString("0"), 1, 20, 130, Color.Gold, Color.Gold, "Tahoma", 30);



    var Sure = (DateTime.Now - V[0].Date).TotalDays / 30.4;

    // gün
    var DateGun = DateTime.Now.AddDays(-1);
    var DateGunBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date.Day <= DateGun.Day)
    {
    DateGunBarNo = i;
    break;
    }
    }
    var GetiriGun = Math.Round((KZList[KZList.Count - 1] - KZList[DateGunBarNo]) * 100, 1);

    // 1 ay
    var Date1Ay = DateTime.Now.AddDays(-30);
    var Date1AyBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date <= Date1Ay)
    {
    Date1AyBarNo = i;
    break;
    }
    }
    var Getiri1Ay = KZList[KZList.Count - 1] - KZList[Date1AyBarNo];

    // 2 ay
    var Date2Ay = DateTime.Now.AddDays(-60);
    var Date2AyBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date <= Date2Ay)
    {
    Date2AyBarNo = i;
    break;
    }
    }
    var Getiri2Ay = KZList[KZList.Count - 1] - KZList[Date2AyBarNo];

    // 3 ay
    var Date3Ay = DateTime.Now.AddDays(-90);
    var Date3AyBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date <= Date3Ay)
    {
    Date3AyBarNo = i;
    break;
    }
    }
    var Getiri3Ay = KZList[KZList.Count - 1] - KZList[Date3AyBarNo];

    // 6 ay
    var Date6Ay = DateTime.Now.AddDays(-180);
    var Date6AyBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date <= Date6Ay)
    {
    Date6AyBarNo = i;
    break;
    }
    }
    var Getiri6Ay = KZList[KZList.Count - 1] - KZList[Date6AyBarNo];

    // 12 ay
    var Date12Ay = DateTime.Now.AddDays(-365);
    var Date12AyBarNo = 0;
    for (int i = V.Count - 1; i > 0; i--)
    {
    if (V[i].Date <= Date12Ay)
    {
    Date12AyBarNo = i;
    break;
    }
    }
    var Getiri12Ay = KZList[KZList.Count - 1] - KZList[Date12AyBarNo];


    Sistem.GradientYaziEkle(Sure.ToString("0.0") + " Ay", 3, 10, 20, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(KZList[KZList.Count - 1].ToString("0.000"), 3, 180, 20, Color.Gold, Color.Gold, "Tahoma", 18);
    Sistem.GradientYaziEkle("30 Gün", 3, 10, 50, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(Getiri1Ay.ToString("0.000" ), 3, 180, 50, Color.Gold, Color.Gold, "Tahoma", 18);
    Sistem.GradientYaziEkle("60 Gün", 3, 10, 80, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(Getiri2Ay.ToString("0.000" ), 3, 180, 80, Color.Gold, Color.Gold, "Tahoma", 18);
    Sistem.GradientYaziEkle("90 Gün", 3, 10, 110, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(Getiri3Ay.ToString("0.000" ), 3, 180, 110, Color.Gold, Color.Gold, "Tahoma", 18);
    Sistem.GradientYaziEkle("180 Gün", 3, 10, 140, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(Getiri6Ay.ToString("0.000" ), 3, 180, 140, Color.Gold, Color.Gold, "Tahoma", 18);
    Sistem.GradientYaziEkle("Yıl", 3, 10, 170, Color.Silver, Color.Silver, "Tahoma", 18);
    Sistem.GradientYaziEkle(Getiri12Ay.ToString("0.000 "), 3, 180, 170, Color.Gold, Color.Gold, "Tahoma", 18);


    var Renk = Color.Gold;
    if (GetiriGun > 0)
    Renk = Color.LimeGreen;
    else if (GetiriGun < 0)
    Renk = Color.Red;
    Sistem.GradientYaziEkle("BU GÜN", 3, 10, 230, Renk, Renk, "Tahoma", 18);
    Sistem.GradientYaziEkle(GetiriGun.ToString("0.00") , 3, 180, 230, Renk, Renk, "Tahoma", 18);


    var SonPoz = PozList[PozList.Count - 1];
    Renk = Color.Gold;
    if (SonPoz > 0)
    Renk = Color.LimeGreen;
    else if (SonPoz < 0)
    Renk = Color.Red;
    Sistem.GradientYaziEkle("POZISYON", 3, 10, 260, Renk, Renk, "Tahoma", 18);
    Sistem.GradientYaziEkle(SonPoz.ToString("0"), 3, 180, 260, Renk, Renk, "Tahoma", 18);




  3.  Alıntı Originally Posted by murattan Yazıyı Oku
    herkese merhabalar,bol kazançlar arkadaşlar....bir kaç sayfa önce çoklu sistem birleştiren aşağıdaki kod paylaşılmıştı.bu kodu tek bir sistem gibi tek satırlık robot olarak kullanırsak repaint yapar mı acaba?daha önceki sistem birleştirme örneklerinde repainte maruz kalıyorduk.buda repaint yapar mı?
    Birleşik sistemin PozList Listesini, kapanmış olan en son bardaki değerine göre okutup kullanırsanız repaint yapmaz. (birleştirilen sistemleriniz de repaint yapmayan kodlardır diye varsayıyorum tabi)
    Tek yapmanız gereken değişiklik var PozList = Sistem.Liste(0) satırını var PozList = Sistem.SayiListesi; şeklinde değiştirmek.

    Bu durumda, aşağıdaki robot kodu, birleşik sistemi çağırır, kümüle pozisyon değerini ve yönü elde eder ve kendi pozisyonunu olması gereken pozisyona eşitleyecek şekilde emirler gönderir.

    Kod:
    var MySistem = Sistem.SistemGetir("BirlesikSistem", "VIP'VIP-X030", "5");
    if (MySistem == null)
    {
        Sistem.Mesaj("Sistem Dosyası Okunamadı !");
    }
    else
    {
        var EmirSembol = Sistem.AktifViopKontrat;
        var Pozisyon = Sistem.PozisyonKontrolOku(Sistem.Name + " , " + EmirSembol);
        var OlmasiGerekenPoz = MySistem.SayiListesi[MySistem.SayiListesi.Count - 1 - 1];
        // Emir Gönder
        if (OlmasiGerekenPoz != Pozisyon && Sistem.Saat.CompareTo("09:30:00") >= 0 && Sistem.Saat.CompareTo("18:14:59") <= 0)
        {
            var EmirMiktar = OlmasiGerekenPoz - Pozisyon;
            var Islem = (EmirMiktar > 0 ? "ALIS" : "SATIS");
            Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + EmirSembol, OlmasiGerekenPoz);
            Sistem.EmirSembol = EmirSembol;
            Sistem.EmirIslem = Islem;
            Sistem.EmirMiktari = Math.Abs(EmirMiktar);
            Sistem.EmirTipi = "Piyasa";
            Sistem.EmirSuresi = "KIE";
            Sistem.EmirGonder();
        }
    }

  4. #1061
    Arkadaşlar Rsi 14 > 50 ise alım rsi 14 < 50 ise satım yapacak ancak alımda 4 bar satım sinyalinde ise 2 bar sinyali geciktirecek .

    kodu yazabilcek varmı ?
    Ateşleri ateşlere katarak gel.. denizleri denizlere katarak.

  5. #1062
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    791
     Alıntı Originally Posted by EMLAK Yazıyı Oku
    Arkadaşlar Rsi 14 > 50 ise alım rsi 14 < 50 ise satım yapacak ancak alımda 4 bar satım sinyalinde ise 2 bar sinyali geciktirecek .

    kodu yazabilcek varmı ?

    var C = Sistem.GrafikFiyatSec("Kapanis");
    var rsi = Sistem.RSI(14);

    var SonYon="";
    float Fiyat = 0.0f;
    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    if (rsi[i] > 50 && SonYon != "A")

    {
    Sistem.Yon[i] = "A";
    SonYon="A";
    Fiyat = C[i+4];
    }

    else if (rsi[i]<50 && SonYon != "S")
    {
    Sistem.Yon[i] = "S"; // satış
    SonYon="S";
    Fiyat = C[i+2];
    }
    }
    Sistem.Cizgiler[0].Deger = Sistem.Liste(50F);
    Sistem.Cizgiler[1].Deger = Sistem.RSI(14);


    sayın emlak
    belki işinize yarayabilir
    sanal modda deneyin ama
    fazlaca acemiyim kod yazmada

  6. #1063
    teşekkürler alekss hocam. normalde matrikste c-2 yazarız ama burda + koyuyoruz demekki )
    Ateşleri ateşlere katarak gel.. denizleri denizlere katarak.

  7. #1064
    Duhul
    Feb 2017
    İkamet
    afyonkarahisar
    Gönderi
    791
     Alıntı Originally Posted by EMLAK Yazıyı Oku
    teşekkürler alekss hocam. normalde matrikste c-2 yazarız ama burda + koyuyoruz demekki )
    sayım emlak
    in*****n çok acemiyim kod yazmada
    yazdığım şey sizin istediğiniz şeymi inan bilmiyom
    geciktirmek hepimizin ortak sorunu ;)
    birşeyler yazdım ki c++ da kod yazmayı bilenler düzeltme yaparlar umarım
    saygılar

Sayfa 133/595 İlkİlk ... 3383123131132133134135143183233 ... 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
  •