Sayfa 38/40 İlkİlk ... 283637383940 SonSon
Arama sonucu : 320 madde; 297 - 304 arası.

Konu: (Bu başlıkta soru sormayın)İdeal Formülleri (Soru-Cevap için diğer başlığı kullanın!)

  1. #297
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by hxtrader Yazıyı Oku
    İyi akşamlar.. Bu intikatörü ideal diline dönüştürebilirmisiniz.. Şimdiden teşekkür ederim..

    Mov(Mov((C-Ref(C,-1)),15,E),5,E) / Mov(Mov((Abs(C-Ref(C,-1))),15,E),5,E)

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Buyrun,

    Kod:
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var CFark1 = Sistem.Liste(0);
    var CFark2 = Sistem.Liste(0);
    var IND = Sistem.Liste(0);
    
    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
       CFark1[i] = C[i] - C[i-1];
       CFark2[i] = Math.Abs(C[i] - C[i-1]);
    }
    
    var Movx = Sistem.MA(CFark1, "Exp", 15);
    var Movy = Sistem.MA(CFark2, "Exp", 15);
    var Mov1 = Sistem.MA(Movx, "Exp", 5);
    var Mov2 = Sistem.MA(Movy, "Exp", 5);
    
    for (int i = 1; i < Sistem.BarSayisi; i++)
       IND[i] = Mov1[i] / Mov2[i];
    
    Sistem.Cizgiler[0].Deger = IND; //Panel No 2, Ondalık sayısı 4
    Panelde;


    Teşekkürler
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  2. #298
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by karmatte Yazıyı Oku
    Sezai bey,klasik robot emirlerinde bar kapanış fiyatına göre kapanış fiyatından limitli emir gönderebilirmiyiz?Boyle bir özelik varsa örnek paylaşabilirmisiniz?Teşekkür ederim.

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Aslında sadece iki satırda değişiklik oluyor.
    Bu satırda PYS yerine LMT yazmak
    Sistem.EmirFiyatTipi = "LMT"; // PYS, LMT, EIF, KAP

    ve
    Emre bir de fiyat bilgisi atamak
    Sistem.EmirFiyati = C[V.Count-2];

    ÖNEMLİ NOT: LİMİTLİ EMİR GÖNDERDİĞİNİZDE, ROBOT POZİSYONU İŞLEM YÖNÜNE GÖRE BELİRLER VE DEĞİŞTİRİR.YANİ İŞLEM GERÇEKLEŞMİŞ GİBİ HAREKET EDER.. EMRİN GERÇEKLEŞMEMESİ DURUMUNU ROBOT BİLEMEZ.

    Kod:
    var LotSize = 1.0;
    var Sembol = "VIP'F_XU0300216S0";
    var Periyot = "5";
    var V = Sistem.GrafikVerileriniOku(Sembol, Periyot);
    var C = Sistem.GrafikFiyatOku(V, "Kapanis");
    var Mov = Sistem.MA(C, "Exp", 50);
    
    // tara
    var SartAl = false;
    var SartSat = false;
    
    var SonYon = ""; 
    for (int i = 1 ; i < V.Count; i++)
    {
       if (C[i] > Mov[i] && SonYon != "A" ) // alış
       {
          SonYon = "A";
          if (i == V.Count - 2) SartAl = true;
       } 
       if (C[i] < Mov[i]  && SonYon != "S") // satış
       {
          SonYon = "S";
          if (i == V.Count - 2) SartSat = true;
       }
    }
    
    // emir gönder
    var Islem = "";
    var Miktar = 0.0;
    var Pozisyon = Sistem.PozisyonKontrolOku(Sistem.Name + " , " + Sembol);
    
       if (SartAl && Pozisyon <= 0) // alış
       {
          Islem = "ALIS";
          if (Pozisyon == 0) // pozisyonum yoksa 1 lot al
             Miktar = LotSize;
          else if (Pozisyon < 0) // short isem stop and reverse , 2 lot al
             Miktar = LotSize + Math.Abs(Pozisyon);
       }
       else if (SartSat && Pozisyon >= 0) // satış
       {
          Islem = "SATIS";
          if (Pozisyon == 0) // pozisyonum yoksa 1 lot sat
             Miktar = LotSize;
          else if (Pozisyon > 0) // long isem stop and reverse , 2 lot sat
             Miktar = LotSize + Math.Abs(Pozisyon);
       }
    
    
    // Emir Gönder !!!
    if (Islem != "")
    {
       if (Islem == "ALIS")
          Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + Sembol, LotSize);
       else if (Islem == "SATIS")
          Sistem.PozisyonKontrolGuncelle(Sistem.Name + " , " + Sembol, -LotSize);
    
       Sistem.EmirSembol = Sembol;
       Sistem.EmirIslem = Islem; 
       Sistem.EmirMiktari = Miktar;
       Sistem.EmirSuresi = "GUN"; // GUN, SNS, IKG
       Sistem.EmirTipi = "KPY"; // KPY, KIE, GIE, SAR
       Sistem.EmirFiyatTipi = "LMT"; // PYS, LMT, EIF, KAP
       Sistem.EmirFiyati = C[V.Count-2];
       Sistem.EmirGonder();
    
    Sinyalin oluştuğu (kapanmış barın) close değerimi emir fiyatı olarak atadım
    
    
    
    
    }
    Teşekkürler Sezai Bey
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  3. #299
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by Matador38 Yazıyı Oku
    selamlar
    "bir sinyal oluştuktan sonra yeni sinyali X bar geçmeden verme" şartı eklenebilirmi?
     Alıntı Originally Posted by Tiberius Yazıyı Oku
    örnekte 10 bar kullanıldı.

    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var X1 = Sistem.Momentum(100);
    var X2 = Sistem.MA(X1, "Exp", 500);
    var SonYon = "";
    var SinyalBarNo = 0;

    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    if (SonYon != "A" && X1[i] > X2[i] && i > SinyalBarNo + 10)
    {
    SonYon = "A";
    Sistem.Yon[i] = "A";
    SinyalBarNo = i;
    }
    else if (SonYon != "S" && X1[i] < X2[i] && i > SinyalBarNo + 10)
    {
    SonYon = "S";
    Sistem.Yon[i] = "S";
    SinyalBarNo = i;
    }
    }
    Teşekkürler Tiberius
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  4. #300
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    SistemBirlestir isimli yeni fonksiyonun eklendiği versiyon 4.33 güncellemeye hazırdır.
    IDEAL ana menüsündeki Versiyonu Yenile satırını tıklayarak versiyonu güncelleyebilirsiniz.

    Tek bir satır olarak aşağıdaki gibi bir kod yazıp, bunu grafiğe uygulama yeterlidir.

    Kod:
     Sistem.SistemBirlestir("Sistem1", "Sistem2", "Sistem3","Sistem4");
    - Parantez içine istenildiği kadar sistem girilebilir.
    - Birleştirme işlemi YÖNLERİN KONSOLİDASYONU şeklindedir. Yani LONG sayısı fazla ise LONG, SHORT sayısı fazla ise SHORT sinyal üretilir. Long ve Short sayıları eşit ise birleştirilmiş sistem FLAT olur.

    Örnek: Saat Saat 10:30 da iki sistem Long, diğer iki sistem short durumda. Birleştirilmiş sistem FLAT.

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Birden fazla sistemin ürettiği sinyalleri birleştirip, hepsi aynı yönde ise yön değiştiren sistem birleştirme fonksiyonu eklendi.
    Versiyon 4.34 yüklemesini, ana menüdeki Versiyonu Yenile satırına basarak şu an temin edebilirsiniz.

    Boş formül penceresine aşağıdaki gibi bir satırı yazıp kaydetmeniz ve grafiğe uygulamanız yeterli.
    Örneğin iki sisteminiz varsa, ikisi de long iken long sinyali verir, ikisi de short iken shor sinyali verir. İki sistemin yönleri ters ise, yön değiştirmez. (İkiden fazla sistem olmasında değişen bir durum yok, hepsi aynı yönde iken sinyal üretir)

    Kod:
    Sistem.SistemBirlestirAyniYon("Sistem1","Sistem2")
    Örnek:

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    SistemBirlestirAyniYon
    aşağıdaki kodu sistem olarak kullanabilirsiniz.
    kod tüm sistemler aynı yönde ise sinyal üretir.
    mavi renkli bölgede değişiklik yaparak,
    örneğin dört sistemin üçü aynı yönde ise sinyal üret gibi değişiklikler yapabilirsiniz.
    yani bir nevi ihtimal hesabı olarak kullanabilirsiniz.
    yeşil renkli bölgede ise istediğiniz kadar sistem ekleyebilirsiniz.

    kolaylıklar dileriz

    Kod:
    var sistemler = new List<string>();
    
    sistemler.Add("Sistem1");
    sistemler.Add("Sistem2");
    
    
    
    int[,] pozlist = new int[sistemler.Count, Sistem.GrafikVerileri.Count];
    int[] totallist = new int[Sistem.GrafikVerileri.Count];
    string sonyon = "";
    for (int i = 0; i < sistemler.Count; i++)
    {
        var sistemitem = Sistem.SistemGetir(sistemler[i], Sistem.Sembol, Sistem.Periyot);
        sonyon = "";
        for (int j = 0; j < sistemitem.Yon.Count; j++)
        {
            if (sistemitem.Yon[j] != "")
                sonyon = sistemitem.Yon[j];
    
            if (sonyon == "A")
                pozlist[i, j] = 1;
            else if (sonyon == "S")
                pozlist[i, j] = -1;
            else if (sonyon == "F")
                pozlist[i, j] = 0;
        }
    }
    
    for (int j = 0; j < Sistem.Yon.Count; j++)
    {
        for (int i = 0; i < sistemler.Count; i++)
            totallist[j] += pozlist[i, j];
    }
    
    for (int j = 0; j < Sistem.Yon.Count; j++)
        Sistem.Yon[j] = "";
    
    sonyon = "";
    for (int j = 1; j < Sistem.Yon.Count; j++)
    {
        if (totallist[j] == sistemler.Count && sonyon != "A")
        {
            sonyon = "A";
            Sistem.Yon[j] = "A";
        }
        if (totallist[j] == -sistemler.Count && sonyon != "S")
        {
            sonyon = "S";
            Sistem.Yon[j] = "S";
        }
    }
    Teşekkürler Sezai bey
    Son düzenleme : thebaboli; 21-02-2016 saat: 04:36.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  5. #301
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Barların saat ve dakika bilgileri gibi, GÜN bilgisine de ulaşabilirsiniz.

    Veriler[i].Date.DayOffWeek komutu ile.

    Örnek Sistem Senaryosu
    -Günlerden PAZARTESİ ise VE RSI 50'den büyükse AL
    -Diğer günlerde, RSI 70'den büyükse AL
    -RSI 30'dan küçükse SAT
    -Günlerde CUMA, Saat 17:40 olunca FLAT ol

    Kod:
    var Veriler = Sistem.GrafikVerileri;
    var gunler = new List<string>();
    var RSI = Sistem.RSI(14);
    
    for (int i = 0; i < Veriler.Count; i++)
      gunler.Add("");
    
    var SonYon="";
    for (int i = 1; i < Veriler.Count; i++)
    {
       gunler[i] = Veriler[i].Date.DayOfWeek.ToString();
       if (gunler[i] == "Monday" && RSI[i] > 50 && SonYon!="A")
       {
          Sistem.Yon[i] = "A";
          SonYon = "A";
       }
       else if (RSI[i] > 71 && SonYon!="A")// % 2 stop
       {
          Sistem.Yon[i] = "A";
          SonYon = "A";
       }
       else if (gunler[i] == "Friday" && Veriler[i].Date.Hour == 17 && Veriler[i].Date.Minute == 40 && SonYon!="F")
       {
          Sistem.Yon[i] = "F";
          SonYon = "F";
       }
       else if (RSI[i] < 30 && SonYon!="S")// % 2 stop
       {
          Sistem.Yon[i] = "S";
          SonYon = "S";
       }
    }
     Alıntı Originally Posted by Tiberius Yazıyı Oku
    bir değişik yöntem de benden.
    aşağıdaki kod sabah 09:20 öncesi barları dikkate almaz,
    mavi renk.

    Kod:
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var X1 = Sistem.RSI(100);
    var X2 = Sistem.MA(X1, "Exp", 500);
    var SonYon = "";
    
    for (int i = 1; i < Sistem.BarSayisi; i++)
    {
        if (V[i].Date.ToString("HHmm").CompareTo("0920") >= 0)
        {
            if (SonYon != "A" && X1[i] > X2[i])
            {
                SonYon = "A";
                Sistem.Yon[i] = "A";
            }
            else if (SonYon != "S" && X1[i] < X2[i])
            {
                SonYon = "S";
                Sistem.Yon[i] = "S";
            }
        }
    }


    Teşekkürler Sezai Bey
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  6. #302
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

    slm.. matriks e çalışmaktan bitap düştük ..şimdi ideale başladık....en başındayım öneriniz nedir acaba arkadaşlar.. ve bunda hep al-sat var.. açığa sat , a.poz kapat yok mu ki.. illaki vardır ama ben göremedim örneklerde.. ricam vermiş olduğum matriks örneğini al-sat - asat apoz kapat... ve bunu robota çevirmek.. bunu yapan arkadaş olursa çok minnettar olurum tşk.. ayrıca belli kalıpları (tabii kullanmadığınız, copy paste tarzında) paylaşırsanız..çoook memnun olurum.. önerilere açığım..
    email ... [email protected]

    Mov(RSI(14),21,E)>Mov(Mov(RSI(14),89,E),89,E)
    AND (MOV(C,3,s) > MOST(C,2,3)) AND DEMA(C,11)>DEMA(C,21) AND RSI(14)>60.
     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Sanırım şudur;
    (Not: Sistemleri Robot çevirmek için Bkz: http://www.directfn.com.tr/idealsist...atirRobot.html )

    Kod:
    var C = Sistem.GrafikFiyatSec("Kapanis");
    var RSI = Sistem.RSI(14);
    var Mov21 = Sistem.MA(RSI, "Exp", 21); 
    var Mov89 = Sistem.MA(RSI, "Exp", 89); 
    var Mov2 = Sistem.MA(Mov89, "Exp", 89); 
    var Mov3 = Sistem.MA(C, "Simple", 3); 
    var TOMA = Sistem.TOMA(C, 2, 3);
    var DEMA11 = Sistem.DEMA(C, 11);
    var DEMA21 = Sistem.DEMA(C, 21);
    
    var SonYon = "";
    for(int i= 1; i < Sistem.BarSayisi; i++)
    {
       if(Mov21[i] > Mov2[i] && Mov3[i] > TOMA[i] && DEMA11[i] > DEMA21[i] && RSI[i] > 60 && SonYon != "A")
       {
          SonYon = "A";
          Sistem.Yon[i] = "A";
       }
       else if(Mov21[i] < Mov2[i] && Mov3[i] < TOMA[i] && DEMA11[i] < DEMA21[i] && RSI[i] < 40 && SonYon != "S")
       {
          SonYon = "S";
          Sistem.Yon[i] = "S";
       }
    }
    Teşekkürler Sezai bey

    (Not: Bu başlık sadece yazımı tamamlanmış formüller içindir. Soru cevap için => http://www.hisse.net/forum/showthread.php?t=112740 bu başlığı kullanalım
    .)
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  7. #303
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    değerli arkadaşlar,
    iki fonksiyon daha ekledik.
    fonksiyonlar HH ve LL arasındaki farkı hesaplıyor.

    örnek
    var List1 = Sistem.HHLL(100);
    var RSI = Sistem.RSI(100);
    var List2 = Sistem.HHLL(100, RSI);
    Sistem.Cizgiler[0].Deger = List1;
    Sistem.Cizgiler[1].Deger = List2;


     Alıntı Originally Posted by thebaboli Yazıyı Oku
    Üstad bununla ilgili örnek bir paylaşımda bulunabilir misiniz?


     Alıntı Originally Posted by Tiberius Yazıyı Oku
    poyraz kardeşim de sormuş.

    farklı range lerde farklı hızda stratejiler kullanılabilir.
    3 vitesli örnek

    Kod:
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis");
    
    var Range = Sistem.HHLL(100);
    for (int i = 1; i < V.Count; i++)
    {
        if (Range[i] > C[i] * 0.04)  // range %4 den büyük ise
        {
            // strateji 1
        }
        else if (Range[i] > C[i] * 0.02) // range %2 den büyük ise
        {
            // strateji 2
        }
        else // diğer
        {
            // strateji 3
        }
    }


    Teşekkürler
    Son düzenleme : thebaboli; 25-02-2016 saat: 15:22.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  8. #304
    Duhul
    Aug 2011
    İkamet
    Mudanya
    Yaş
    36
    Gönderi
    7,513

    Esas

     Alıntı Originally Posted by gencparaci Yazıyı Oku
    Arkadaşlar robota işlem yaptırdıktan sonra 20 saniye boyunca robotu stoplayacak bir kod arıyorum yardımcı olabilirmisiniz

     Alıntı Originally Posted by Tiberius Yazıyı Oku
    ideal platformunda bu şekilde yapılabilir.
    sanalda test edin.

    Kod:
    var DevamEt = false;
    var Anahtar = Sistem.Name + ", ZAMAN KONTROL";
    var Saat = Sistem.NesneGetir(Anahtar);
    if (Saat == null)
        DevamEt = true;
    else if (DateTime.Now > Saat.AddSeconds(20))
        DevamEt = true;
    
    if (DevamEt)
    {
        var Islem = Sistem.RobotViopAktif("Sistem1", "VIP'VIP-X030", Sistem.AktifViopKontrat, "5", 4);
        if (Islem != "")
            Sistem.NesneKaydet(Anahtar, DateTime.Now);
    }
    Teşekkürler
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

Sayfa 38/40 İlkİlk ... 283637383940 SonSon

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
  •