Sayfa 138/593 İlkİlk ... 3888128136137138139140148188238 ... SonSon
Arama sonucu : 4739 madde; 1,097 - 1,104 arası.

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

  1. #1097
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,631
     Alıntı Originally Posted by stradivarius Yazıyı Oku
    abi cok aradim ama kullanicisembolleri ni dosyadan aramama ragmen bulamadim. menulerin altinda da endeks tanimlama var . bu kullanicisembolleri , sistem tanimlarinin yapildigi yer midir.
    resimde işaretledim

    Bear_Bull
    @BearBull26

  2.  Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    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();
        }
    }
     Alıntı Originally Posted by Andromeda Yazıyı Oku
    şu kod iş görebilir.
    VIOP 1 dakikalık grafik üzerinde çalıştırın.
    şu satırdan kopyalayıp istediğiniz kadar sistem ekleyebilirsiniz.
    ilk parametre sistem adı
    ikinci parametre periyot
    üçüncü parametre lot sayısı

    ParametreList.Add("S3 , 1, 1");


    Kod:
    var ParametreList = new List<string>();
    ParametreList.Add("S3 , 1, 1");
    ParametreList.Add("S5 , 1, 1");
    ParametreList.Add("S6 , 1, 2");
    ParametreList.Add("S7 , 1, 1");
    ParametreList.Add("S9 , 1, 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 SistemList = new List<string>();
    var PeriyotList = new List<string>();
    var LotList = new List<float>();
    for (int i = 0; i < ParametreList.Count; i++)
    {
        var FieldArray = ParametreList[i].Split(',');
        SistemList.Add(FieldArray[0].Trim());
        PeriyotList.Add(FieldArray[1].Trim());
        LotList.Add(Convert.ToSingle(FieldArray[2].Trim()));
    }
    
    
    var ViopData = Sistem.GrafikVerileri;
    var TarihDictionary = new Dictionary<DateTime, int>();
    for (int i = 0; i < ViopData.Count; i++)
        TarihDictionary[ViopData[i].Date] = i;
    
    // yön listelerini oluştur
    List<List<string>> Yonler = new List<List<string>>();
    //for (int i = 0; i < ParametreList.Count; i++)
    //    Yonler.Add(System.Linq.Enumerable.Repeat("", ViopData.Count).ToList());
    for (int i = 0; i < ParametreList.Count; i++)
    {
        var BosList = new List<string>();
        for (int j = 0; j < ViopData.Count; j++)
            BosList.Add("");
        Yonler.Add(BosList);
    }
    
    // yönleri bul
    for (int i = 0; i < ParametreList.Count; i++)
    {
        var SembolSistem = Sistem.SistemGetir(SistemList[i], Sistem.Sembol, PeriyotList[i]);
        if (SembolSistem == null) continue;
        for (int j = 0; j < SembolSistem.GrafikVerileri.Count; j++)
        {
            var Tarih = SembolSistem.GrafikVerileri[j].Date;
            if (TarihDictionary.ContainsKey(Tarih))
                Yonler[i][TarihDictionary[Tarih]] = SembolSistem.Yon[j];
        }
    }
    
    // pozisyon hesapla
    var SonPozDictionary = new Dictionary<string, int>();
    var PozList = Sistem.Liste(0);
    for (int i = 0; i < Yonler.Count; i++)
    {
        var SonPozStr = "";
        for (int j = V.Count - 1; j > 0; j--)
        {
            if (Yonler[i][j] != "")
            {
                SonPozStr = Yonler[i][j];
                break;
            }
        }
        int SonPozLot = 0;
        if (SonPozStr == "A")
            SonPozLot = Convert.ToInt32(LotList[i]);
        else if (SonPozStr == "S")
            SonPozLot = -Convert.ToInt32(LotList[i]);
        SonPozDictionary[SistemList[i]] = SonPozLot;
    
    
        float Poz = 0;
        for (int j = 0; j < V.Count; j++)
        {
            if (Yonler[i][j] == "A")
                Poz = LotList[i];
            else if (Yonler[i][j] == "S")
                Poz = -LotList[i];
            else if (Yonler[i][j] == "F")
                Poz = 0;
    
            PozList[j] += 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));
    
    // sistem son durumları yazdır
    int Counter = -1;
    foreach (var item in SonPozDictionary)
    {
        Counter++;
        var RenkPoz = Color.Gold;
        if (item.Value > 0)
            RenkPoz = Color.LimeGreen;
        else if (item.Value < 0)
            RenkPoz = Color.Red;
    
        Sistem.GradientYaziEkle(ParametreList[Counter], 1, 250, (Counter + 1) * 25, RenkPoz, RenkPoz, "Tahoma", 18);
        Sistem.GradientYaziEkle(" :   " + Math.Abs(item.Value).ToString("0"), 1, 450, (Counter + 1) * 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);
    Bu mantık ile diğer versiyonda denedim (Farklı periyotlara sahip sistemler) ancak başaramadım.. Yapılabilir mi acaba ??

  3. Yabancı payı bulunan hisselerdeki yabancı ve yerli takas oranını hisse bazlı grafik üzerinde görmek münkün mü?..

    Örnek olarak GARAN daki yabancı ve yerli takas oranını grafik üzerinde görmek... böylece hisselerdeki yabancı ve yerli değişimi daha rahat takip etmiş olurum... hatta biraz daha ucup kurumsal bazlı bakmak ( CITI,MERLL ) gibi..
    Yazdıklarım yatırım danışmanlığı kapsamında olmayıp doğacak kar veya zarardan sorumlu değilim...

  4. Merhaba

    Acaba binance ya da farklı coin sitelerindeki fiyatları ideale aktarmak mümkün mü? Tşkler

    SM-N910C cihazımdan hisse.net mobile app kullanarak gönderildi.

  5. Belki basit bir şey ama yapamadım. Değeri 0 olan toplam miktar adında bir değişkenim var emir gönderme şartı gerçekleştiğinde toplam miktarın o anki kademede bulunan miktar kadar her seferinde artmasını istiyorum.
    Yani diyelim ki belirlediğim
    alış fiyatı 5,05
    satış kademesinin aktif fiyatı 5,00
    Satış kademesinin aktif fiyatı 5,05 olana kadar aktif kademedeki miktar kadarını alıyorum. Aldığım miktarları Toplam miktar adında bir değişkende kümülatif olarak görmek istiyorum.
    Şimdiden teşekkür ederim.

  6.  Alıntı Originally Posted by tripharma Yazıyı Oku
    Belki basit bir şey ama yapamadım. Değeri 0 olan toplam miktar adında bir değişkenim var emir gönderme şartı gerçekleştiğinde toplam miktarın o anki kademede bulunan miktar kadar her seferinde artmasını istiyorum.
    Yani diyelim ki belirlediğim
    alış fiyatı 5,05
    satış kademesinin aktif fiyatı 5,00
    Satış kademesinin aktif fiyatı 5,05 olana kadar aktif kademedeki miktar kadarını alıyorum. Aldığım miktarları Toplam miktar adında bir değişkende kümülatif olarak görmek istiyorum.
    Şimdiden teşekkür ederim.
    Ufak bir örneğini aşağıda paylaştım asıl sonuca ulaşmak istediğim yer for döngüsünün içi.
    PHP Code:
    //Hisseleri Tanımlama
    var Spot_Hisse Sistem.Parametreler[0]; //Spot KRDMD
    // Derinlik Okutma
    var Spot_Derinlik Sistem.DerinlikVerisiOku(Spot_Hisse);
    // Alış Kademesi Fiyatını Tanımla
    int Spot_Hisse_AF Spot_Derinlik.Bids[0].Price;
    //Satış Kademesi Fiyatını Tanımla
    int Spot_Hisse_SF Spot_Derinlik.Asks[0].Price;
    //Alış Kademesindeki Miktarını Tanımla
    int Spot_Hisse_AM Spot_Derinlik.Bids[0].Size;
    //Satış Kademesindeki Miktarını Tanımla
    int Spot_Hisse_SM Spot_Derinlik.Asks[0].Size;
    //%21 Faizli Fiyatını Hesapla
    var YHAF Spot_Hisse_SF * (1+(0.09f/12));
    float FHAFD Sistem.SayiYuvarla(YHAF0.01);
    //%10 Faizli Fiyatını Hesapla
    var YHSF Spot_Hisse_AF * (1+(0.04f/12));
    float YHSFD Sistem.SayiYuvarla(YHSF,0.01);
    // Toplam Emir Miktarı Hesaplama
    // Toplam Satış Emir Miktarı Belirleme THSEM
    var THSEM 0.0;
    if ( 
    Hisse_AF <=YHAFD )
    {
    THSEM+= Hisse_AM;
    }
    // Toplam Alış Emir Miktarı Belirleme THAEM
    var THAEM 0.0;
    if (
    Hisse_AF >=YHAFD)
    {
    THAEM+= Hisse_SM;

    Son düzenleme : tripharma; 30-03-2018 saat: 15:25.

  7. Bu yazdığınız kodda, şu aşağıdaki değişkenleri ne ile gösterdiniz?
    alış fiyatı, Satış kademesinin aktif fiyatı, aktif kademe,toplam miktar

    Kod kısmında yardımcı olabilirim ama sistem nasıl çalışıyor çok anlamıyorum.
    Bahsettiğiniz kod şöyle bir şey
    PHP Code:
    toplamMiktar 0
    while ( satış kademesinin aktif fiyatı  alış fiyatı){
    emir.gönder
    toplamMiktar 
    += emir.miktar


  8.  Alıntı Originally Posted by Bayesian Yazıyı Oku
    Bu yazdığınız kodda, şu aşağıdaki değişkenleri ne ile gösterdiniz?
    alış fiyatı, Satış kademesinin aktif fiyatı, aktif kademe,toplam miktar

    Kod kısmında yardımcı olabilirim ama sistem nasıl çalışıyor çok anlamıyorum.
    Aslında yapmak istediğim şeyi nasıl yapabilceğimi anlatabilirsen gerisini ben yapabilirim belki. if döngüsünde ki şart her gerçekleştiğinde emir miktarı kadar eklemeyi toplam miktar adında bir değişkene eklesin istiyorum.
    Örneğin if döngüsünde ki şart gerçekleşti Pozisyon Kontrol 1 oldu
    emir miktarı = Satış kademesinde ki miktar (SM)
    Toplam Miktar= SM olsun
    Sonra tekrar if döngüsünde ki şart gerçekleşti pozisyon kontrol 2 oldu
    Toplam Miktar = SM + Satış kademesinde ki miktar (SM) olsun
    Bunu if döngüsüne ekleyemiyorum.

Sayfa 138/593 İlkİlk ... 3888128136137138139140148188238 ... 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
  •