Sayfa 30/40 İlkİlk ... 202829303132 ... SonSon
Arama sonucu : 320 madde; 233 - 240 arası.

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

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

    Esas

     Alıntı Originally Posted by anonimm Yazıyı Oku
    Mevcut sistemde al/sat noktalarını iyileştirme

    Mevcut sistemdeki al/sat noktalarından sonra daha iyi yerlerden fırsat verdiğini görebiliyoruz. Aşağıdaki optimizasyon kodu bunu analiz etmektedir. ( mevcudun "puans" kadar üzerinden şort olmak ya da "puanl" kadar altından long olmak ) . Mevcut sistemimiz optimizasyon ile oluşturulmuşsa zaten en iyi al/sat noktaları yakalandığı için bu kodda (opt) en iyi değerler 0 olacaktır. Ama daha düşük işlem sayılarında farklı seçenekler ortaya çıkabilmektedir.

    (sys1 isimli 20 dk periyotlu sistem örneklenmiştir)

    opt kodu

    Kod:
    // opt kodu
    
    var ad = "sys1" ;
    var sembol = "VIP'VIP-X030";
    var periyot = "20" ;
    var V = Sistem.GrafikVerileriniOku(sembol, periyot);
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    
    var a01 = Sistem.SistemGetir(ad, sembol, periyot ) ;
    
    
    for (var o1 = 0f ; o1 < 0.5f ; o1 +=0.025f ) // 25 puan adımla 500 puana tara
    {
    
    for (var o2 = 0f ; o2 < 0.5f; o2 +=0.025f ) // 25 puan adımla 500 puana tara
    {
    
    
    
    
    var puanl = o1 ;
    var puans = o2 ;
    
    var x1= Sistem.Liste(V.Count, 0) ; 
    var Fiyat= Sistem.Liste(V.Count, 0) ;
    var x1a= Sistem.Liste(V.Count, 0) ; 
    var x1b= Sistem.Liste(V.Count, 0) ; 
    for (int i = 1 ; i < V.Count; i++) 
    {
    x1a[i] = a01.Yon[i] == "A" ? 1 : a01.Yon[i] == "S" ? -1 : a01.Yon[i] == "F" ? 0: x1a[i-1] ;
    
    Fiyat[i] = ( ( x1a[i] == 1 && x1a[i-1] != 1 ) || ( x1a[i] == -1 && x1a[i-1] != -1 ) ) ? C[i] : Fiyat[i-1];
    
    x1[i] = 
    x1a[i] == 1 && C[i] <= ( Fiyat[i] - puanl  )  ?  1 : 
    x1a[i] == -1 && C[i] >= ( Fiyat[i] + puans )  ? -1 : 
    x1a[i] == 0 ? 0 : 
    x1[i-1] ;
    
    }
    
    
    
    
    
    
          
          // önceki taramadaki pozisyonları temizle
          for (int i = 1; i < V.Count; i++)
             Sistem.Yon[i] = "";  
    
    var SonYon = "";
    
    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    
    
       if ( x1[i] == 1 && SonYon != "A"  ) // AL
       {
          Sistem.Yon[i] = "A";   
          SonYon = Sistem.Yon[i];
           
       }
    
    
    
       else if (  x1[i] == -1 && SonYon != "S"  ) // SAT
       {
          Sistem.Yon[i] = "S";  
          SonYon = Sistem.Yon[i];
           
       }
    
    
    
    else if (  x1[i] == 0  &&  (SonYon == "A" || SonYon == "S")   ) // FLAT
       {
          Sistem.Yon[i] = "F";  
          SonYon = Sistem.Yon[i];
           
       } 
    
     
    }
    
          
          Sistem.Optimizasyon(o1, o2 );
    
    }
    }



    sys kodu

    Kod:
    // sistem kodu
    
    var ad = "sys1" ;
    var sembol = "VIP'VIP-X030";
    var periyot = "20" ;
    var V = Sistem.GrafikVerileriniOku(sembol, periyot);
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    
    var a01 = Sistem.SistemGetir(ad, sembol, periyot ) ;
    
    
    
    
    
    var puanl = 0.125f ;
    var puans = 0 ;
    
    var x1= Sistem.Liste(V.Count, 0) ; 
    var Fiyat=  Sistem.Liste(V.Count, 0) ;
    var x1a= Sistem.Liste(V.Count, 0) ; 
    var x1b= Sistem.Liste(V.Count, 0) ; 
    for (int i = 1 ; i < V.Count; i++) 
    {
    x1a[i] = a01.Yon[i] == "A" ? 1 : a01.Yon[i] == "S" ? -1 : a01.Yon[i] == "F" ? 0: x1a[i-1] ;
    
    Fiyat[i] = ( ( x1a[i] == 1 && x1a[i-1] != 1 ) || ( x1a[i] == -1 && x1a[i-1] != -1 ) ) ? C[i] : Fiyat[i-1];
     
    
    x1[i] = 
    x1a[i] == 1 && C[i] <= ( Fiyat[i] - puanl  )  ?  1 : 
    x1a[i] == -1 && C[i] >= ( Fiyat[i] + puans )  ? -1 : 
    x1a[i] == 0 ? 0 : 
    x1[i-1] ;
    
    }
    
    
    
    
    
    
          
     
    
    var SonYon = "";
    
    for (int i = 1; i<Sistem.BarSayisi; i++)
    {
    
    
       if ( x1[i] == 1 && SonYon != "A"  ) // AL
       {
          Sistem.Yon[i] = "A";   
          SonYon = Sistem.Yon[i];
           
       }
    
    
    
       else if (  x1[i] == -1 && SonYon != "S"  ) // SAT
       {
          Sistem.Yon[i] = "S";  
          SonYon = Sistem.Yon[i];
           
       }
    
    
    
    else if (  x1[i] == 0  &&  (SonYon == "A" || SonYon == "S")   ) // FLAT
       {
          Sistem.Yon[i] = "F";  
          SonYon = Sistem.Yon[i];
           
       } 
    
     
    }
    Teşekkürler Anonim
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  2. #234

    Esas

    herhangibir bölgedeki 9 dijitle oluşmuş kusuratlı sayılardan kurtulmak isterseniz veyahutta hesaplamalarınızda hatalara sebebiyet veriyor ise

    aşağıdaki kodlar iş görebilir.

    İlerde bir gün birilerinin ihtiyacı olacak. o yüzden paylastım.

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    erhan bey üstadım bunu dener misin ?

    Sistem.GetiriHesapla("04/11/2006", 0 );
    var Kar = Sistem.GetiriKZ;
    for (int i = 1; i < Sistem.BarSayisi; i++)
    Kar[i] = Sistem.SayiYuvarla(Kar[i],0.025);
     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Truncate fonksiyonunu kullanabilirsin ama işini göreceğini sanmam.
    ondalık kısmı tamamen atar.

    Sistem.GetiriHesapla("04/11/2006", 0 );
    var Kar = Sistem.GetiriKZ;
    for (int i = 1; i < Sistem.BarSayisi; i++)
    Kar[i] = Math.Truncate(Kar[i]);
     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    Round fonksiyonu işini görebilir.
    ondalık basamak sayısını kendin girersin.
    örnekte noktadan sonra 2 basamak bırakır.


    for (int i = 1; i < Sistem.BarSayisi; i++)
    Kar[i] = Math.Round(Kar[i], 2);

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

    Esas

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    IDEAL Yeni versiyona Yeni bir fonksiyon eklenmiştir.

    Fonksiyon Adı: Sistem.StopVeyaKarFlatYuzde(StopYuzde, KarYuzde)

    Örnek: Sistem.StopVeyaKarFlatYuzde(3.5,5.8) = Sistem, pozisyona girdikten sonra %5.8 KAR görürse pozisyon kapatılır. VEYA Pozisyona girdikten sonra görülen en yüksek (short ise en düşük) değerden %3.5 terse dönerse pozisyon kapatılır.

    Yazdığınız sistem veya Robotlarda belli bir YÜZDE KAR elde edildiği an VEYA pozisyona girdikten sonra görülen en yüksek kar noktasından belli bir YÜZDE GERİ DÖNÜŞ olduğunda FLAT olmayı bu fonksiyonu kodunuza ekleyerek sağlayabilirsiniz.

    Aşağıda, 2 Hareketli Ortalamanın kesişimi stratejisine dayalı bir sisteme bu fonksiyonun uygulanmış örneği paylaşılmıştır.
    Alttaki fotoğraf normal sisteme, üstteki fotoğraf ise Bu fonksiyon ile (%5.8 Kar görünce VEYA en yüksek noktadan %3.5 geri dönerse) FLAT olan sisteme aittir.

    NOT-1: Sistemlerinizde GetiriKZ kullanıyorsanız, bu fonksiyonu GetiriKZ den önce yazmanız lazım. YÖN listesin son halini bu fonksiyon verir.
    NOT-2: Parametrelerden herhangi birini SIFIR girerek, tek bir FLAT koşulu kullanabilirsiniz. Örneğin SADECE %x KAR edince FLAT olsun, başka bir flat koşulu olmasın diyorsanız Fonksiyonun ilk (YuzdeStop) parametresini "0" girmeniz yeterli.
    Sistem.StopVeyaKarFlatYuzde(0, KarYuzde) şeklinde...
    (Elbetteki tersi senaryo da mümkün: SADECE En yüksek/düşük noktadan Yüzde x geri dönerse FLAT olsun istiyorsanız, bu kez ikinci parametreyi SIFIR girmeniz gerek)
    NOT-3:Her iki parametre de SIFIR olarak verilirse, sistemini orjinal stratejinizi çalıştırır.
    NOT-4:Bizler test ettik ve kullanıma sunduk elbette ama sizlerin de, gerçek ortamda çalışan sistem/robot kodlarınızda kullanmadan önce mutlaka test etmenizi önemle hatırlatırız.

    Versiyon buradan indirilebilir: www.directfn.com.tr/terminal/ideal.exe

    Saygılarımızla

    Kod:
    var V = Sistem.GrafikVerileri;
    var C = Sistem.GrafikFiyatSec("Kapanis");
    
    
    var A1 = Sistem.MA(C, "Exp", 50);
    var A2 = Sistem.MA(C, "Exp", 100);
    
    var SonYon = "";
    for (int i = 1 ; i < Sistem.BarSayisi; i++)
    {
       if (A1[i] > A2[i] && SonYon != "A" )
       {
            SonYon = "A";
            Sistem.Yon[i] = "A";
        }    
        else if (A1[i] < A2[i] && SonYon != "S" )
        {
            SonYon = "S";
            Sistem.Yon[i] = "S";
       }
    }
    
     Sistem.StopVeyaKarFlatYuzde(3.5,5.8); //Parametre1=YuzdeStop, Parametre2 = YuzdeKarAl

    Teşekkürler Sezai bey

     Alıntı Originally Posted by Tiberius Yazıyı Oku
    yazılıma meraklı arkadaşlar için;
    stop veya kar al fonksiyonunun ideal içindeki kodu aşağıdadır.
    bundan esinlenerek sistem kodlarınıza benzer eklemeler yapabilirsiniz.

    Kod:
    public void StopVeyaKarFlatYuzde(object yuzdestopX, object yuzdekarX)
            {
                try
                {
                    float yuzdestop = yuzdestopX.ToString()._ToFloat() / 100;
                    float karstop = yuzdekarX.ToString()._ToFloat() / 100;
                    float stopval = 0;
                    float karval = 0;
                    string sonyon = "";
    
                    for (int i = 0; i < Yon.Count; i++)
                    {
                        if (Yon[i] != "")
                        {
                            stopval = GrafikVerileri[i].Close;
                            karval = GrafikVerileri[i].Close;
                            sonyon = Yon[i];
                        }
                        else if (Yon[i] == "" && (sonyon == "A" || sonyon == "S"))
                        {
                            if (sonyon == "A")
                            {
                                stopval = Math.Max(stopval, GrafikVerileri[i].High);
                                if (yuzdestop > 0)
                                {
                                    if (GrafikVerileri[i].Close < stopval * (1 - yuzdestop))
                                    {
                                        Yon[i] = "F";
                                        sonyon = "";
                                    }
                                }
                                if (karstop > 0)
                                {
                                    if (GrafikVerileri[i].Close > karval * (1 + karstop))
                                    {
                                        Yon[i] = "F";
                                        sonyon = "";
                                    }
                                }
                            }
                            else if (sonyon == "S")
                            {
                                stopval = Math.Min(stopval, GrafikVerileri[i].Low);
                                if (yuzdestop > 0)
                                {
                                    if (GrafikVerileri[i].Close > stopval * (1 + yuzdestop))
                                    {
                                        Yon[i] = "F";
                                        sonyon = "";
                                    }
                                }
                                if (karstop > 0)
                                {
                                    if (GrafikVerileri[i].Close < karval * (1 - karstop))
                                    {
                                        Yon[i] = "F";
                                        sonyon = "";
                                    }
                                }
                            }
                        }
                    }
                }
                catch { }
            }
     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Yeni Fonksiyonun PUAN bazlı olanı da eklenmiştir. Aşağıda eklenmiş olan iki fonksiyonun da kullanımı gösterilmiştir.
    Sn Bear_Bull, Sorgu ekranıyla ilgili müdahale de yapıldı bu versiyonda.

    Versiyonu Buradan alabilirsiniz.

    www.directfn.com.tr/terminal/ideal.exe

    Saygılarımla

     Alıntı Originally Posted by poyraz2008 Yazıyı Oku
    Birde bu stop ve karalın optimizasyonuda olsa tadından yenmez
     Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    onuda ben hediye edeyim {Sn Exfake nin gönderdiğine ilaveler yapmıştım}

    ilk önce sadece 1 saniye çalıştırıp durdurun sonra

    parametreler kısmından 1-3-5-7-9-11-13-15-17-19 kısımları doldurun
    yada sistemin başında yazan şeyleri parametreler kısmına tek tek kopyalayın.
    tekrar çalıştırın

    // OPT_OZEL_Bear_Bull

    PHP Code:
    Sistem.Parametreler[0] = "OPT Bar sayısı ";  
    Sistem.Parametreler[2] = "Büyük Periyotun Küçüğü ";  
    Sistem.Parametreler[4] = "Büyük Periyotun Büyüğü ";  
    Sistem.Parametreler[6] = "Küçük Periyotun Küçüğü ";  
    Sistem.Parametreler[8] = "Küçük Periyotun Büyüğü ";  
    Sistem.Parametreler[10] = "Take Profit Kar al Küçük [ 1/1000 yazın] ";  
    Sistem.Parametreler[12] = "Take Profit Kar al Büyük [ 1/1000 yazın] ";  
    Sistem.Parametreler[14] = "Zarar Stop ol Küçük [puan] ";  
    Sistem.Parametreler[16] = "Zarar Stop ol Büyük [puan] ";  
    Sistem.Parametreler[18] = "zarar stop adım [puan] ";  




           
    int BarSayisi Convert.ToInt16(Sistem.Parametreler[1]);  //optimizasyon penceresindeki Bar Sayısı textbox’ı ile aynı olmalı
           
    int BuyukperK Convert.ToInt16(Sistem.Parametreler[3]);
           
    int BuyukperB Convert.ToInt16(Sistem.Parametreler[5]);
           
    int KucukperK Convert.ToInt16(Sistem.Parametreler[7]);
           
    int KucukperB Convert.ToInt16(Sistem.Parametreler[9]);
           var 
    TPKAK Convert.ToInt32(Sistem.Parametreler[11]);
           var 
    TPKAB Convert.ToInt32(Sistem.Parametreler[13]);
           
    int ZSOKConvert.ToInt32(Sistem.Parametreler[15]);
           
    int ZSOB Convert.ToInt32(Sistem.Parametreler[17]);
           
    int ZSOA Convert.ToInt32(Sistem.Parametreler[19]);

              
    // TPKAK = Sistem.SayiYuvarla(TPKAK , 0.001);          // TPKAB = Sistem.SayiYuvarla(TPKAB , 0.001);

            
    var Veriler Sistem.GrafikVerileri;
            if (
    BarSayisi Veriler.CountBarSayisi Veriler.Count 1//burası yanlışlıkla grafikteki bar sayısından fazla bir rakam girmeyin diye
            
    var Sistem.GrafikFiyatOku(Veriler"Kapanis"); 
            var 
    KP Sistem.GrafikFiyatOku(Veriler"Ortalama");
            
    string tablobaslik "Sembol;Periyot;Sistem;Bas. Sermaye;Son Sermaye;Kar/Zarar;Kar/Zarar %;Komisyon;Kayma;Net Sermaye;Net Kar/Zarar; Net K/Z %;";
            
    tablobaslik += "En Buyuk Kar;En Buyuk Zarar;Maks. Drawdown;Maks. DD %;CAR;CAR/MDD;IBK;Kontrat;Long;Short;Flat;Stop;ZRR_STP;L_K_al;S_K_Al;Sure";
            
    //Yukardaki iki satır excel tablosunun başlıklarını oluşturmak içindir. Burada yapacağınız değişikliği aşağıdaki ozettablo değişkeninede yapmalısınız.
            //yoksa tutarsızlık oluşur.
            
    using (System.IO.StreamWriter dosya = new System.IO.StreamWriter(@"c:\\ideal\\rapor\\" Sistem.Name "_Opt_Rapor.csv",  false)) dosya.WriteLine(tablobaslik);
            
    //üstteki satır her Hesapla butonuna tıkladığınızda Optimizasyon_MA.csv dosyasını sıfırlar, yoksa oluşturur ve başlıkları yazar.

    for (int BuyukPeriyot BuyukperK BuyukPeriyot <= BuyukperB BuyukPeriyot++)
        {
            for (
    int tpsk TPKAK tpsk <= TPKAB tpsk ++)                    
                {                    
    //      int tplk = tpsk;      
                    
    for (int stpzrr ZSOKstpzrr <= ZSOBstpzrr +=ZSOA )
                        {
                    for (
    int KucukPeriyot KucukperK KucukPeriyot <= KucukperB KucukPeriyot++)
                       {            

                    if (
    KucukPeriyot >= BuyukPeriyot) continue;
                    var 
    time DateTime.Now;
                    var 
    MA1 Sistem.MA(KP"Simple"KucukPeriyot);//örnek kodda 2 ma kesişmesi kullandık
                    
    var MA2 Sistem.MA(K"Exp"BuyukPeriyot);//siz buraya kendi sisteminizi monte edeceksiniz, Allah kolaylık versin..
                    
    for (int i 1Veriler.Counti++)
                        
    Sistem.Yon[i] = ""//önceki sinyalleri sıfırladık.
                    
    float Sermaye 1000f//buraya başlangıç bakiyesini yazıyoruz.
                    
    float KomOran 0.00009f//komisyon oranını yazıyoruz. puan hesabı yapıyorsanız bunlara 0 yazın
                    
    int Kontrat 1//sabit 10 kontrat ile işlem yapıyoruz
                    
    float Kayma 12//kayma aynı şekilde komisyon gibi
                    
    var SermayeEgrisi Sistem.Liste(Sermaye);//burdan sonrası sistem bilgi ekran şeysi kodlarının aynısı olduğundan hızlıca geçiyorum
                    
    var NetSerEgrisi Sistem.Liste(Sermaye);
                    var 
    AlVeTut Sistem.Liste(0);
                    var 
    KomEgrisi Sistem.Liste(0);
                    var 
    KaymaEgrisi Sistem.Liste(0);
                    var 
    IslemMiktari Sistem.Liste(0);
                    var 
    Pozisyon Sistem.Liste(0);
                    var 
    KarZarar Sistem.Liste(0);
                    var 
    Komisyon Sistem.Liste(0);
                    
    float SonPozisyon 0;
                    
    float SonFiyat 0;
                    
    float ToplamKarZarar 0;
                    
    float ToplamKomi 0;
                    
    float HedefFiyat 0;
                    
    float StopFiyat 0;
                    
    int LongSayar 0;
                    
    int ShortSayar 0;
                    
    int FlatSayar 0;
                    
    int StopSayar 0;
                    
    int IslemBar 1;
                    
    int BasBar Veriler.Count BarSayisi;
                    for (
    int i BasBarVeriler.Counti++)
                    {
                        if (
    MA1[1] < MA2[1] && MA1[i] >= MA2[i] && SonPozisyon <= 0)
                        {
    //*****al koşulu bölgesi*****
                            
    if (SonPozisyon == 0IslemMiktari[i] = Kontrat;
                            else if (
    SonPozisyon 0IslemMiktari[i] = Kontrat 2;
                            
    Sistem.Yon[i] = "A";
                            
    LongSayar++;
                            
    IslemBar i;
                            
    SonFiyat Veriler[i].Close;
                            
    HedefFiyat SonFiyat tpsk ;
                            
    StopFiyat SonFiyat stpzrr/1000 ;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else if (
    MA1[1] > MA2[1] && MA1[i] <= MA2[i] && SonPozisyon >= 0)
                        {
    //*****sat koşulu bölgesi*****
                            
    if (SonPozisyon == 0IslemMiktari[i] = Kontrat * -1;
                            else if (
    SonPozisyon 0IslemMiktari[i] = Kontrat * -2;
                            
    Sistem.Yon[i] = "S";
                            
    ShortSayar++;
                            
    IslemBar i;
                            
    SonFiyat Veriler[i].Close;
                            
    HedefFiyat SonFiyat tpsk ;
                            
    StopFiyat SonFiyat stpzrr/1000 ;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else if (
    Veriler[i].High >= HedefFiyat && SonPozisyon 0)
                        {
    //*****long flat koşulu bölgesi*****
                            
    Sistem.Yon[i] = "F";
                            
    FlatSayar++;
                            
    IslemMiktari[i] = Kontrat * -1;
                            
    SonFiyat HedefFiyat;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else if (
    Veriler[i].Low <= HedefFiyat && SonPozisyon 0)
                        {
    //*****short flat koşulu bölgesi*****
                            
    Sistem.Yon[i] = "F";
                            
    FlatSayar++;
                            
    IslemMiktari[i] = Kontrat 1;
                            
    SonFiyat HedefFiyat;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else if (
    Veriler[i].Low <= StopFiyat && SonPozisyon 0)
                        {
    //*****long stop koşulu bölgesi*****
                            
    Sistem.Yon[i] = "F";
                            
    StopSayar++;
                            
    IslemMiktari[i] = Kontrat * -1;
                            
    SonFiyat StopFiyat;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else if (
    Veriler[i].High >= StopFiyat && SonPozisyon 0)
                        {
    //*****short stop koşulu bölgesi*****
                            
    Sistem.Yon[i] = "F";
                            
    StopSayar++;
                            
    IslemMiktari[i] = Kontrat 1;
                            
    SonFiyat StopFiyat;
                            
    SonPozisyon SonPozisyon IslemMiktari[i];
                            
    ToplamKarZarar ToplamKarZarar SonFiyat IslemMiktari[i];
                            
    ToplamKomi SonFiyat KomOran IslemMiktari[i];
                            
    KomEgrisi[i] = KomEgrisi[1] + Math.Abs(ToplamKomi) * 100;
                            
    KaymaEgrisi[i] = KaymaEgrisi[1] + Math.Abs(Kayma IslemMiktari[i] / 10);
                        }
                        else { 
    KomEgrisi[i] = KomEgrisi[1]; KaymaEgrisi[i] = KaymaEgrisi[1]; }
                        
    Pozisyon[i] = SonPozisyon;
                        
    //KarZarar[i] = (ToplamKarZarar + SonFiyat * Pozisyon[i]) * 100; //pozisyon kapanışına göre
                        
    KarZarar[i] = (ToplamKarZarar Veriler[i].Close Pozisyon[i]) * 100//anlık görüntü
                        
    Komisyon[i] = Math.Abs(ToplamKomi) * 100;
                        
    SermayeEgrisi[i] = Sermaye KarZarar[i];
                        
    NetSerEgrisi[i] = Sermaye KarZarar[i] - KaymaEgrisi[i] - KomEgrisi[i];
                        
    AlVeTut[i] = Sermaye + (Veriler[i].Close Veriler[1].Close) * 1000;
                    }

                    var 
    KarZararIs Sistem.Liste(0);
                    
    float KarZararIs1 0;
                    
    int BarNoIs1 1;
                    
    float FarkIs 0;
                    for (
    int i BasBarVeriler.Counti++)
                    {
                        if (
    Sistem.Yon[i] == "A" || Sistem.Yon[i] == "S")
                        {
                            
    FarkIs KarZarar[i] - KarZararIs1;
                            for (
    int j BarNoIs1ij++)
                                
    KarZararIs[j] = FarkIs;
                            
    KarZararIs1 KarZarar[i];
                            
    BarNoIs1 i;
                        }
                        if (
    == Veriler.Count 1)
                        {
                            
    FarkIs KarZarar[i] - KarZararIs1;
                            for (
    int j BarNoIs1Veriler.Countj++)
                                
    KarZararIs[j] = FarkIs;
                        }
                    }
                    var 
    MaksSE Sistem.Liste(0);
                    var 
    DD Sistem.Liste(0);
                    var 
    MDD Sistem.Liste(0);
                    var 
    MaksIKZ Sistem.Liste(0);
                    var 
    MinIKZ Sistem.Liste(0);
                    
    float MDDY 0;
                    for (
    int i BasBarVeriler.Counti++)
                    {
                        if (
    SermayeEgrisi[i] <= MaksSE[1]) MaksSE[i] = MaksSE[1]; else MaksSE[i] = SermayeEgrisi[i];
                        if (
    SermayeEgrisi[i] < MaksSE[i]) DD[i] = SermayeEgrisi[i] - MaksSE[i];
                        if (
    DD[i] >= MDD[1]) MDD[i] = MDD[1]; else { MDD[i] = DD[i]; MDDY = (MaksSE[i] - Math.Abs(MDD[i])) / MaksSE[i] - 1; }
                        if (
    KarZararIs[i] <= MaksIKZ[1]) MaksIKZ[i] = MaksIKZ[1]; else MaksIKZ[i] = KarZararIs[i];
                        if (
    KarZararIs[i] >= MinIKZ[1]) MinIKZ[i] = MinIKZ[1]; else MinIKZ[i] = KarZararIs[i];
                    }
                    
    float CAR = (float)Math.Pow(SermayeEgrisi[SermayeEgrisi.Count 1] / Sermaye365f / (Veriler[Veriler.Count 1].Date Veriler[1].Date).Days) - 1;
                    
    float CARMDD CAR MDDY;
                    
    string ozettablo "";
                    
    ozettablo += Sistem.Sembol ";" Sistem.Periyot ";" "MA-" KucukPeriyot "-" BuyukPeriyot ";";
                    
    ozettablo += Sermaye.ToString("N2") + ";";
                    
    ozettablo += SermayeEgrisi[SermayeEgrisi.Count 1].ToString("N2") + ";";
                    
    ozettablo += KarZarar[KarZarar.Count 1].ToString("N2") + ";" + ((SermayeEgrisi[SermayeEgrisi.Count 1] / Sermaye) - 1).ToString("P2") + ";";
                    
    ozettablo += KomEgrisi[KomEgrisi.Count 1].ToString("N2") + ";";
                    
    ozettablo += KaymaEgrisi[KaymaEgrisi.Count 1].ToString("N2") + ";";
                    
    ozettablo += NetSerEgrisi[NetSerEgrisi.Count 1].ToString("N2") + ";";
                    
    ozettablo += (NetSerEgrisi[NetSerEgrisi.Count 1] - Sermaye).ToString("N2") + ";" + ((NetSerEgrisi[NetSerEgrisi.Count 1] / Sermaye) - 1).ToString("P2") + ";";
                    
    ozettablo += MaksIKZ[MaksIKZ.Count 1].ToString("N2") + ";";
                    
    ozettablo += MinIKZ[MinIKZ.Count 1].ToString("N2") + ";";
                    
    ozettablo += MDD[MDD.Count 1].ToString("N0") + ";" MDDY.ToString("P2") + ";"//+ Kontrat.ToString("N0") + ";";
                    
    ozettablo += CAR.ToString("N2") + ";" CARMDD.ToString("N2") + ";";
                    
    ozettablo += (SermayeEgrisi[SermayeEgrisi.Count 1] / (LongSayar ShortSayar)).ToString("N2") + ";" Kontrat.ToString("N0") + ";";
                    
    ozettablo += LongSayar ";" ShortSayar ";";
                    
    ozettablo += FlatSayar ";" StopSayar ";";
                    
    ozettablo +=   stpzrr ";";
                    
    ozettablo +=   tpsk ";";
                    
    ozettablo +=   tpsk ";";
                    
    ozettablo += (DateTime.Now time).Milliseconds " ms..";
                    
    //yukarıdaki ozettablo değişkenine hesaplanan bütün değerleri ekliyoruz. buralarda değişiklik yaparken dikkat, tutarsızlıklara neden olabilir.
                    //bu ozettablo csv dosyasına satır satır yazılan optimizasyon sonuçlarıdır
                    
    using (System.IO.StreamWriter dosya = new System.IO.StreamWriter(@"c:\\ideal\\rapor\\" Sistem.Name "_Opt_Rapor.csv",   true)) dosya.WriteLine(ozettablo);
                    
    //üsteki kod, var olan Optimizasyon_MA.csv dosyasına ozettablo değişkenini satır satır yazar. 
                    
    Sistem.Optimizasyon("MA"KucukPeriyotBuyukPeriyottpsk ,tpsk,stpzrr );
                }
            }  
           }
          }
      
    //   } 
     Alıntı Originally Posted by şef Yazıyı Oku
    optimizasyon yapacağımız sistemin başına opt yazıp kaydediyorum.

    al-sat şartlarının(strateji) hemen üstüne,

    for (double P1 = 1; P1<3; P1+=0.1)
    {
    for (double P2 = 1; P2<6; P2+=0.1)
    {


    en altada;


    Sistem.StopVeyaKarFlatYuzde(P1,P2); //Param1=Stop, Param2 = KarAl
    Sistem.Optimizasyon( P1 , P2);
    }
    }
    Son düzenleme : thebaboli; 01-10-2015 saat: 01:20.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

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

    Esas

     Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    teşekkürler Sezai bey

    kopyaladığım yerde
    count-1 varmış değişiklik yapınca atlamışım

    geçici sinyal için kolay bir örnek {çok kısa 2 satır} alabilir miyim?

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Son barı önceden tanımlayıp o şekilde kullanmak da bir çözüm. Örnek bir robot (sisteminin grafiğe uygulanmış hali de) aşağıda..

    Kod:
    var Periyot = "60";
    var Sembol = "VIP'VIP-X030";
    var Veriler = Sistem.GrafikVerileriniOku(Sembol, Periyot);
    var C = Sistem.GrafikFiyatOku(Veriler,"Kapanis");
    var A = Sistem.Sum(C,5);
    var B = Sistem.Liste(Veriler.Count,0);
    int SonBar = Veriler.Count-1; 
    var Miktar = 0;
    
    
    for (int i=3; i<Veriler.Count; i++)
      B[i] = A[i]+A[i-1]-A[i-2]-A[i-3];
    
    var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);
    var Islem ="";
    
    
    var SartAL= B[SonBar] > 3.73;
    var SartSAT= B[SonBar] < -3.73;
    
      
      if (Pozisyon == 0 && SartAL) 
       {
          Islem = "ALIS";
          Miktar = 1;
        }
       else if (Pozisyon < 0 && SartAL)
       {
          Islem = "ALIS";
          Miktar = 2;
       }
       else if (Pozisyon == 0 && SartSAT) 
       {
          Islem = "SATIS";
          Miktar = 1;
       }
       else if (Pozisyon > 0 && SartSAT)
       {
          Islem = "SATIS";
          Miktar = 2;
       }
    var SonFiyat = Sistem.SonFiyat(Sembol);
    // emri gönder
    if (Islem != "")
    {
       if (Islem == "ALIS")
          Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon+Miktar);
       else if (Islem == "SATIS")
          Sistem.PozisyonKontrolGuncelle(Sembol, Pozisyon-Miktar);
    
       Sistem.EmirSembol = Sembol;
       Sistem.EmirIslem = Islem;      
       Sistem.EmirMiktari = Miktar;
       Sistem.EmirSuresi = "GUN";      // GUN, SNS, IKG
       Sistem.EmirTipi = "KPY";        // KPY, KIE, GIE, SAR
       Sistem.EmirFiyatTipi = "PYS";  
       Sistem.EmirFiyati = SonFiyat; // PYS, LMT, EIF, KAP
       Sistem.EmirGonder();
    }
    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!

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

    Esas

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

    Yeni versiyonu kullanıma sunmuş bulunuyoruz.
    Sistem.RobotViopAktif fonksiyonuna yeni bir parametre eklenmiştir.

    Sistem.RobotViopAktif("SistemAdı", "Baz Sembol", "Emir Sembol", "Periyot", "Adet","SANIYE");
    Saniye değeri girilmişse, son barda sinyal gelmişse, barın kapanmasına o kadar SANİYE kala emir gönderilecektir.

    Aşağıdaki fotolarda da gösterdiğim gibi, sistem LONG durumda iken robotu çalıştırdım ve robot LONG'a geçti.
    Sonra son barda SAT sinyali geldi. Bar kapanmasına 5 saniye kala emri göndermesi için, fonksiyonun SANİYE parametresine 5 girdim ve Bar kapanmadan (yeni barın açılmasını beklemeden) Robot sinyali işledi.

    abonelerimize, SANAL MODDA çok iyi test etmeden, gerçek ortamda bu fonksiyonu kullanmamalarını önemle hatırlatırız.

    Aşağıdaki detayları bilgilerine sunarım;

    -SANİYE verisi girilmiş ise, herhangi bir barda sinyal geldiği zaman, barın kapanması beklenmeden emir (barın kapanmasına, girilen kadar saniye kala) gönderilir.
    -Grafik periyodunuz ne olursa olsun, son barda sinyal gelmişse: SAAT 12:30 ve 17:45 olmasına SANİYE değeri kadar süre kala emir iletilir... (yarım gün tatil günlerde seans 12:30 da değil 12:45 de bitiyor. Bu durumda bu fonksiyon kullanılıyorsa 12:29:xx olunca (son barda sinyal de varsa) emir iletilir. Buna dikkat edilmesi lazım.
    -Sistemde kullanılan Saat verisi, yayın saatidir. Saatte bazen 1-2 saniyelik senkronizasyon kaymaları olabileceği, sistemin çalışması ve tüm hesapların yapılıp robota sinyalin iletilmesinin de zaman alacağı hesaba katılarak planlama yapılmalıdır.
    -SANİYE değerine 60'dan daha büyük bir değer girilemez.
    -Bu fonksiyon, VIOP Seans başlangıç/bitiş saatleri filtresi içerir.
    -Son barın kapanmasına X saniye kala emrin iletilmesinden sonra, kalan çok kısa sürededeki veri değişimleri repiant olayına ve dolayısıyla yeniden sinyal/emir üretilmesine neden olabilir.

    Versiyonu buradan alabilirsiniz.: www.directfn.com.tr/terminal/ideal.exe

    Saygılarımızla



     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    SANİYE değerini "7" olarak girdiğim 60 dakikalık periyotta çalışan robotum, piyasanın kapanmasına 7 saniye kala Son barda gelmiş olan sinyalin gereğini yapıp SATIŞ emrini yolladı.
    Gün sonunda, son barda sinyal varsa emri göndermesi testi de başarılı oldu.

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

    Son yapılan güncellemeyi içeren versiyonu aşağıdaki adresten indirebilirsiniz;

    www.directfn.com.tr/terminal/ideal.exe

    Kod:
     var Islem = Sistem.RobotViopAktif("Sistemizinin Adı", "Grafik Baz Sembol", "Emir Verilecek Sembol", Periyot", ADET, SANIYE, 0/1); //0=Tüm barlarda, 1=SADECE SEANS/GÜN SONUNDA
    Son parametre 0 ise, Girilen SANİYE kadar önce emir iletimi, sinyal gelmiş TÜM BARLARDA geçerli.
    Son Parametre 1 ise, Sadece 12:30 ve 17:45 den önce, son barda SİNYAL VARSA, girilen SANİYE kadar önce emir iletilir.

    İyi çalışmalar
    Teşekkürler Sezai bey

     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    arkadaşlar ya ben iyi anlatamıyorum,
    ya da yazıları dikkatli okumuyorsunuz.

    şef hocam,
    sen sistem stratejinde ne kadar hatalı işlem yapsan da
    emir göndermeyi aşağıdaki kod ile yaparsan
    döngüye yakalanmazsın.


    var Anahtar = Sistem.Name + ", AYNI BAR KONTROL";
    var Saniye = Sistem.ZamanKontrolSaniye(Anahtar);
    if (Saniye > 7)
    {
    var Islem = Sistem.RobotViopAktif("AS4", "VIP'VIP-X030" , Sistem.AktifViopKontrat, "1", 4, 7, 0);
    if (Islem !="")
    {
    Sistem.ZamanKontrolGuncelle(Anahtar);
    // Mail Gönder
    }
    }
     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    RobotViopAktif
    fonksiyonunu aynı bar için uygulamazsanız
    robot bar kapandığında emir gönderir.
    siz isterseniz stratejiniz içinde her nano saniye yön değiştirin,
    bar kapandığındaki sinyal ne ise o dikkate alınır.

    aynı bar içinde son yedi saniye emir gönder derseniz,
    yukarıdaki kod emir gönderdikten sonra 7 saniye boyunca emir göndermeyi keser
    ve yeni bar açılır.
    yeni bar açılınca da yeni barın bitimine 7 saniye kalana kadar robot pasif durur.
     Alıntı Originally Posted by şef Yazıyı Oku
    son 7 sn de emri gönderdi, sonra sinyal kayboldu, buna uymak için yeni barın açılışı ile pozunu düzelteceği emri gönderecek, ve sonra barın son 7sn ne kadar pasif duracak. doğru anlamış mıyım?
     Alıntı Originally Posted by iDealTrade Yazıyı Oku
    aynen .
    Son düzenleme : thebaboli; 13-10-2015 saat: 15:52.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

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

    Esas

     Alıntı Originally Posted by ykoc Yazıyı Oku
    Muhtemelen 97425 göreceğimiz en yüksek oldu bu rallide. Pivot direncide vardı orda gitti dokundu oraya. Yarın sat verir benim sistem. inşallah yanılırım . İşi abartıp Tiberiusa son yön longsa boğa , şortsa ayı fotosu nasıl ekletilebilir diye soracam da çekiniyorum . Çekinmemdeki sebep yapılabiliyor demesi .

     Alıntı Originally Posted by Sezai KILIÇ Yazıyı Oku
    Kod:
    if (SonYon == "A")
       Sistem.ResimEkle("d:\\boga.png",1,0,40);
    else if (SonYon == "S")
       Sistem.ResimEkle("d:\\ayi.png",1,0,40);
    else 
       Sistem.ResimEkle("d:\\ucurum.png",1,0,40);
    Teşekkürler Sezai bey

     Alıntı Originally Posted by poyraz2008 Yazıyı Oku
    Sezai bey ykoc un isteğine birde zemin yazısı eklemek istedim ama nerede hata yaptım acaba?

    i
     Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    var Renk1 = Sistem.Renk(255, 255,215,0);
    if (SonYon == "A") Sistem.ZeminYazisiEkle("BOĞA", 1, 450, 50, Renk1, "Algerian", 34);
    else if (SonYon == "S") Sistem.ZeminYazisiEkle("AYI", 1, 450, 50, Renk1, "Algerian", 34);
    else Sistem.ZeminYazisiEkle("BEKLE", 1, 450, 50, Renk1, "Algerian", 34);
    Teşekkürler Bearbull abi
    Son düzenleme : thebaboli; 07-10-2015 saat: 23:57.
    Forum kurallarını okumak için tıklayınız!
    Not: Forumumuzda dini, siyasi ve futbol taraftarlığı içeren yazılar kabul edilmiyor!

  7. #239
    Duhul
    Sep 2007
    İkamet
    İstanbul
    Yaş
    40
    Gönderi
    164

    Esas

    Optimizasyon ile uğraşırken ihtiyaç duyduğum basit bir kodu paylaşıyım.



    PHP Code:
    var veri Sistem.GrafikVerileriniOku("VIP'VIP-X030","5"); //Grafik bilgilerini giriniz.
    var tarih DateTime.Parse("02.01.2015 9:10"); //Aradığınız tarihi giriniz. Formul Test butonuna tıklayınız.
    var mesaj "";
    var 
    yok false;
    for(
    int i=1;i<veri.Count;i++)
    {
    if(
    veri[i].Date.Year == tarih.Year)
    {
    if(
    veri[i].Date.Month == tarih.Month)
    {
    if(
    veri[i].Date.Day == tarih.Day)
    {
    if(
    veri[i].Date.Hour == tarih.Hour)
    {
    if(
    veri[i].Date.Minute == tarih.Minute)
    {
     
    mesaj tarih.ToString() + " tarihi, grafiğinizde "+i.ToString("N0")+" numaralı bardır.\r\nSon bardan geriye "+(veri.Count-i).ToString("N0")+" adet bar bulunmaktadır.";
     
    yok false;
     break;
    }
    else 
    yok true;
    }
    else 
    yok true;
    }
    else 
    yok true;
    }
    else 
    yok true;
    }
    else 
    yok true;
    }
    if(
    yokmesaj "Aradığınız tarih bulunamadı.\r\nBar eksik veya tatil gününe denk gelmiş olabilir.";
    Sistem.Mesaj(mesaj); 

  8. #240
    Duhul
    Sep 2007
    İkamet
    İstanbul
    Yaş
    40
    Gönderi
    164

    Esas PSO Algoritması ile optimizasyon

    Merhaba,
    Bişeyler karaladım ama maalesef istediğim gibi olmadı , umarım birilerinin işine yarar.
    Bu örnek optimizasyon kodu:
    PHP Code:
    User.TaramaSayisi 2//Tam taramayı kaç kere tekrar edecek
    User.TaramaBoyutu 1000//1 taramada kaç tekrar yapacak
    User.AlgoParam "Default"//Hangi parametrelerle çalışacak
    User.Optimize(5,50); //1. optimize işlemini ekliyoruz
    User.Optimize(5,50); //2. optimize işlemini ekliyoruz
    User.OptimizeBaslat(); //Başlatıyoruz

    var Kapanis Sistem.GrafikFiyatSec("Kapanis"); //Sisteminizin sabit değişkenlerini for döngülerinin dışına tanımlıyorsunuz

    for(int z 0z<User.TaramaSayisi;z++) //Tam tarama döngüsü
    {
    for (
    int x 0User.AjanSayisi && User.Devam(xUser.gFitnessUser.gFeasible); x++) //İlk parçacık sürüsünü hesaplatıyoruz
    {
    User.IlkSuruyuGonder(x);//ilk sürünün listelerini oluşturuyoruz
    /**************Bu aralığa kendi sisteminizi yazıyorsunuz******************/
             
    var MA1 Sistem.MA(Kapanis"Exp"User.RandomOpts[x][0]); //Yukarıda eklediğimiz optimize işlemini ma1'e tanımlıyoruz
             
    var MA2 Sistem.MA(Kapanis"Exp"User.RandomOpts[x][1]); //Yukarıda eklediğimiz optimize işlemini ma2'ye tanımlıyoruz
             
    Sistem.KesismeTara(MA1MA2);
             
    Sistem.GetiriHesapla("01.01.2015",0);
             
    Sistem.Optimizasyon("MA", (int)User.RandomOpts[x][0], (int)User.RandomOpts[x][1]); //Yukarıda eklediğimiz optimizeleri sistem.optimizasyon modülüne tanımlıyoruz
    User.KZList[x] = Sistem.GetiriKZ[Kapanis.Count-1]; //Sistemin getirisini algoritmaya gönderiyoruz
    /*************************************************************************/
    User.IlkSonuclariAl(x); //ilk sürünün sonuçlarını alıyoruz
    }

    for (
    int i User.AjanSayisiUser.Devam(iUser.gFitnessUser.gFeasible); ) //Sürünün geri kalanını hesaplatıyoruz
    {
    for (
    int x 0User.AjanSayisi && User.Devam(iUser.gFitnessUser.gFeasible); x++, i++)  //Sürüyü ajansayısına bölerek hesaplatıyoruz
    {
    User.TumSuruyuGonder(x);//listeleri oluşturuyoruz
    /**************Bu aralığa kendi sisteminizi yazıyorsunuz******************/
             
    var MA1 Sistem.MA(Kapanis"Exp", (int)User.RandomOpts[x][0]); //Yukarıda eklediğimiz optimize işlemini ma1'e tanımlıyoruz
             
    var MA2 Sistem.MA(Kapanis"Exp", (int)User.RandomOpts[x][1]); //Yukarıda eklediğimiz optimize işlemini ma2'ye tanımlıyoruz
             
    Sistem.KesismeTara(MA1MA2);
             
    Sistem.GetiriHesapla("01.01.2015",0);
             
    Sistem.Optimizasyon("MA", (int)User.RandomOpts[x][0], (int)User.RandomOpts[x][1]); //Yukarıda eklediğimiz optimizeleri sistem.optimizasyon modülüne tanımlıyoruz
    User.KZList[x] = Sistem.GetiriKZ[Kapanis.Count-1]; //Sistemin getirisini algoritmaya gönderiyoruz
    /*************************************************************************/
    User.TumSonuclariAl(x);//sonuçları alıyoruz
    }
    }

    Bu kullanma kılavuzu.
    Bu Dll dosyası.
    Bu Dll'in kaynak kodu.
    Buda meraklısı için algoritmanın orjinal kaynak kodu.
    Hadi kolay gelsin..

Sayfa 30/40 İlkİlk ... 202829303132 ... 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
  •