Sayfa 509/593 İlkİlk ... 9409459499507508509510511519559 ... SonSon
Arama sonucu : 4738 madde; 4,065 - 4,072 arası.

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

  1. Başka bir yöntem. Ortanokta kullanmak.

    Kod:
    var V = Sistem.GrafikVerileri ; 
    var O = Sistem.GrafikFiyatSec("OrtaNokta"); 
     
    var X1 = Sistem.Liste(0); 
    var X2 = Sistem.Liste(0); 
    var D1 = Sistem.Liste(0); 
    for (int i = 10; i < V.Count; i++)
    {
    if (O[i] < O[i-5] )
          X1[i]  = -1;
       else
          X1[i]  = 1;
    
    if (O[i] < O[i-10])
          X2[i]  = -1;
       else
          X2[i]  = 1;
    
    D1[i] = X1[i] + X2[i] ;
    }
    
    Sistem.Cizgiler[0].Deger = D1; //Panel2

  2. Merhaba arkadaşlar, manuel al-sat ile başlayan ve iDealin c# altyapısına sahip olması ile gelişen Birja robotu sonrası
    bir süre ara vermiştim, şimdi yeni bir AL-SAT sinyal robotu ile yeniden robot yazmaya başladım.
    Sanırım bu sefer oldu gibi








  3.  Alıntı Originally Posted by ozmen Yazıyı Oku
    Kod:
    var V = Sistem.GrafikVerileri ; 
    var H = Sistem.GrafikFiyatSec("Yuksek"); 
    var L = Sistem.GrafikFiyatSec("Dusuk"); 
    
    var HL = Sistem.Liste(0); 
    var X1 = Sistem.Liste(0); 
    var X2 = Sistem.Liste(0); 
    var D1 = Sistem.Liste(0); 
    for (int i = 10; i < V.Count; i++)
    {
    HL[i] = H[i] + L[i] ;
    
    X1[i] = 
    HL[i] < HL[i-5] ? -1 : HL[i] > HL[i-5] ? 0 : 
    X1[i] ;
    
    X2[i] = 
    HL[i] < HL[i-10] ? -1 : HL[i] > HL[i-10] ? 0 : 
    X2[i] ;
    
    D1[i] = X1[i] + X2[i] ;
    }
    
    Sistem.Cizgiler[0].Deger = D1; //Panel2 
    Sistem.Cizgiler[0].Stil = 5;
    elinize sağlık,çok teşekkür ederim .

  4. Arkadaşlar selam , vip-x030 tek satirlik robot kulaniyordum.

    Aksam seansindada calistirmak istiyorum.

    Tek satirlik kodda , okunacak sembol kodunu degistirmek yetiyor mu?

    Yoksa emir gönderilecek kodda mi farkli yazilacak?

    Yardimci olursaniz sevinirim.
    Son düzenleme : oralet; 22-09-2021 saat: 23:08.

  5. Merhaba,

    Elinde BTC 5sn, 1dk data birikmiş olan varsa paylaşabilir mi ?

    Teşekkürler.

  6. merhabalar şu kodu ideale çevirebilirmiyiz.
    ch:=ValueWhen(1,Cross(C,Mov(C,20,S)),H);

    nh:=HighestSince(1,Cross(C,Mov(C,20,S)),H);

    fh:=If(ch>nh,ch,nh);

    cl:=ValueWhen(1,Cross(Mov(C,20,S),C),L);

    nl:=LowestSince(1,Cross(Mov(C,20,S),C),L);

    fl:=If(cl<nl,cl,nl);

    If(C>Mov(C,20,S),fh,fl)

  7. Bir hissemiz var. Buna sadece gün içi geçerli fiyat girebiliyoruz. Gün sonu bekleyen emir siliniyor. İptale kadar geçerli emir tipi bunda yok ( BYF)

    Bu hisseye her sabah
    istediğim saatte
    belirlediğim fiyattan
    belirlediğim lot kadar
    limit emir göndermek

    istiyorum.

    Robot her sabah 10:00 da Thy hissesine 15:00 fiyata , 1000 lot alış - şatış emri gönderecek. Emir bekleyen emirlerde duracak gerçekleşmezse gün sonu silinecek. Ertesi gün tekrar aynı işi yapacak.

    Buna benzer robot kalıbı olan varsa ekleyebilirmi.

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

  8.  Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Bu arada, idealin son versiyonlarında EXCEL OKU fonksiyonu ekledik.
    Her türlü amaç için kullanılabilir.
    Mesela: önceden tanımlanan hisseler (veya varantlar, vadeli kontratlar vs.) için, Şu fiyata gelirse al, şu fiyata gelirse KarAl yapıp pozisyonu kapat, şu fiyata gelirse stoplan pozisyonu kapat gibi bir robota exceli bağlayabilirsiniz.
    (excelin açık olması gerekmez.)

    örnek kod:
    Kod:
    string FileName = "C:\\ideal\\HisseRobot.Xlsx";
    bool DevamEt = true;
    
    if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday) DevamEt = false;
    if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday) DevamEt = false;
    if (DateTime.Now.ToString("HHmm").CompareTo("1000") <= 0) DevamEt = false;
    if (DateTime.Now.ToString("HHmm").CompareTo("1800") >= 0) DevamEt = false;
    if (DateTime.Now.ToString("HHmm").CompareTo("1300") >= 0 && DateTime.Now.ToString("HHmm").CompareTo("1400") <= 0) DevamEt = false;
    if (System.IO.File.Exists(FileName) == false) DevamEt = false;
    
    if (DevamEt)
    {
        var ExcelArray = Sistem.NesneGetir(FileName + ";" + DateTime.Now.ToString("yyyyMMdd"));
        if (ExcelArray == null)
        {
            ExcelArray = Sistem.ExcelOku(FileName);
            Sistem.NesneKaydet(FileName + ";" + DateTime.Now.ToString("yyyyMMdd"), ExcelArray);
        }
    //Excel dosyasını 5 dk'da bir tekrar oku.
        if (Sistem.ZamanKontrolDakika(FileName + ";" + DateTime.Now.ToString("yyyyMMdd")) >= 5)
        {
            Sistem.ZamanKontrolGuncelle(FileName + ";" + DateTime.Now.ToString("yyyyMMdd"));
            ExcelArray = Sistem.ExcelOku(FileName);
            Sistem.NesneKaydet(FileName + ";" + DateTime.Now.ToString("yyyyMMdd"), ExcelArray);
        }
        int SatirSayisi = ExcelArray.GetLength(0); //satırların sayısını bul
        for (int i = 2; i <= SatirSayisi; i++)
        {
            var Sembol = ExcelArray[i, 1].ToString();
            var AlisFiyat = (decimal)ExcelArray[i, 2];
            var HedefFiyat = (decimal)ExcelArray[i, 3];
            var StopFiyat = (decimal)ExcelArray[i, 4];
            var Lot = (int)ExcelArray[i, 5];
            var Anahtar = Sistem.Name + " , " + Sembol;
            double IslemFiyat = 0;
            DateTime IslemTarih;
            var Rezerv = "";
            var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih, out Rezerv);
    
            var EmirSembol = "IMKBH'" + Sembol;
            var basicitem = Sistem.YuzeyselVeriOku(EmirSembol);
            var sonfiyat = basicitem.LastPrice;
            var bidfiyat = basicitem.BidPriceDec;
            var askfiyat = basicitem.AskPriceDec;
            var Islem = "";
            var Miktar = 0.0;
            if (askfiyat >= AlisFiyat && Pozisyon == 0 && Rezerv == "") // AL
            {
               Rezerv = "AL";
               Miktar = Lot;
               IslemFiyat = Sistem.SonFiyat(EmirSembol);
            }
            else if (Pozisyon > 0 && askfiyat >= HedefFiyat && Rezerv == "AL")  // KARLA KAPAT
            {
               Rezerv = "KAR AL";
               Miktar = -Lot;
            }
            else if (Pozisyon > 0 && bidfiyat < StopFiyat && Rezerv == "AL")  // STOP
            {
               Rezerv = "STOP";
               Miktar = -Lot;
            }
    
            if (Miktar > 0) Islem = "ALIS";
            if (Miktar < 0) Islem = "SATIS";
            if (Islem != "")
            {
               Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, IslemFiyat, Rezerv);
               Sistem.EmirSembol = EmirSembol;
               Sistem.EmirIslem = Islem;
               Sistem.EmirSuresi = "KIE";
               Sistem.EmirTipi = "Piyasa";
               Sistem.EmirMiktari = Math.Abs(Miktar);
               Sistem.EmirGonder();
           }
       }
    }

    Formül içindeki gün-saat kalıbı işinizi görebilir belki.

Sayfa 509/593 İlkİlk ... 9409459499507508509510511519559 ... 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
  •