Sayfa 135/595 İlkİlk ... 3585125133134135136137145185235 ... SonSon
Arama sonucu : 4757 madde; 1,073 - 1,080 arası.

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

  1.  Alıntı Originally Posted by tripharma Yazıyı Oku
    Aşağıda ki formülde yapmak istedğim ya da hesaplatmak istediğim şey
    Bir X değeri var ve bu değer değişkenlik gösterebilir.
    Örnek olarak X değerimiz 4 olsun.
    Eregli hissesinin ilk 4 alış kademesindeki emir miktarlarını toplatmak istiyorum ancak bunu yapamadım.
    Yardımcı olabilirseniz sevinirim.


    Edit: "Mesela ilk 4 kademedeki alış emirlerinin toplamı" cümlesinin etkisiyle döngüyü 4'e kadar yapmışım.. i < 4 yerine i < x deyin.
    Bu durumda x'e kaç yazarsanız o kadar kademenin alış emirlerinin toplamını verir.,

  2. Bir sistem/strateji yazıp, bu stratejinin sinyal verdiği senetleri alıp,satmasını isteyenlere robot kodu örneği:

    - Kodu aynen kopyalayıp, sadece sisteminizin taraması ve sinyal gelmesi durumunda işlem yapmasını istediğiniz senetleri koda ekleyeceksiniz.
    -Bu örnekte, strateji "Sezai" isimli formül. Siz kendi sisteminizin adını yazacaksınız. Aynı şekilde örnekte, 5 DK grafiklerine uygulanmış. Periyot da sizin tercihiniz. Kodun geri kalanına dokunmaya gerek yok.

    -Son olarak, emir gönder bloğundaki bir satır sayesinde, yapılan her işlem, hangi hisseye ne işlem yapıldı, o anda hissenin fiyatı neydi, tarih ve saat neydi gibi bigileri de diskte robotemirler isimli bir text dosyaya kaydeder.

    Kod:
    var Sozluk = new Dictionary<string,double>();
    Sozluk["IMKBH'EREGL"] = 5; // 5 lot
    Sozluk["IMKBH'GARAN"] = 1; // 1 lot
    Sozluk["IMKBH'YKBNK"] = 2; // 2 lot
    Sozluk["IMKBH'GSRAY"] = 5; // 5 lot
    Sozluk["IMKBH'FENER"] = 1; // 1 lot
    Sozluk["IMKBH'BJKAS"] = 2; // 2 lot
    
    for (var No=0; No < Sozluk.Count; No++) 
    { 
       var Sembol = Sozluk.ElementAt(No).Key;
       var LotSize = Sozluk.ElementAt(No).Value;
       var SonFiyat = Sistem.SonFiyat(Sembol);
       var Anahtar = Sistem.Name + "," + Sembol;
       double IslemFiyat = 0;
       DateTime IslemTarih;
       var Miktar = 0.0;
       var Rezerv = "";
       var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);
       var MySistem = Sistem.SistemGetir("Sezai",Sembol, "5"); //sitemin adı, sembol, grafik periyodu
       var SonYon = MySistem.SonYon;
    
       if (Sistem.Saat.CompareTo("10:00:00") <= 0 || Sistem.Saat.CompareTo("17:59:59") >= 0 )  // Seans yok
       {
       }
       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(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);
            Sistem.EmirSembol = Sembol;
            Sistem.EmirIslem = Islem;
            Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG
            Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite
            Sistem.EmirMiktari = Math.Abs(Miktar);
            Sistem.EmirGonder();
            File.AppendAllText("\\robotemirler.Txt", Sembol + "-" + DateTime.Now.ToString("HH:mm:ss") + Islem + "- " + "Fiyat =" + SonFiyat.ToString() +  "\r\n");
       }
    }

  3.  Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    ERHAN
    sistem alda iken 65 üstüne çıkıp altına inerse flat
    sistem satta ,ken 35 altına inip üstüne çıkarsa flat

    aşağıda
    kalanını kendine göre düzenlersin.

    PHP Code:
    var Veriler Sistem.GrafikFiyatSec("Kapanis");

    // hareketli ortalamaları hesapla
    var MA1 Sistem.MA(2"Simple""Kapanis");
    var 
    MA2 Sistem.MA(20"Simple""Kapanis");
    var 
    RSI Sistem.RSI(14);
    //var REF1= Sistem.Liste(65);
    //var REF2= Sistem.Liste(50);
    //var REF3= Sistem.Liste(35);
    var SonYon "";

    // strateji
    for (int i 1i<Sistem.BarSayisii++)
    {
    if ( 
    MA1[i-1] < MA2[i-1] && MA1[i] > MA2[i])
    {
    Sistem.Yon[i] = "A"// alış
    SonYon "A";
    }

    if (
    MA1[i-1] > MA2[i-1] && MA1[i] < MA2[i])
    {
    Sistem.Yon[i] = "S"// satış
    SonYon "S";
    }

    //}


    //FLAT Stratejisi
    //for (int i = 1; i<Sistem.BarSayisi; i++)
    //{
    if ( SonYon == "A" && RSI[i-1] > 65 && RSI[i] < 65 )
    {
    Sistem.Yon[i] = "F"// satış
    SonYon "F";
    }

    if (
    SonYon == "S" && RSI[i-1] < 35 && RSI[i] > 35)
    {
    Sistem.Yon[i] = "F"// satış
    SonYon "F";
    }
    }


    // hesaplanan verileri çizgilere aktar ve açıklama ekle
    Sistem.Cizgiler[0].Deger MA1;
    Sistem.Cizgiler[0].Aciklama "MA ";
    Sistem.Cizgiler[1].Deger MA2;
    Sistem.Cizgiler[1].Aciklama "MA ";
    Sistem.Cizgiler[2].Deger RSI;
    Sistem.Cizgiler[2].Aciklama "RSI "
    algoritma eksik işte. Sorun bu zaten.

    65 aşağı kırıyr flata geçiyor 50 yi aşağı kırıp yukarı kesınce ıslem yapmalı.

    fakat sistem flatta devam edıyor.

    koşulumu arttırmalıyım acaba.

    SORUNUM ASLINDA ARASINDA olayını sisteme anlatamamakta.

    şu iki çzgi arasına şu şekilde girdiysen işlem yap.

    üst çizgi ile alt cızgı arasına alt çizgiyi geçerek cıktıysan işlemleri yap. ama üst çizgiyi aşağı kırıpta bu ıkı çizgi arasında isen flat kal.

    acaba önce flatı tanımlayıp alıs ve satış için bu şartlara baksa dahamı dogru olacak.
    Senin almaya cesaret edemediğin riskleri alanlar, senin yaşamak istediğin hayatı yaşarlar..
    Sokrates twit @erhanacikgoz1

  4.  Alıntı Originally Posted by tripharma Yazıyı Oku
    Aşağıda ki formülde yapmak istedğim ya da hesaplatmak istediğim şey
    Bir X değeri var ve bu değer değişkenlik gösterebilir.
    Örnek olarak X değerimiz 4 olsun.
    Eregli hissesinin ilk 4 alış kademesindeki emir miktarlarını toplatmak istiyorum ancak bunu yapamadım.
    Yardımcı olabilirseniz sevinirim.
    PHP Code:
    float X Sistem.SayiYuvarla(KademeSayisi,0.01);
    //Derinlik Okutma
    var Derinlik Sistem.DerinlikVerisiOku(IMKBH'EREGL);
    // Alış Kademesi Okutma
    var AlisLotKademe = Sistem.Liste(0);
    for (int i=0; i <= X;i++)
    {
    AlisLotKademe[i] = Derinlik.Bids[i].Size;
    }
    // Emir Miktarı Hesaplatma
    var EmirMiktarı = Sistem.Sum(AlisFiyatKademe); 

    var AlisLotKademe = Sistem.Liste(KademeSayisi,0);
    bu satır hatalıydı

    bu yöntemde çalışan kod;
    int kademeadet=4;
    var Derinlik = Sistem.DerinlikVerisiOku("IMKBH'EREGL");
    var AlisLotKademe = Sistem.Liste(kademeadet,0);
    for (int i=0; i <kademeadet;i++) { AlisLotKademe[i] = Derinlik.Bids[i].Size; }
    var EmirMiktar = Sistem.Sum(AlisLotKademe);
    Sistem.Mesaj(EmirMiktar.ToString());

  5. Erhan Bey

    RSI'ın örnek olarak 7 ayrı seviyeyle kontrolünü yaparak, istediğinizi yapmanızı şu tarz bir kodlama sağlayabilir belki.

    Kod:
    var SartA = false;
    var SartB = false;
    for (int i=1; i < Sistem.BarSayisi; i++)
    {
    //YUKARI KESME KONTROLÜ (Birisi gerçekleşirse SartA true olur)
    SartA = 
       (RSI[i-1] < L1 && RSI[i] >= L1) ||
       (RSI[i-1] < L2 && RSI[i] >= L2) ||
       (RSL[i-1] < L3 && RSI[i] >= L3) ||
       (RSI[i-1] < L4 && RSI[i] >= L4) ||
       (RSI[i-1] < L5 && RSI[i] >= L5) ||
       (RSI[i-1] < L6 && RSI[i] >= L6) ||
       (RSI[i-1] < L7 && RSI[i] >= L7) ;
    //AŞAĞI KESME KONTROLÜ (Birisi gerçekleşirse SartB true olur)
    SartA = 
       (RSI[i-1] > L1 && RSI[i] <= L1) ||
       (RSI[i-1] > L2 && RSI[i] <= L2) ||
       (RSL[i-1] > L3 && RSI[i] <= L3) ||
       (RSI[i-1] > L4 && RSI[i] <= L4) ||
       (RSI[i-1] > L5 && RSI[i] <= L5) ||
       (RSI[i-1] > L6 && RSI[i] <= L6) ||
       (RSI[i-1] > L7 && RSI[i] <= L7) ;
    }
    Edit: Aşağı ve Yukarı kelimelerini ters yazmıştım açıklama satırlarında.

  6. Eğer PITE (Anlık alıcı satıcı) lisansınız varsa, tüm işlemler (veya sembol bazında işlem defteri) bilgisini de okutabiliyorduk zaten idealde bildiğiniz gibi. Bu sayede mesela aşağıdaki gibi bir kod da yazılabilir;

    Bir aracı kurumun bir hisse senedinde yaptığı işlemlerini NET LOT değeri X olursa Y işini yap..

    Örnek kod: TEB Yatırımın ISCTR hisse senedinde yaptığı işlemlerin NET LOT değerini (alışları-satışları) bul ve göster...

    Kod:
    var Emirler = Sistem.HisseIslemleriniOku();
    var NetLot = 0;
    foreach (var item in Emirler)
    {
        if (item.Symbol == "ISCTR")
        {
            if (item.BuyerCode == "TBY") NetLot += item.Size; //alışları ekle
            if (item.SellerCode == "TBY") NetLot -= item.Size; //satışları çıkar
        }
    }
    Sistem.Mesaj(NetLot.ToString());

  7. Buralar haraketlenmis bu iyi

    M1453 cihazımdan hisse.net mobile app kullanarak gönderildi.

  8.  Alıntı Originally Posted by Orhan AKDOĞAN Yazıyı Oku
    var AlisLotKademe = Sistem.Liste(KademeSayisi,0);
    bu satır hatalıydı

    bu yöntemde çalışan kod;
    int kademeadet=4;
    var Derinlik = Sistem.DerinlikVerisiOku("IMKBH'EREGL");
    var AlisLotKademe = Sistem.Liste(kademeadet,0);
    for (int i=0; i <kademeadet;i++) { AlisLotKademe[i] = Derinlik.Bids[i].Size; }
    var EmirMiktar = Sistem.Sum(AlisLotKademe);
    Sistem.Mesaj(EmirMiktar.ToString());
    Teşekkür ederim

Sayfa 135/595 İlkİlk ... 3585125133134135136137145185235 ... 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
  •