Sayfa 472/593 İlkİlk ... 372422462470471472473474482522572 ... SonSon
Arama sonucu : 4738 madde; 3,769 - 3,776 arası.

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

  1.  Alıntı Originally Posted by fkucuker Yazıyı Oku
    İyi akşamlar ;
    Twitter' da arkadaşlardan bir talepte bulunmam üzerine daha önce bu forumda yazılmış olan bir Darvas Box kodu gönderildi. Kodu istediğim periyotta yani ölçekte ( 5 bar için değil de Örn : 20 bar için ) kullanılabilecek hale getirmek istedim. Ancak kodda yer alan periyot değerini ve for döngüsü içindeki i değerini değiştirdiğimde alt bantın istediğim şekilde değer aldığını ancak üst bantın (fiyatla yukarıya kayma) istediğim gibi değer almadığını gördüm. Bu konu da yardımcı olabilecek bir arkadaş varsa çok sevinirim. Şimdiden emekleriniz için çok teşekkür ederim.

    ////

    Darvas Box' a yabancıyım.
    Bu göstergeyi hangi periyotta açarsanız(örneğin Aylık, Haftalık, Günlük... 5 Dk...) ona göre değerlerin değişeceğinin farkındasınız değil mi?
    Ayrıca "boxp" ye 5 değeri atanmış ama...
    For döngüsü (i=5 olan değil. O sadece i' nin "-" eksi değer almasını engellemek için ....) değerleri "boxp" değerinin değişmeyeceği öngörülerek yazılmış.
    DönemÇevir fonksiyonu da kullanılmadığı için her periyotda farklı değerler üretilir.
    https://www.kisavade.com/
    Al,sat,tut,yakala,sık,bırak vb. tavsiye için aracı kurumunuzla görüşün.

  2.  Alıntı Originally Posted by obblomovv Yazıyı Oku
    Darvas Box' a yabancıyım.
    Bu göstergeyi hangi periyotta açarsanız(örneğin Aylık, Haftalık, Günlük... 5 Dk...) ona göre değerlerin değişeceğinin farkındasınız değil mi?
    Ayrıca "boxp" ye 5 değeri atanmış ama...
    For döngüsü (i=5 olan değil. O sadece i' nin "-" eksi değer almasını engellemek için ....) değerleri "boxp" değerinin değişmeyeceği öngörülerek yazılmış.
    DönemÇevir fonksiyonu da kullanılmadığı için her periyotda farklı değerler üretilir.
    Farkındayım hocam i nin kullanılma sebebini de anladım ancak dönemçevirle bu kadar hareketli bir uygulama çok repaint yapabilir bu nedenle yeniden kurgulanıp yazılması gerekiyor.Bu sebeple yazılmasını rica etmiştim.

  3. #3771
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,626
    LIB.CS
    twitte sorulmuş uraya atayım.
    daha önce yine buradan almış olduğum kodlar.

    kendim kullanmadım.


    bu örnek sanırım Sn.Tiberius'tandı.
    PHP Code:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;


    namespace 
    ideal
    {
        public class 
    Lib
        
    {
            public List<
    floatCCI(dynamic SistemXdynamic VerilerXint sayiX)
            {
                var 
    SistemX.GrafikFiyatOku(VerilerX"Kapanis");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Yuksek");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Dusuk");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Open");
                var 
    tipikfiyat SistemX.GrafikFiyatOku(VerilerX"Tipik");

                var list = new List<
    float>(new float[C.Count]);
                try
                {
                    if (
    C.Count sayiX)
                    {
                        List<
    floatorttipikfiyat = new List<float>(SistemX.MA(tipikfiyat"Simple"sayiX));
                        var 
    ortsapma = new List<float>(new float[C.Count]);
                        for (
    int i 0C.Counti++)
                        {
                            if (
    >= sayiX)
                            {
                                
    float sapma 0f;
                                for (
    int j sayiX 1<= ij++)
                                    
    sapma += Math.Abs(orttipikfiyat[i] - tipikfiyat[j]);
                                
    ortsapma[i] = sapma sayiX;
                                list[
    i] = (tipikfiyat[i] - orttipikfiyat[i]) / (0.015f ortsapma[i]);
                            }
                        }
                    }
                    return list;
                }
                catch { return list; }
            }

            public List<
    floatRSI(dynamic SistemXdynamic Vint sayiX)
            {
                var list = new List<
    float>(new float[V.Count]);
                var 
    = new List<float>(new float[V.Count]);
                var 
    = new List<float>(new float[V.Count]);
                try
                {
                    var 
    RSI SistemX.RSI(VsayiX);
                    var 
    HHV SistemX.HHV(sayiXRSI);
                    var 
    LLV SistemX.LLV(sayiXRSI);
                    for (
    int i 1SistemX.BarSayisii++)
                    {
                        
    x[i] = RSI[i] - LLV[i];
                        
    y[i] = HHV[i] - LLV[i];
                    }
                    var 
    sum1 SistemX.Sum(x3);
                    var 
    sum2 SistemX.Sum(y3);

                    for (
    int i 1SistemX.BarSayisii++)
                    {
                        list[
    i] = (sum1[i] / sum2[i]) * 100;
                    }
                    return list;
                }
                catch { return list; }
            }

            public List<
    floatMyHHV(dynamic SistemXdynamic Vint sayiX)
            {
                
    // HHV(H,Mov(C,3,E))
                
    var list = new List<float>(new float[V.Count]);
                try
                {
                    var 
    SistemX.GrafikFiyatOku(V"Kapanis");
                    var 
    SistemX.GrafikFiyatOku(V"Yuksek");
                    var 
    SistemX.GrafikFiyatOku(V"Dusuk");
                    var 
    Mov SistemX.MA(C"Exp"sayiX);

                    for (
    int i 100SistemX.BarSayisii++)
                    {
                        var 
    listx SistemX.HHV((int)Mov[i], H);
                        list[
    i] = listx[i];
                    }
                    return list;
                }
                catch (
    Exception e) { MessageBox.Show(e.ToString()); return list; }
            }

            public List<
    floatFxSniper(dynamic SistemXdynamic Vint sayi1int sayi2)
            {
                var list = new List<
    float>(new float[V.Count]);
                try
                {
                    var 
    SistemX.GrafikFiyatOku(V"Kapanis");
                    
    int barCount SistemX.BarSayisi;

                    var 
    mtm = new List<float>(new float[V.Count]);
                    var 
    absmtm = new List<float>(new float[V.Count]);
                    var 
    ErgoCCI = new List<float>(new float[V.Count]);
                    var 
    var1 = new List<float>(new float[V.Count]);
                    var 
    var2 = new List<float>(new float[V.Count]);
                    var 
    var2a = new List<float>(new float[V.Count]);
                    var 
    var2b = new List<float>(new float[V.Count]);

                    for (
    int i sayi2barCounti++)
                        
    mtm[i] = C[i] - C[1];
                    for (
    int i sayi2barCounti++)
                        
    absmtm[i] = Math.Abs(mtm[i]);
                    
    var1 SistemX.MA(mtm"Exp"sayi1);
                    
    var2 SistemX.MA(var1"Exp"sayi2);
                    
    var2a SistemX.MA(absmtm"Exp"sayi1);
                    
    var2b SistemX.MA(var2a"Exp"sayi2);
                    for (
    int i sayi2barCounti++)
                    {
                        if (
    var2b[i] != 0)
                            list[
    i] = (500 var2[i]) / (var2b[i]);
                    }
                    return list;
                }
                catch (
    Exception e) { MessageBox.Show(e.ToString()); return list; }
            }


        }


    Cağlar beyden
    vade sonları Terorik fiyat farklarını devre dışı bırakan örnek kod, yeniş tarihler ilave edilmesi lazım.

    PHP Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;

    namespace 
    ideal
    {
        public class 
    Lib
        
    {
            private const 
    int FutureMinExpireDay 24;

            public 
    readonly List<DateTimeFutureExpireDates = new List<DateTime>
            {
                new 
    DateTime(2018103118150),
                new 
    DateTime(2018083118150),
                new 
    DateTime(2018062918150),
                new 
    DateTime(2018043018150),
                new 
    DateTime(2018022818150),
                new 
    DateTime(2017122918150),
                new 
    DateTime(2017103118150),
                new 
    DateTime(2017082918150),
                new 
    DateTime(2017063018150),
                new 
    DateTime(2017042818150),
                new 
    DateTime(2017022818150),
                new 
    DateTime(2016123018150),
                new 
    DateTime(2016103117450),
                new 
    DateTime(2016083117450),
                new 
    DateTime(2016063017450),
                new 
    DateTime(2016042917450),
                new 
    DateTime(2016022917450),
                new 
    DateTime(2015123117450),
                new 
    DateTime(2015103017450),
                new 
    DateTime(2015083117450),
                new 
    DateTime(2015063017450),
                new 
    DateTime(2015043017450),
                new 
    DateTime(2015022717450),
                new 
    DateTime(2014123117450),
                new 
    DateTime(2014103117450),
                new 
    DateTime(2014082917450),
                new 
    DateTime(2014063017450),
                new 
    DateTime(2014043017450),
                new 
    DateTime(2014022817450),
                new 
    DateTime(2013123117450),
                new 
    DateTime(2013103117450),
                new 
    DateTime(2013082917450),
                new 
    DateTime(2013062817450),
                new 
    DateTime(2013043017450),
                new 
    DateTime(2013022817450),
                new 
    DateTime(2012123117450),
                new 
    DateTime(2012103117450),
                new 
    DateTime(2012083117450),
                new 
    DateTime(2012062917350),
                new 
    DateTime(2012043017350),
                new 
    DateTime(2012022917350),
                new 
    DateTime(2011123017350),
                new 
    DateTime(2011103117350),
                new 
    DateTime(2011082912350),
                new 
    DateTime(2011063017350),
                new 
    DateTime(2011042917350),
                new 
    DateTime(2011022817350),
                new 
    DateTime(2010123117350),
                new 
    DateTime(2010102717350),
                new 
    DateTime(2010083117350),
                new 
    DateTime(2010063017350),
                new 
    DateTime(2010043017350),
                new 
    DateTime(2010022617350),
                new 
    DateTime(2009123117350),
                new 
    DateTime(2009103017350),
                new 
    DateTime(2009083117150),
                new 
    DateTime(2009063017150),
                new 
    DateTime(2009043017150),
                new 
    DateTime(2009022717150),
                new 
    DateTime(2008123117150),
                new 
    DateTime(2008103117150),
                new 
    DateTime(2008082917100),
                new 
    DateTime(2008063017100),
                new 
    DateTime(2008043017100),
                new 
    DateTime(2008022917100),
                new 
    DateTime(2007123117100),
                new 
    DateTime(2007103117100),
                new 
    DateTime(2007083116400),
                new 
    DateTime(2007062916400)
            };

            public 
    bool FutureExpires(DateTime datestring period)
            {
                if (
    FutureExpireDates == null || FutureExpireDates.Any() == false) return false;
                if (
    date.Day FutureMinExpireDay) return false;
                var 
    fed DateTime.MinValue;

                for (
    int i 0FutureExpireDates.Counti++)
                {
                    var 
    expDate FutureExpireDates[i];
                    if (
    date expDate) break;
                    if (
    date.Date == expDate.Datefed expDate;
                }

                if (
    fed == DateTime.MinValue) return false;

                switch (
    period)
                {
                    case 
    "B": return date >= fed.AddSeconds(-30);
                    case 
    "1": return date >= fed.AddMinutes(-2);
                    case 
    "2": return date >= fed.AddMinutes(-4);
                    case 
    "3": return date >= fed.AddMinutes(-6);
                    case 
    "4": return date >= fed.AddMinutes(-8);
                    case 
    "5": return date >= fed.AddMinutes(-10);
                    case 
    "8": return date >= fed.AddMinutes(-20); // Gecmise yonelik hesaplamasi zaman alacagindan direk 20 cikardim.
                    
    case "10": return date >= fed.AddMinutes(-(fed.Minute 10 == 20 fed.Minute 10 10));
                    case 
    "15": return date >= fed.AddMinutes(-(fed.Minute 15 == 30 fed.Minute 15 15));
                    case 
    "20": return date >= fed.AddMinutes(-(fed.Minute 20 == 40 fed.Minute 20 20));
                    case 
    "30": return date >= fed.AddMinutes(-(fed.Minute 30 == 60 fed.Minute 30 30));
                    case 
    "60": return date >= fed.AddMinutes(-(fed.Minute 60 == 120 fed.Minute 60 60));
                    case 
    "120": return date >= fed.AddMinutes(-(fed.Minute 60 == 240 fed.Minute 60 120));
                    case 
    "240": return date.TimeOfDay >= TimeSpan.FromHours(12);
                    case 
    "S": return date.TimeOfDay >= TimeSpan.FromHours(10);
                    case 
    "G": return true;
                }

                return 
    false;
            }
        }


    1 örnek daha. kimden almışım bilmiyorum.

    PHP Code:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;


    namespace 
    ideal
    {
        public class 
    Lib
        
    {
            public List<
    floatCCI(dynamic SistemXdynamic VerilerXint sayiX)
            {
                var 
    SistemX.GrafikFiyatOku(VerilerX"Kapanis");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Yuksek");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Dusuk");
                var 
    SistemX.GrafikFiyatOku(VerilerX"Open");
                var 
    tipikfiyat SistemX.GrafikFiyatOku(VerilerX"Tipik");

                var list = new List<
    float>(new float[C.Count]);
                try
                {
                    if (
    C.Count sayiX)
                    {
                        List<
    floatorttipikfiyat = new List<float>(SistemX.MA(tipikfiyat"Simple"sayiX));
                        var 
    ortsapma = new List<float>(new float[C.Count]);
                        for (
    int i 0C.Counti++)
                        {
                            if (
    >= sayiX)
                            {
                                
    float sapma 0f;
                                for (
    int j sayiX 1<= ij++)
                                    
    sapma += Math.Abs(orttipikfiyat[i] - tipikfiyat[j]);
                                
    ortsapma[i] = sapma sayiX;
                                list[
    i] = (tipikfiyat[i] - orttipikfiyat[i]) / (0.015f ortsapma[i]);
                            }
                        }
                    }
                    return list;
                }
                catch { return list; }
            }

            public List<
    floatRSI(dynamic SistemXdynamic Vint sayiX)
            {
                var list = new List<
    float>(new float[V.Count]);
                var 
    = new List<float>(new float[V.Count]);
                var 
    = new List<float>(new float[V.Count]);
                try
                {
                    var 
    RSI SistemX.RSI(VsayiX);
                    var 
    HHV SistemX.HHV(sayiXRSI);
                    var 
    LLV SistemX.LLV(sayiXRSI);
                    for (
    int i 1SistemX.BarSayisii++)
                    {
                        
    x[i] = RSI[i] - LLV[i];
                        
    y[i] = HHV[i] - LLV[i];
                    }
                    var 
    sum1 SistemX.Sum(x3);
                    var 
    sum2 SistemX.Sum(y3);

                    for (
    int i 1SistemX.BarSayisii++)
                    {
                        list[
    i] = (sum1[i] / sum2[i]) * 100;
                    }
                    return list;
                }
                catch { return list; }
            }

            public List<
    floatMyHHV(dynamic SistemXdynamic Vint sayiX)
            {
                
    // HHV(H,Mov(C,3,E))
                
    var list = new List<float>(new float[V.Count]);
                try
                {
                    var 
    SistemX.GrafikFiyatOku(V"Kapanis");
                    var 
    SistemX.GrafikFiyatOku(V"Yuksek");
                    var 
    SistemX.GrafikFiyatOku(V"Dusuk");
                    var 
    Mov SistemX.MA(C"Exp"sayiX);

                    for (
    int i 100SistemX.BarSayisii++)
                    {
                        var 
    listx SistemX.HHV((int)Mov[i], H);
                        list[
    i] = listx[i];
                    }
                    return list;
                }
                catch (
    Exception e) { MessageBox.Show(e.ToString()); return list; }
            }

            public List<
    floatFxSniper(dynamic SistemXdynamic Vint sayi1int sayi2)
            {
                var list = new List<
    float>(new float[V.Count]);
                try
                {
                    var 
    SistemX.GrafikFiyatOku(V"Kapanis");
                    
    int barCount SistemX.BarSayisi;

                    var 
    mtm = new List<float>(new float[V.Count]);
                    var 
    absmtm = new List<float>(new float[V.Count]);
                    var 
    ErgoCCI = new List<float>(new float[V.Count]);
                    var 
    var1 = new List<float>(new float[V.Count]);
                    var 
    var2 = new List<float>(new float[V.Count]);
                    var 
    var2a = new List<float>(new float[V.Count]);
                    var 
    var2b = new List<float>(new float[V.Count]);

                    for (
    int i sayi2barCounti++)
                        
    mtm[i] = C[i] - C[1];
                    for (
    int i sayi2barCounti++)
                        
    absmtm[i] = Math.Abs(mtm[i]);
                    
    var1 SistemX.MA(mtm"Exp"sayi1);
                    
    var2 SistemX.MA(var1"Exp"sayi2);
                    
    var2a SistemX.MA(absmtm"Exp"sayi1);
                    
    var2b SistemX.MA(var2a"Exp"sayi2);
                    for (
    int i sayi2barCounti++)
                    {
                        if (
    var2b[i] != 0)
                            list[
    i] = (500 var2[i]) / (var2b[i]);
                    }
                    return list;
                }
                catch (
    Exception e) { MessageBox.Show(e.ToString()); return list; }
            }


        }


    bende 3 tane çıktı.

    kullanımı nasıldır.
    bilen arkadaşlar yazarsa faydalanan olur.
    Bear_Bull
    @BearBull26

  4. Konusu açılmışken;

    İdealde sistem modülünden örneğin Sistem.HullMA(Liste, 20) yazarak herhangi bir listeyi kullanarak indikatör hesaplatıyoruz.

    Peki ben Lib.Benimindikatörüm(Sistem,Liste,periyot1, periyot2) şeklinde kendi indikatörlerimde de herhangi bir listeyi okuyabilir miyim ? Basit bir örneği olup paylaşan olursa sevinirim.

  5. İyi günler. Kapanış 1500'ü geçtiğinde alsın, 1450yi aşağı kırdığında satsın. 1450 ile 1500 arası flat kalsın. Kodlamada yardımcı olan arkadaşa teşekkür ederim.

  6.  Alıntı Originally Posted by Utkan Avcı Yazıyı Oku
    İyi günler. Kapanış 1500'ü geçtiğinde alsın, 1450yi aşağı kırdığında satsın. 1450 ile 1500 arası flat kalsın. Kodlamada yardımcı olan arkadaşa teşekkür ederim.
    SonYon ="F" olarak kurgulayınca kodu çözdüm. Kolaycılığa kaçıp sorduğum için kendime kızdım. Cevap verilmemesine sevindim.

  7. Değerli Forum Üyeleri,
    bir konuda yardımınıza ihtiyacım var, ne kadar uğraştıysam da beceremedim maalesef.

    Aşağıdaki kodun içinde robot olduğu için idealgoda çalışmıyor. robotsuz haline ne yaptıysam çeviremedim. Lot sayısı olmadan ve robot olmadan nasıl yapılabilir? çok teşekkür ederim.

    var EmirSembol = "x";
    var EmirSembol1 = "x";
    var Lot = 1;


    var Sembol = EmirSembol ;

    var basicitem = Sistem.YuzeyselVeriOku(EmirSembol);

    double SonFiyat = basicitem.LastPrice;

    var HaftaYuzdeFark = basicitem.NetPerWeek; //hafta % FARK

    var Endeks = Sistem.YuzeyselVeriOku("IMKBX'XU030");

    var HaftaYuzdeFarkEndeks = Endeks.NetPerWeek; //hafta% FARK endeks





    var Anahtar = Sistem.Name + "," + EmirSembol;

    double IslemFiyat = 0;

    DateTime IslemTarih;

    var Miktar = 0.0;

    var Rezerv = "";

    var Pozisyon = Sistem.PozisyonKontrolOku(Anahtar, out IslemFiyat, out IslemTarih);



    if (Pozisyon == 0 && HaftaYuzdeFark > HaftaYuzdeFarkEndeks && Rezerv == "")

    {

    Miktar = Lot;

    Rezerv = "ALIŞ";

    }

    else if (Pozisyon < 0 && HaftaYuzdeFark > HaftaYuzdeFarkEndeks && Rezerv == "")

    {
    Miktar = -2*Pozisyon;

    Rezerv = "ALIŞ";
    }


    else if (Pozisyon == 0 && HaftaYuzdeFark < HaftaYuzdeFarkEndeks && Rezerv == "")

    {

    Miktar = -Lot;

    Rezerv = "SATIŞ";

    }
    else if (Pozisyon > 0 && HaftaYuzdeFark < HaftaYuzdeFarkEndeks && Rezerv == "")

    {

    Miktar = -2*Pozisyon;

    Rezerv = "SATIŞ";

    }

    // Emir Gönder

    var Islem = "";

    if (Sistem.ZamanKontrolDakika(Sistem.Name) >= 60 )
    { // ZamanKontrolSaniye
    Sistem.ZamanKontrolGuncelle(Sistem.Name);

    if (Miktar > 0) Islem = "ALIS";

    if (Miktar < 0) Islem = "SATIS";



    if (Islem != "")

    {

    Sistem.PozisyonKontrolGuncelle(Anahtar, Miktar + Pozisyon, SonFiyat, Rezerv);



    Sistem.EmirIslem = Islem;

    Sistem.EmirSembol = EmirSembol1;

    Sistem.EmirSuresi = "KIE"; // GUN, KIE, IKG

    Sistem.EmirTipi = "Piyasa"; // Piyasa, Limitli, Piyasadan Limite

    Sistem.EmirMiktari = Math.Abs(Miktar);

    Sistem.EmirGonder();

    }}
    Son düzenleme : sercanaksu; 07-12-2020 saat: 20:22. Sebep: düzeltme

  8. merhabalar şu kodu ideale nasıl yazabiliriz
    MACD(260,120,30)+10;
    MOST(MACD(260,120,30)+10,1,0.3)
    macd ye +10 nasıl eklenir

Sayfa 472/593 İlkİlk ... 372422462470471472473474482522572 ... 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
  •