Artan
Azalan
Ýþlem
BIST 30
BIST 50
BIST 100
NASDAQ 100
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
27,50 10% 100,59 Mn 23,70 / 27,50
67,65 10% 515,04 Mn 61,70 / 67,65
11,00 10% 3,88 Mn 9,80 / 11,00
1,65 10% 54,88 Mn 1,52 / 1,65
14,75 9.99% 88,63 Mn 13,54 / 14,75
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
10,53 -10% 2,12 Mr 10,53 / 11,55
20,40 -9.97% 202,36 Mn 20,40 / 23,86
402,25 -9.96% 524,05 Mn 402,25 / 448,00
260,25 -9.95% 1,61 Mr 260,25 / 283,50
4,58 -9.84% 46,70 Mn 4,58 / 4,58
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
325,00 0.46% 12,23 Mr 319,00 / 326,25
3,16 6.4% 11,83 Mr 2,98 / 3,20
135,00 8.09% 10,01 Mr 118,60 / 135,00
221,50 6.54% 9,91 Mr 209,00 / 225,00
269,00 2.28% 7,40 Mr 266,00 / 272,50
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
19,11 -0.47% 829,86 Mn 18,66 / 19,26
77,90 -1.7% 7,25 Mr 77,60 / 79,15
392,00 -1.13% 7,21 Mr 390,25 / 404,50
221,50 6.54% 9,91 Mr 209,00 / 225,00
760,00 -0.39% 2,81 Mr 747,00 / 761,50
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
19,11 -0.47% 829,86 Mn 18,66 / 19,26
77,90 -1.7% 7,25 Mr 77,60 / 79,15
93,00 0.65% 539,82 Mn 91,90 / 93,65
117,20 1.74% 879,06 Mn 112,40 / 119,90
392,00 -1.13% 7,21 Mr 390,25 / 404,50
Hisse Fiyat Fark% Hacim (TL) Düþük / Yüksek
19,11 -0.47% 829,86 Mn 18,66 / 19,26
31,04 -0.83% 136,84 Mn 30,50 / 31,30
77,90 -1.7% 7,25 Mr 77,60 / 79,15
10,67 2.69% 200,26 Mn 10,40 / 10,71
81,25 2.85% 499,08 Mn 79,05 / 81,60

Masrafsýz Bankacýlýk + 1.000 TL Nakit! Enpara’dan Çifte Avantaj

