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 591/626 ÝlkÝlk ... 91491541581589590591592593601 ... SonSon
Arama sonucu : 5007 madde; 4,721 - 4,728 arasý.

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

  1. kolay gelsin aþaðýda ki kod çalýþmadý ve sorunun neden kaynakladýðýný bilmiyorum. yardýmcý olursanýz sevinirim.
    var bakiye = 100; // Baþlangýç bakiyesi
    var periyot = "1"; // Grafik periyodu

    var sozluk = new List<string>();
    sozluk.Add("IMKBH'YKBNK");
    sozluk.Add("IMKBH'GARAN");

    foreach (var sembol in sozluk)
    {
    var v = Sistem.GrafikVerileriniOku(sembol, periyot);
    var anahtar = Sistem.Name + ", " + sembol + ", " + periyot;

    // NADARAYA WATSON indikatörü parametreleri
    var length = 1000;
    var bandwidth = 17;
    var mult = 2.5;

    var y = Sistem.Liste(0);
    var down = Sistem.Liste(0);

    double sum_e = 0.0;
    for (int i = v.Count - length; i < v.Count; i++)
    {
    double sum = 0.0;
    double sumw = 0.0;
    for (int j = v.Count - length; j < v.Count - 1; j++)
    {
    double w = Math.Exp(-(Math.Pow(i - j, 2) / (bandwidth * bandwidth * 2)));
    sum += v[j] * w;
    sumw += w;
    }
    double y2 = sum / sumw;
    sum_e += (Math.Abs(v[i] - y2));
    y[i] = (float)y2;
    }
    double mae = sum_e / length * mult;
    for (int i = v.Count - length + 1; i < v.Count; i++)
    {
    double y2 = y[i];
    down[i] = (float)(y2 - mae);
    }

    // Alým yapýlan fiyatlarý ve miktarlarý saklamak için listeler oluþturun
    var alimFiyatlari = new List<double>();
    var alimMiktarlari = new List<int>();
    var karFiyatlari = new List<double>(); // Her alým için hedef kar fiyatýný saklar

    var sonFiyat = (decimal)Sistem.SonFiyat(sembol);

    for (int i = bandwidth; i < v.Count; i++)
    {
    // Alým koþulu: Fiyatýn alt bantý ihlal ettiði durumda alým yap
    if (sonFiyat < down[i] && sonFiyat > down[i - 1])
    {
    var alimFiyati = (double)sonFiyat;
    var alimMiktari = (int)Math.Floor((double)bakiye / alimFiyati); // Alýnacak miktarý hesapla
    alimFiyatlari.Add(alimFiyati);
    alimMiktarlari.Add(alimMiktari);

    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = alimFiyati;

    // Emri gönder
    Sistem.EmirMiktari = alimMiktari;
    var rezerv = "Alýþ yapýldý!";
    Sistem.EmirIslem = "Alýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, alimMiktari, (double)alimFiyati, rezerv);

    // Bakiyeden harcanan miktarý çýkar
    bakiye -= alimMiktari * (int)alimFiyati;

    // Hedef kar fiyatýný kaydet (%1 kar)
    karFiyatlari.Add(alimFiyati * 1.01);
    }

    // Satýþ koþulu: Alýnan miktarlarýn fiyatlarý yüzde 1 kar ile satýlsýn
    for (int j = 0; j < alimFiyatlari.Count; j++)
    {
    if (sonFiyat >= (decimal)(karFiyatlari[j]))
    {
    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = (double)sonFiyat;

    // Emri gönder
    Sistem.EmirMiktari = (int)alimMiktarlari[j];
    var rezerv = "Kar Alýndý!";
    Sistem.EmirIslem = "Satýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, 0, 0, rezerv);

    // Bakiyeye karý ekle
    bakiye += alimMiktarlari[j] * (int)sonFiyat;

    // Satýþ yapýlan alýmýn bilgilerini listelerden kaldýr
    alimFiyatlari.RemoveAt(j);
    alimMiktarlari.RemoveAt(j);
    karFiyatlari.RemoveAt(j);

    // Ýndeksi geri al
    j--;
    }
    }
    }
    }

  2. merhabalar robot koduna satýþ bölümünü nasýl ekleyebilirim, ma1<ma2 olunca satsýn istiyorum.
    var Semboller = new Dictionary<string, double>();
    Semboller["IMKBH'AKBNK"] = 5;
    Semboller["IMKBH'GARAN"] = 10;
    Semboller["IMKBH'YKBNK"] = 11;
    Semboller["IMKBH'SISE"] = 15;
    Semboller["IMKBH'PGSUS"] = 16;
    Semboller["IMKBH'KCHOL"] = 18;
    Semboller["IMKBH'SAHOL"] = 20;


    var Mesaj = "";

    foreach (var item in Semboller)
    {
    var Sembol = item.Key;
    var SembolLot = item.Value;
    var Bars = Sistem.GrafikVerileriniOku(Sembol, "60");
    var SonFiyat = Sistem.SonFiyat(Sembol);

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

    if (ASPyr[SonBarNo] >ww[SonBarNo] && ma1[SonBarNo] >=ma2[SonBarNo] && ma1[SonBarNo-1] <ma2[SonBarNo-1] )
    {
    // 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);

  3. @berlys
    Bu haline satýþ þartý eklenirse ayný barda mükerrer ve gereksiz al-sat yapar hale gelir, istediðinizin bu oluðunu sanmýyorum. Sinyal alýnacak barý sondan önceki bar haline getirmek çözüm olabilir. Ancak yeterli kod bilginiz yoksa ve eðer 5-10 milisaniye sizin için önemli deðilse Sistem ve robot kodunu ayrý sistemler olarak tasarlayýn. Zamanla robot kodunuzu geliþtirdikçe eklemeler yapacak ve tüm sistemlerinizde güvenle kullanýr hale geleceksiniz.

  4.  Alýntý Originally Posted by mahmutbir Yazýyý Oku
    kolay gelsin aþaðýda ki kod çalýþmadý ve sorunun neden kaynakladýðýný bilmiyorum. yardýmcý olursanýz sevinirim.
    var bakiye = 100; // Baþlangýç bakiyesi
    var periyot = "1"; // Grafik periyodu

    var sozluk = new List<string>();
    sozluk.Add("IMKBH'YKBNK");
    sozluk.Add("IMKBH'GARAN");

    foreach (var sembol in sozluk)
    {
    var v = Sistem.GrafikVerileriniOku(sembol, periyot);
    var anahtar = Sistem.Name + ", " + sembol + ", " + periyot;

    // NADARAYA WATSON indikatörü parametreleri
    var length = 1000;
    var bandwidth = 17;
    var mult = 2.5;

    var y = Sistem.Liste(0);
    var down = Sistem.Liste(0);

    double sum_e = 0.0;
    for (int i = v.Count - length; i < v.Count; i++)
    {
    double sum = 0.0;
    double sumw = 0.0;
    for (int j = v.Count - length; j < v.Count - 1; j++)
    {
    double w = Math.Exp(-(Math.Pow(i - j, 2) / (bandwidth * bandwidth * 2)));
    sum += v[j] * w;
    sumw += w;
    }
    double y2 = sum / sumw;
    sum_e += (Math.Abs(v[i] - y2));
    y[i] = (float)y2;
    }
    double mae = sum_e / length * mult;
    for (int i = v.Count - length + 1; i < v.Count; i++)
    {
    double y2 = y[i];
    down[i] = (float)(y2 - mae);
    }

    // Alým yapýlan fiyatlarý ve miktarlarý saklamak için listeler oluþturun
    var alimFiyatlari = new List<double>();
    var alimMiktarlari = new List<int>();
    var karFiyatlari = new List<double>(); // Her alým için hedef kar fiyatýný saklar

    var sonFiyat = (decimal)Sistem.SonFiyat(sembol);

    for (int i = bandwidth; i < v.Count; i++)
    {
    // Alým koþulu: Fiyatýn alt bantý ihlal ettiði durumda alým yap
    if (sonFiyat < down[i] && sonFiyat > down[i - 1])
    {
    var alimFiyati = (double)sonFiyat;
    var alimMiktari = (int)Math.Floor((double)bakiye / alimFiyati); // Alýnacak miktarý hesapla
    alimFiyatlari.Add(alimFiyati);
    alimMiktarlari.Add(alimMiktari);

    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = alimFiyati;

    // Emri gönder
    Sistem.EmirMiktari = alimMiktari;
    var rezerv = "Alýþ yapýldý!";
    Sistem.EmirIslem = "Alýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, alimMiktari, (double)alimFiyati, rezerv);

    // Bakiyeden harcanan miktarý çýkar
    bakiye -= alimMiktari * (int)alimFiyati;

    // Hedef kar fiyatýný kaydet (%1 kar)
    karFiyatlari.Add(alimFiyati * 1.01);
    }

    // Satýþ koþulu: Alýnan miktarlarýn fiyatlarý yüzde 1 kar ile satýlsýn
    for (int j = 0; j < alimFiyatlari.Count; j++)
    {
    if (sonFiyat >= (decimal)(karFiyatlari[j]))
    {
    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = (double)sonFiyat;

    // Emri gönder
    Sistem.EmirMiktari = (int)alimMiktarlari[j];
    var rezerv = "Kar Alýndý!";
    Sistem.EmirIslem = "Satýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, 0, 0, rezerv);

    // Bakiyeye karý ekle
    bakiye += alimMiktarlari[j] * (int)sonFiyat;

    // Satýþ yapýlan alýmýn bilgilerini listelerden kaldýr
    alimFiyatlari.RemoveAt(j);
    alimMiktarlari.RemoveAt(j);
    karFiyatlari.RemoveAt(j);

    // Ýndeksi geri al
    j--;
    }
    }
    }
    }
    Bu þekilde bende sorun gözükmüyor:


    var bakiye = 100; // Baþlangýç bakiyesi
    var periyot = "1"; // Grafik periyodu

    var sozluk = new List<string>();
    sozluk.Add("IMKBH'YKBNK");
    sozluk.Add("IMKBH'GARAN");

    foreach (var sembol in sozluk)
    {
    var v = Sistem.GrafikVerileriniOku(sembol, periyot);
    var C = Sistem.GrafikFiyatSec("Kapanis");

    var anahtar = Sistem.Name + ", " + sembol + ", " + periyot;

    // NADARAYA WATSON indikatörü parametreleri
    var length = 1000;
    var bandwidth = 17;
    var mult = 2.5;

    var y = Sistem.Liste(0);
    var down = Sistem.Liste(0);

    double sum_e = 0.0;
    for (int i = v.Count - length; i < v.Count; i++)
    {
    double sum = 0.0;
    double sumw = 0.0;
    for (int j = v.Count - length; j < v.Count - 1; j++)
    {
    double w = Math.Exp(-(Math.Pow(i - j, 2) / (bandwidth * bandwidth * 2)));
    sum += C[j] * w;
    sumw += w;
    }
    double y2 = sum / sumw;
    sum_e += (Math.Abs(C[i] - y2));
    y[i] = (float)y2;
    }
    double mae = sum_e / length * mult;
    for (int i = v.Count - length + 1; i < v.Count; i++)
    {
    double y2 = y[i];
    down[i] = (float)(y2 - mae);
    }

    // Alým yapýlan fiyatlarý ve miktarlarý saklamak için listeler oluþturun
    var alimFiyatlari = new List<double>();
    var alimMiktarlari = new List<int>();
    var karFiyatlari = new List<double>(); // Her alým için hedef kar fiyatýný saklar

    var sonFiyat = (float)Sistem.SonFiyat(sembol);

    for (int i = bandwidth; i < v.Count; i++)
    {
    // Alým koþulu: Fiyatýn alt bantý ihlal ettiði durumda alým yap
    if (sonFiyat < down[i] && sonFiyat > down[i - 1])
    {
    var alimFiyati = (double)sonFiyat;
    var alimMiktari = (int)Math.Floor((double)bakiye / alimFiyati); // Alýnacak miktarý hesapla
    alimFiyatlari.Add(alimFiyati);
    alimMiktarlari.Add(alimMiktari);

    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = alimFiyati;

    // Emri gönder
    Sistem.EmirMiktari = alimMiktari;
    var rezerv = "Alýþ yapýldý!";
    Sistem.EmirIslem = "Alýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, alimMiktari, (double)alimFiyati, rezerv);

    // Bakiyeden harcanan miktarý çýkar
    bakiye -= alimMiktari * (int)alimFiyati;

    // Hedef kar fiyatýný kaydet (%1 kar)
    karFiyatlari.Add(alimFiyati * 1.01);
    }

    // Satýþ koþulu: Alýnan miktarlarýn fiyatlarý yüzde 1 kar ile satýlsýn
    for (int j = 0; j < alimFiyatlari.Count; j++)
    {
    if (sonFiyat >= (float)(karFiyatlari[j]))
    {
    // emir parametreleri
    Sistem.EmirSembol = sembol;
    Sistem.EmirSuresi = "KIE"; // GUN, SNS, IKG // Kripto için GTC
    Sistem.EmirTipi = "Piyasa"; //
    Sistem.EmirFiyati = (double)sonFiyat;

    // Emri gönder
    Sistem.EmirMiktari = (int)alimMiktarlari[j];
    var rezerv = "Kar Alýndý!";
    Sistem.EmirIslem = "Satýþ";
    Sistem.EmirAciklama = rezerv;
    Sistem.EmirGonder();
    Sistem.PozisyonKontrolGuncelle(anahtar, 0, 0, rezerv);

    // Bakiyeye karý ekle
    bakiye += alimMiktarlari[j] * (int)sonFiyat;

    // Satýþ yapýlan alýmýn bilgilerini listelerden kaldýr
    alimFiyatlari.RemoveAt(j);
    alimMiktarlari.RemoveAt(j);
    karFiyatlari.RemoveAt(j);

    // Ýndeksi geri al
    j--;
    }
    }
    }
    }

  5. nadara watson repaint yapýyor bunu kullanmak sakýncalý olur ....
    ÝDEAL KOD YAZMADA YENÝYÝM........YOL GÖSTERMENÝZ YETERLÝDÝR TÞK...

  6. #4726
    Bar tamamlanmadan iþlem yapmak için;

    Periyot = 120 dakika olsun
    Periyot Kaç Zaman Dilimine Bölünecek = 15 dilim kabul edilsin

    120 dakika x 60 / 15 dilim = 480 saniye

    Bulunulan an
    günün ilk barýnda ilk 480 saniyelik dilimindeyse
    ya da
    her bir 120 dakikalýk barýn son 480 saniyelik dilimindeyse
    true deðer döndüren metod



    PHP Code:
            public static bool AlýmSatýmÝçinSaatDilimiUygun(string _Periyot)
            {                            
                try
                {
                    
    int PeriyotKaçZamanDilimineBölünecek 15;
                    
    int PeriyotKaçSaniyeSürüyor Araçlar.PeriyoduSaniyeyeÇevir(_Periyot);
                    if (
    PeriyotKaçSaniyeSürüyor <= 0)
                        return 
    false;

                    var 
    Yýl DateTime.Now.Year;
                    var 
    Ay DateTime.Now.Month;
                    var 
    Gün DateTime.Now.Day;
                    var 
    BugününÝþlemlerBaþlangýcý = new DateTime(YýlAyGün1000);

                    var 
    ÞuAn DateTime.Now;
                    if (
    ÞuAn BugününÝþlemlerBaþlangýcý)
                        return 
    false;

                    
    int PeriyotDilimiKaçSaniyeSürüyor 
                        (int)
    Math.Floor((double)PeriyotKaçSaniyeSürüyor / (double)PeriyotKaçZamanDilimineBölünecek);

                    var 
    GününÝlkDilimi BugününÝþlemlerBaþlangýcý.AddSeconds((double)PeriyotDilimiKaçSaniyeSürüyor);

                    if (
    ÞuAn <= GününÝlkDilimi)
                        return 
    true;

                    var 
    ÝkiGünÖncesininÝþlemlerBaþlangýcý BugününÝþlemlerBaþlangýcý.AddDays(-2);

                    
    double ÝkiGünÖncesininÝþlemlerBaþlangýcýndanSonraGeçenSaniye 
                        
    ÞuAn.Subtract(ÝkiGünÖncesininÝþlemlerBaþlangýcý).TotalSeconds;
                    
                    
    int KaçTamPeriyotGeçti 
                        (int)
    Math.Floor((double)(ÝkiGünÖncesininÝþlemlerBaþlangýcýndanSonraGeçenSaniye PeriyotKaçSaniyeSürüyor));

                    
    int PeriyodunTamamlanmasýnaKaçSaniyeKaldý 
                        (int)((
    KaçTamPeriyotGeçti 1) * PeriyotKaçSaniyeSürüyor ÝkiGünÖncesininÝþlemlerBaþlangýcýndanSonraGeçenSaniye);

                    if (
    PeriyodunTamamlanmasýnaKaçSaniyeKaldý <= PeriyotDilimiKaçSaniyeSürüyor)
                        return 
    true;
                    return 
    false;
                }
                catch { return 
    false; }
            } 

  7.  Alýntý Originally Posted by bymehmet Yazýyý Oku
    @berlys
    Bu haline satýþ þartý eklenirse ayný barda mükerrer ve gereksiz al-sat yapar hale gelir, istediðinizin bu oluðunu sanmýyorum. Sinyal alýnacak barý sondan önceki bar haline getirmek çözüm olabilir. Ancak yeterli kod bilginiz yoksa ve eðer 5-10 milisaniye sizin için önemli deðilse Sistem ve robot kodunu ayrý sistemler olarak tasarlayýn. Zamanla robot kodunuzu geliþtirdikçe eklemeler yapacak ve tüm sistemlerinizde güvenle kullanýr hale geleceksiniz.
    Cevabýnýz için çok teþekkür ederim.

  8.  Alýntý Originally Posted by fasem Yazýyý Oku
    bu þekilde bende sorun gözükmüyor:


    Var bakiye = 100; // baþlangýç bakiyesi
    var periyot = "1"; // grafik periyodu

    var sozluk = new list<string>();
    sozluk.add("ýmkbh'ykbnk");
    sozluk.add("ýmkbh'garan");

    foreach (var sembol in sozluk)
    {
    var v = sistem.grafikverilerinioku(sembol, periyot);
    var c = sistem.grafikfiyatsec("kapanis");

    var anahtar = sistem.name + ", " + sembol + ", " + periyot;

    // nadaraya watson indikatörü parametreleri
    var length = 1000;
    var bandwidth = 17;
    var mult = 2.5;

    var y = sistem.liste(0);
    var down = sistem.liste(0);

    double sum_e = 0.0;
    for (int i = v.count - length; i < v.count; i++)
    {
    double sum = 0.0;
    double sumw = 0.0;
    for (int j = v.count - length; j < v.count - 1; j++)
    {
    double w = math.exp(-(math.pow(i - j, 2) / (bandwidth * bandwidth * 2)));
    sum += c[j] * w;
    sumw += w;
    }
    double y2 = sum / sumw;
    sum_e += (math.abs(c[i] - y2));
    y[i] = (float)y2;
    }
    double mae = sum_e / length * mult;
    for (int i = v.count - length + 1; i < v.count; i++)
    {
    double y2 = y[i];
    down[i] = (float)(y2 - mae);
    }

    // alým yapýlan fiyatlarý ve miktarlarý saklamak için listeler oluþturun
    var alimfiyatlari = new list<double>();
    var alimmiktarlari = new list<int>();
    var karfiyatlari = new list<double>(); // her alým için hedef kar fiyatýný saklar

    var sonfiyat = (float)sistem.sonfiyat(sembol);

    for (int i = bandwidth; i < v.count; i++)
    {
    // alým koþulu: Fiyatýn alt bantý ihlal ettiði durumda alým yap
    if (sonfiyat < down[i] && sonfiyat > down[i - 1])
    {
    var alimfiyati = (double)sonfiyat;
    var alimmiktari = (int)math.floor((double)bakiye / alimfiyati); // alýnacak miktarý hesapla
    alimfiyatlari.add(alimfiyati);
    alimmiktarlari.add(alimmiktari);

    // emir parametreleri
    sistem.emirsembol = sembol;
    sistem.emirsuresi = "kýe"; // gun, sns, ýkg // kripto için gtc
    sistem.emirtipi = "piyasa"; //
    sistem.emirfiyati = alimfiyati;

    // emri gönder
    sistem.emirmiktari = alimmiktari;
    var rezerv = "alýþ yapýldý!";
    sistem.emirýslem = "alýþ";
    sistem.emiraciklama = rezerv;
    sistem.emirgonder();
    sistem.pozisyonkontrolguncelle(anahtar, alimmiktari, (double)alimfiyati, rezerv);

    // bakiyeden harcanan miktarý çýkar
    bakiye -= alimmiktari * (int)alimfiyati;

    // hedef kar fiyatýný kaydet (%1 kar)
    karfiyatlari.add(alimfiyati * 1.01);
    }

    // satýþ koþulu: Alýnan miktarlarýn fiyatlarý yüzde 1 kar ile satýlsýn
    for (int j = 0; j < alimfiyatlari.count; j++)
    {
    if (sonfiyat >= (float)(karfiyatlari[j]))
    {
    // emir parametreleri
    sistem.emirsembol = sembol;
    sistem.emirsuresi = "kýe"; // gun, sns, ýkg // kripto için gtc
    sistem.emirtipi = "piyasa"; //
    sistem.emirfiyati = (double)sonfiyat;

    // emri gönder
    sistem.emirmiktari = (int)alimmiktarlari[j];
    var rezerv = "kar alýndý!";
    sistem.emirýslem = "satýþ";
    sistem.emiraciklama = rezerv;
    sistem.emirgonder();
    sistem.pozisyonkontrolguncelle(anahtar, 0, 0, rezerv);

    // bakiyeye karý ekle
    bakiye += alimmiktarlari[j] * (int)sonfiyat;

    // satýþ yapýlan alýmýn bilgilerini listelerden kaldýr
    alimfiyatlari.removeat(j);
    alimmiktarlari.removeat(j);
    karfiyatlari.removeat(j);

    // indeksi geri al
    j--;
    }
    }
    }
    }
    dca sistemi gibi kullanmak istiyorum bende sanalda çalýþmadý

Sayfa 591/626 ÝlkÝlk ... 91491541581589590591592593601 ... 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
  •