Sayfa 592/592 İlkİlk ... 92492542582590591592
Arama sonucu : 4734 madde; 4,729 - 4,734 arası.

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

  1.  Alıntı Originally Posted by noyan Yazıyı Oku
    nadara watson repaint yapıyor bunu kullanmak sakıncalı olur ....
    dca mantığı gibi yapmak istediğimden repaint yapmasında sorun olmaz bence . Fiyat her alt bantı ihlal ettiğinde alım yapacak ve aldığını belli bir yüzde ile kar olarak satacak.

  2.  Alıntı Originally Posted by mahmutbir Yazıyı Oku
    dca mantığı gibi yapmak istediğimden repaint yapmasında sorun olmaz bence . Fiyat her alt bantı ihlal ettiğinde alım yapacak ve aldığını belli bir yüzde ile kar olarak satacak.
    bunu incelermisin renk değişimine göre
    var Length = 1000;
    var Bandwidth = 6;
    var mult = 3;
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");

    var y = Sistem.Liste(0);
    var up = 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;
    }

    var valc = Sistem.Liste(0);
    var RenkListesi = new List<Color>();
    for (int i = 0; i < Sistem.BarSayisi; i++)
    RenkListesi.Add(Color.Gold);
    for (int i = V.Count - Length; i < V.Count; i++)
    {
    valc[i] = (i > 0) ? y[i] > y[i - 1] ? 0 : 1 : 0;
    if (valc[i] == 0) RenkListesi[i] = Color.LimeGreen;
    if (valc[i] == 1) RenkListesi[i] = Color.Red;
    }
    Sistem.Cizgiler[0].Deger = y;
    Sistem.Cizgiler[0].RenkListesi = RenkListesi;
    İDEAL KOD YAZMADA YENİYİM....SORULARIMDAKİ AMACIM ....İDEALİN MANTIĞINI ANLAYABİLMEK ....YOL GÖSTERMENİZ YETERLİDİR TŞK...

  3.  Alıntı Originally Posted by Noyan Yazıyı Oku
    YGT:=0.6/100;
    KYN:=Mov( (H+L+C)/3,3,E);
    AD:=If((KYN*(1-YGT))>PREV,KYN*(1-YGT),If((KYN*(1+YGT))<PREV,KYN*(1+YGT),PREV));
    BU:=0.05/100;
    SU:=Mov( (H+L+C)/3,3,E) ;
    DD:=If((SU*(1-BU))>PREV,SU*(1-BU),If((SU*(1+BU))<PREV,SU*(1+BU),PREV));
    Int(AD/0.025+0.50)*0.025;Int(DD/0.025+0.50)*0.025

    İDEAL FORMÜLDEKİ HATA NEREDE....
    //HATALI ...
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var L = Sistem.GrafikFiyatSec("Dusuk");
    var H = Sistem.GrafikFiyatSec("Yuksek");
    var O = Sistem.GrafikFiyatSec("Acilis");


    double ygt = 0.6/100; // orjinal = 0.8
    double bu = 0.05/100; // orjinal = 0.2

    var hlc = Sistem.Liste(0);
    var ad = Sistem.Liste(0);
    var dd = Sistem.Liste(0);


    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
    hlc[i] = (H[i] + L[i] + C[i]) / 3;
    }

    var kyn = Sistem.MA(hlc, "Exp", 3);
    var su = Sistem.MA(hlc, "Exp", 3);

    for (int i = 2; i < Sistem.BarSayisi; i++)
    {
    if (kyn[i] * (1-ygt) > ad[i-1] ) ad[i] = (float)Math.Round(kyn[i] * (1 - ygt), 2);

    else if ( kyn[i] * (1+ygt) < ad[i-1] ) ad[i] = (float)Math.Round(kyn[i] * (1 - ygt), 2);

    else ad[i] = ad[i-1];

    if ( su[i] * (1-bu) > dd[i-1] ) dd[i] = (float)Math.Round(su[i] * (1 - bu), 2);

    else if ( su[i] * (1 + bu) < dd[i-1] ) dd[i] = (float)Math.Round(su[i] * (1 + bu), 2);

    else dd[i] = dd[i-1] ;
    }

    Sistem.Cizgiler[0].Deger = ad;
    Sistem.Cizgiler[1].Deger = dd;

    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var L = Sistem.GrafikFiyatSec("Dusuk");
    var H = Sistem.GrafikFiyatSec("Yuksek");
    var O = Sistem.GrafikFiyatSec("Acilis");

    double ygt = 0.6 / 100; // orjinal = 0.8
    double bu = 0.05 / 100; // orjinal = 0.2

    var hlc = Sistem.Liste(0);
    var ad = Sistem.Liste(0);
    var dd = Sistem.Liste(0);

    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
    hlc[i] = (H[i] + L[i] + C[i]) / 3;
    }

    var kyn = Sistem.MA(hlc, "Exp", 3);
    var su = Sistem.MA(hlc, "Exp", 3);

    for (int i = 2; i < Sistem.BarSayisi; i++)
    {
    if (kyn[i] * (1 - ygt) > ad[i - 1])
    {
    ad[i] = Math.Round(kyn[i] * (1 - ygt), 2);
    }
    else if (kyn[i] * (1 + ygt) < ad[i - 1])
    {
    ad[i] = Math.Round(kyn[i] * (1 + ygt), 2);
    }
    else
    {
    ad[i] = ad[i - 1];
    }

    if (su[i] * (1 - bu) > dd[i - 1])
    {
    dd[i] = Math.Round(su[i] * (1 - bu), 2);
    }
    else if (su[i] * (1 + bu) < dd[i - 1])
    {
    dd[i] = Math.Round(su[i] * (1 + bu), 2);
    }
    else
    {
    dd[i] = dd[i - 1];
    }
    }

    Sistem.Cizgiler[0].Deger = ad;
    Sistem.Cizgiler[1].Deger = dd;

  4.  Alıntı Originally Posted by gencparaci Yazıyı Oku
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var L = Sistem.GrafikFiyatSec("Dusuk");
    var H = Sistem.GrafikFiyatSec("Yuksek");
    var O = Sistem.GrafikFiyatSec("Acilis");

    double ygt = 0.6 / 100; // orjinal = 0.8
    double bu = 0.05 / 100; // orjinal = 0.2

    var hlc = Sistem.Liste(0);
    var ad = Sistem.Liste(0);
    var dd = Sistem.Liste(0);

    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
    hlc[i] = (H[i] + L[i] + C[i]) / 3;
    }

    var kyn = Sistem.MA(hlc, "Exp", 3);
    var su = Sistem.MA(hlc, "Exp", 3);

    for (int i = 2; i < Sistem.BarSayisi; i++)
    {
    if (kyn[i] * (1 - ygt) > ad[i - 1])
    {
    ad[i] = Math.Round(kyn[i] * (1 - ygt), 2);
    }
    else if (kyn[i] * (1 + ygt) < ad[i - 1])
    {
    ad[i] = Math.Round(kyn[i] * (1 + ygt), 2);
    }
    else
    {
    ad[i] = ad[i - 1];
    }

    if (su[i] * (1 - bu) > dd[i - 1])
    {
    dd[i] = Math.Round(su[i] * (1 - bu), 2);
    }
    else if (su[i] * (1 + bu) < dd[i - 1])
    {
    dd[i] = Math.Round(su[i] * (1 + bu), 2);
    }
    else
    {
    dd[i] = dd[i - 1];
    }
    }

    Sistem.Cizgiler[0].Deger = ad;
    Sistem.Cizgiler[1].Deger = dd;
    BUNA CEVAP YAZILMIŞTI... kontrol edin ama matriks ile grafik üzerindede karşılaştırın...
    İDEAL KOD YAZMADA YENİYİM....SORULARIMDAKİ AMACIM ....İDEALİN MANTIĞINI ANLAYABİLMEK ....YOL GÖSTERMENİZ YETERLİDİR TŞK...

  5. CGBT ile zor anlaştım toplam kar hesaplamada ve toplam kar ile ek lot almada .....KONTROL EDEBİLİRMİSİNİZ....
    foreach (var item in Sozluk)
    {
    var EmirSembol = item.Key;
    var Anahtar = Sistem.Name + " , " + EmirSembol;
    var IslemFiyat = 0.0;
    DateTime IslemTarih;
    var Rezerv = "";
    var AlisFiyat = 0.0m;
    var SatisFiyat = 0.0m;
    var KademeFiyat = 0.0m;
    var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih, out Rezerv);
    var Lot = item.Value[2];
    var Yuksek = item.Value[3];
    var Dusuk = item.Value[4];

    var basicitem = Sistem.YuzeyselVeriOku(EmirSembol);
    var sonfiyat = (decimal)basicitem.LastPrice;
    var bidfiyat = (decimal)basicitem.BidPriceDec;
    var askfiyat = (decimal)basicitem.AskPriceDec;

    if (sonfiyat == 0 || bidfiyat == 0 || askfiyat == 0)
    continue;

    decimal toplamKar = 0;
    string DosyaDir = @"C:\iDeal\60DK" + EmirSembol.Split('\'')[1] + ".YapilanIslemler.txt";
    if (System.IO.File.Exists(DosyaDir))
    {
    var satirler = System.IO.File.ReadAllLines(DosyaDir);
    foreach (var satir in satirler)
    {
    var bilgiler = satir.Split('\t');
    if (bilgiler.Length >= 3)
    {
    decimal alisFiyati = Convert.ToDecimal(bilgiler[2]);
    decimal satisFiyati = Convert.ToDecimal(bilgiler[3]);
    decimal kar = satisFiyati - alisFiyati;
    toplamKar += kar;
    }
    }
    }

    if (!System.IO.Directory.Exists(@"C:\iDeal\60DK"))
    System.IO.Directory.CreateDirectory(@"C:\iDeal\60D K");
    if (!System.IO.File.Exists(DosyaDir))
    System.IO.File.Create(DosyaDir).Close();

    var ReadLines = System.IO.File.ReadAllLines(DosyaDir);
    if (ReadLines.Length != 0)
    {
    KademeFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[1]);
    AlisFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[2]);
    SatisFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[3]);
    }
    else
    {
    AlisFiyat = askfiyat;
    }

    var Islem = "";
    var Miktar = 0.0;


    if (bidfiyat <= AlisFiyat && Pozisyon >= 0 && bidfiyat >= (decimal)Dusuk && bidfiyat <= (decimal)Yuksek) // AL
    {
    Rezerv = "Alis : " + bidfiyat.ToString("0.00");
    if (toplamKar > KademeFiyat)
    {
    int ekLotMiktari = (int)(toplamKar / KademeFiyat);
    Lot += ekLotMiktari;
    toplamKar -= ekLotMiktari * KademeFiyat;
    Sistem.PozisyonKontrolGuncelle(Anahtar, Lot, IslemFiyat, "Ek Lotlar Alışta Kullanıldı ve Pozisyon Güncellendi");
    }
    Miktar = Lot;
    IslemFiyat = (double)bidfiyat;
    }
    else if (askfiyat >= SatisFiyat && Pozisyon > 0)
    {
    Rezerv = "Satis: " + askfiyat.ToString("0.00") + " Kar: " + ((askfiyat - AlisFiyat) * (decimal)Lot).ToString("0.00") + " Toplam Kar: " + toplamKar.ToString("0.00")
    Miktar = -Lot;
    IslemFiyat = (double)askfiyat;
    }

    if (Miktar > 0)
    Islem = "Alis";
    if (Miktar < 0)
    Islem = "Satis";
    if (Islem != "")
    Son düzenleme : Noyan; 03-04-2024 saat: 01:00.
    İDEAL KOD YAZMADA YENİYİM....SORULARIMDAKİ AMACIM ....İDEALİN MANTIĞINI ANLAYABİLMEK ....YOL GÖSTERMENİZ YETERLİDİR TŞK...

  6. bu şekilde olması daha doğru olmazmı... yanlış düşündüğüm kısım varsa yardım pls.... (??? işaretli kısımlar)
    foreach (var item in Sozluk)
    {
    var EmirSembol = item.Key;
    var Anahtar = Sistem.Name + " , " + EmirSembol;
    var IslemFiyat = 0.0;
    DateTime IslemTarih;
    var Rezerv = "";
    var AlisFiyat = 0.0m;
    var SatisFiyat = 0.0m;
    var KademeFiyat = 0.0m;
    var toplamKar = 0.0m;
    var kar = 0.0m;
    var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih, out Rezerv);
    var Lot = item.Value[2];
    var Yuksek = item.Value[3];
    var Dusuk = item.Value[4];

    var basicitem = Sistem.YuzeyselVeriOku(EmirSembol);
    var sonfiyat = (decimal)basicitem.LastPrice;
    var bidfiyat = (decimal)basicitem.BidPriceDec;
    var askfiyat = (decimal)basicitem.AskPriceDec;


    if (sonfiyat == 0 || bidfiyat == 0 || askfiyat == 0)
    continue;
    // Ilk Islem Sarti (Mevcut fiyat yuksek/dusuk arasinda ise ve poz yoksa, Al/Sat seviyesi kademe kadar belirlenir)
    string DosyaDir = @"C:\iDeal\60DK" + EmirSembol.Split('\'')[1] + ".YapilanIslemler.txt"; // Dosya Adi
    if (!System.IO.Directory.Exists(@"C:\iDeal\60DK"))
    System.IO.Directory.CreateDirectory(@"C:\iDeal\60D K");
    if (!System.IO.File.Exists(DosyaDir))
    System.IO.File.Create(DosyaDir).Close(); // Dosya olusturulduktan sonra kapatilir.

    var ReadLines = System.IO.File.ReadAllLines(DosyaDir);
    if (ReadLines.Length != 0)

    { // işlem karı ve toplam kar için txt de alan oluşturdum ???
    KademeFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[1]);
    AlisFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[2]);
    SatisFiyat = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[3]);
    kar = SatisFiyat - AlisFiyat; // kar ve toplam kar ı bu kısımda mı hesaplatmalıyım????
    kar = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[4]);
    toplamKar += kar;
    toplamKar = (decimal)Convert.ToSingle(ReadLines.Last().Split(' \t')[5]);
    }
    else
    {
    AlisFiyat = askfiyat;
    }

    var Islem = "";
    var Miktar = 0.0;


    if (bidfiyat <= AlisFiyat && Pozisyon >= 0 && bidfiyat >= (decimal)Dusuk && bidfiyat <= (decimal)Yuksek) // AL
    {
    Rezerv = "Alis : " + bidfiyat.ToString("0.00");
    if (toplamKar > AlisFiyat) // ek lotları burada alış yaptırmak istedim ???
    {
    int ekLotMiktari = (int)(toplamKar / AlisFiyat);
    Lot += ekLotMiktari;
    toplamKar -= ekLotMiktari * AlisFiyat;
    //Sistem.PozisyonKontrolGuncelle(Anahtar, Lot, IslemFiyat, "Ek Lotlar Alışta Kullanıldı ve Pozisyon Güncellendi");
    // Yeni toplam karı rezerv kısmına ekleyelim ???
    Rezerv += " Toplam Kar: " + toplamKar.ToString("0.00");
    // Ek lotları rezerv kısmına ekleyelim ???
    Rezerv += " Ek Lotlar: " + ekLotMiktari.ToString();


    }
    Miktar = Lot;
    IslemFiyat = (double)bidfiyat;
    }
    else if (askfiyat >= SatisFiyat && Pozisyon > 0)
    {
    Rezerv = "Satis: " + askfiyat.ToString("0.00") + " Kar: " + ((askfiyat - AlisFiyat) * (decimal)Lot).ToString("0.00") + " Toplam Kar: " + toplamKar.ToString("0.00");
    Miktar = -Lot;
    IslemFiyat = (double)askfiyat;
    }

    if (Miktar > 0)
    Islem = "Alis";
    if (Miktar < 0)
    Islem = "Satis";
    if (Islem != "")
    İDEAL KOD YAZMADA YENİYİM....SORULARIMDAKİ AMACIM ....İDEALİN MANTIĞINI ANLAYABİLMEK ....YOL GÖSTERMENİZ YETERLİDİR TŞK...

Sayfa 592/592 İlkİlk ... 92492542582590591592

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
  •