Masrafsýz Bankacýlýk + 1.000 TL Nakit! Enpara’dan Çifte Avantaj
Sayfa 129/626 ÝlkÝlk ... 2979119127128129130131139179229 ... SonSon
Arama sonucu : 5007 madde; 1,025 - 1,032 arasý.

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

  1.  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);
    Teþekkür Ederim Sn. Andromeda,bu haliyle oldu......

  2. Yeni moda uzun barlar oldu , terse kalmamak neredeyse imkansizlasti , 2 yildir batiramadiz bu sefer batirinda sizde kurtulun bende , hisse piyasasinin gözünü seveyim 6 aydir piyasa yatay olsada bilanco odakli bir seyler kazandik

  3.  Alýntý Originally Posted by oralet Yazýyý Oku
    Yeni moda uzun barlar oldu , terse kalmamak neredeyse imkansizlasti , 2 yildir batiramadiz bu sefer batirinda sizde kurtulun bende , hisse piyasasinin gözünü seveyim 6 aydir piyasa yatay olsada bilanco odakli bir seyler kazandik
    :D

    Senin almaya cesaret edemediðin riskleri alanlar, senin yaþamak istediðin hayatý yaþarlar..
    Sokrates twit @erhanacikgoz1

  4. Merhabalar,
    Grafik üzerinde beliren al ve sat sembolleri, Sistem.Yon fonksiyonun aldığı ( "A" ,"F" yada "S") değeri sonucu , sinyal gelen ilgili barın Açılış, Yüksek, Düşük ve Kapanış değerlerini yansıtacak şekilde çalışıyor. Acaba Alış yada Satış koşulu gerçekleşirken döngü içerisinde kullanıcının atadığı değer grafik ve performans tablosuna yazdırabilir ve sistem getirisi hesaplanırken bu değerler baz alınabilir mi?
    Gerçekte bu senaryo böyle olmayabilir tabii netleştirmek adına kısaca bir örnek vereyim;

    Daha önce belirledğim bir seviye olan 144.000 seviyesi için alım yapacağım.

    1.Koşul; Close[i-2] , M.Avg20[i-2] kesişimi olsun. Yani kapanış ortalamanın üstünde olsun.
    2.Koşul: Bir sonraki barın Yükseği ( High [i-1] ), örn 144.000 seviyesini geçmiş ise 144.025 den bekledğim seviyenin geldiğini ve alım yapıldığını varsayalım.
    Bu son barın datalarıda ;
    Open:143.200
    High:144.500
    Low: 142.100
    Close:144.450 şekline bitmiş olsun.

    Şimdi Grafikte işlem sonrası Alış okunun yanındaki çizgi kapanıştan yani 144.450'den belirdi ve Perf. tablosuna alış değeri 144.450 olarak geçti...
    Sorum;
    Geriye dönük testler sırasında, Grafik üzerinde ve performans tablosunda, alım yaptığımı varsaydığım 144.025 seviyesini nasıl gösterebilir ve hesapları buna göre yaptırabilirm. Bunun mümkünatı var mıdır?

    Yada sizce çözüm bu alım satım seviyelerini dışarıya yazdırıp orada kendimizin mi hesaplatmasıdır?

    Fikirleriniz için şimdiden teşekkür ederim.

  5. #1029
    Duhul
    Feb 2017
    Ýkamet
    Eskiþehir / Duhul 2007
    Yaş
    55
    Gönderi
    5,415
    Grafik üzerinde ve performans tablosunda, alým yaptýðýmý varsaydýðým 144.025 seviyesini nasýl gösterebilir ve hesaplarý buna göre yaptýrabilirm. Bunun mümkünatý var mýdýr?
    2 ortalamanýn kesiþimi geçicide olasa gerçekleþtiði anda (repaint olabilir) fiyatý Sistem.Seviye[i] = Fiyat ; atayabilirsiniz.

    anlýk iþlem robotu kullanarakta bu iþlemleri isterseniz bar kapanýþý beklemeden yaptýrabilirsiniz.

    PHP Code:
    ///Sezai bey
    /*
    Bu robot kalýbý, tek satýr fonsiyonundan daha yararlý bazý özelliklere de sahiptir.
    "Þu saatten sonra emir ilet", "þu saatte pozisyonu" kapat gibi..
    Kodun içine sisteminizin adýný ve kullandýðýnýz periyodu yazýp kullanabilirsiniz.

    Not: Gün sonu pozisyonu kapat kýsmýný istemiyorsanýz kýrmýzý yaptýðým bloðu silebilirsiniz.
    */

    var LotSize 1.0;

    var 
    MySistem Sistem.SistemGetir("sisteminizin adý ""VIP'VIP-X030""15");  //Sisteminizin adý, grafik sembolünüz, periyot
    if (MySistem == null
    {
       
    Sistem.Mesaj("Sistem Dosyasý Okunamadý !");
    }
    else
    {
       var 
    EmirSembol Sistem.AktifViopKontrat;
       var 
    Pozisyon Sistem.PozisyonKontrolOku(Sistem.Name " , " EmirSembol);
       var 
    SonYon "";
       for (
    int i 0MySistem.Yon.Counti++)
       {
          if (
    MySistem.Yon[i] != "")
             
    SonYon MySistem.Yon[i];
       }

       
    // Emir Miktarýný Hesapla
      
    var Miktar 0.0;
       if (
    Sistem.Saat.CompareTo("09:30:00") <= 0)  // Seans Baþlamadý iþlem yapma
       
    {
       }
    /*
      else if (Sistem.Saat.CompareTo("18:14:59") >= 0)  // Gün Sonu Pozisyonu Kapat
       {
          if (Pozisyon != 0)
             Miktar = -Pozisyon;
       }
    */
       
    else if (SonYon == "F" && Pozisyon != 0)  // Flata Geç
          
    Miktar = -Pozisyon;
       else if (
    SonYon == "A" && Pozisyon != LotSize)  // Al
          
    Miktar LotSize Pozisyon;
       else if (
    SonYon == "S" && Pozisyon != -LotSize)  // Sat
          
    Miktar = -LotSize Pozisyon;

       
    // Emir Gönder
       
    var Islem "";
       if (
    Miktar 0)
          
    Islem "ALIS";
       if (
    Miktar 0)
          
    Islem "SATIS";
       if (
    Islem != "")
       {
             
    Sistem.PozisyonKontrolGuncelle(Sistem.Name " , " EmirSembolMiktar Pozisyon);
             
    Sistem.EmirSembol EmirSembol;
             
    Sistem.EmirIslem Islem
             
    Sistem.EmirMiktari Math.Abs(Miktar);
             
    Sistem.EmirSuresi "GUN"// GUN, SNS, IKG
             
    Sistem.EmirTipi "KPY"// KPY, KIE, GIE, SAR
             
    Sistem.EmirFiyatTipi "PYS"// PYS, LMT, EIF, KAP
             
    Sistem.EmirGonder();
       }

    Bear_Bull
    @BearBull26

  6.  Alýntý Originally Posted by Bear_Bull Yazýyý Oku
    2 ortalamanýn kesiþimi geçicide olasa gerçekleþtiði anda (repaint olabilir) fiyatý Sistem.Seviye[i] = Fiyat ; atayabilirsiniz.

    anlýk iþlem robotu kullanarakta bu iþlemleri isterseniz bar kapanýþý beklemeden yaptýrabilirsiniz.

    [/php]
    Çok teşekkür ederim Sayın BearBull

  7. #1031
    Duhul
    Feb 2017
    Ýkamet
    afyonkarahisar
    Gönderi
    794




    var C = Sistem.GrafikFiyatSec("Kapanis");
    var DP = Sistem.DirectionalIndicatorPlus(13);
    var DM = Sistem.DirectionalIndicatorMinus(13);
    var ADX = Sistem.ADX(8);

    Sistem.Cizgiler[0].Deger = DP ;
    Sistem.Cizgiler[1].Deger = DM;
    Sistem.Cizgiler[2].Deger = Sistem.ADX(8);
    Sistem.Cizgiler[3].Deger = Sistem.Liste(25F);
    Sistem.Cizgiler[4].Deger = Sistem.Liste(15F);
    Sistem.Cizgiler[5].Deger = Sistem.Liste(15F);
    Sistem.Cizgiler[6].Deger = Sistem.Liste(15F);


    var SonYon="";
    float Fiyat = 0.0f;
    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
    if (DP[i] > DM[i] && ADX[i] >= 25 && SonYon != "A")
    {
    Sistem.Yon[i] = "A";
    SonYon="A";
    Fiyat = C[i];
    //Sistem.Ses();
    }
    else if (DP[i] < DM[i] && ADX[i] >= 25 && SonYon != "S")
    {
    Sistem.Yon[i] = "S";
    SonYon="S";
    Fiyat = C[i];
    //Sistem.Ses();
    }
    }

    Sistem.StopVeyaKarFlatYuzde(0.5,0);

  8. #1032
    arkadaslar selam,

    yeni bir indikator yazdim, sonuc bar seklinde yeni bir panelde cikiyor. yukselen/dusen barlari farkli renkte boyamak istiyorum, kirmizi-yesil gibi.

    bu islemi kolay bir sekilde yapabilirmiyim?

Sayfa 129/626 ÝlkÝlk ... 2979119127128129130131139179229 ... 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
  •