Matriks'te system tester kullanımı

Collapse
Bu konu sabit bir konudur.
X
X
 
  • Saat
  • Show
Clear All
new posts
  • Bear_Bull
    Spread Trader
    • 09 Şubat 2009
    • 773

    #1

    Matriks'te system tester kullanımı

    Matriks'te system tester kullanımı

    matriks te açılmış bir grafiğin üzerinde iken

    KHN >> System tester >>> yeni sistem diyoruz.




    3. resimdeki yapılan işlemi kullandığımız opt sayısı kadar yapmak durumundayız.
    3 opt kullandığımızdan 3 kez yapılacak ve
    alt
    üst
    adım olarak sistemin test etmesi gereken aralıkları gireceğiz.
    yaptığımız kadarı ile Macd için uygun seviyeleri sistemi çalıştırdığımızda sonuç olarak verecektir bu sonuçlar ile veya kendi standard değerleri ile sonradan tekrar yazıp hisse veya Endexler üzerinde nerelerde al ve sat verdiğini % kaç getiri/ götürü sağladığını
    zararlı ve karlı işlem sayısını test sonucunda görebiliriz.




    simülasyonu çalıştırıp değerlerimizi bulduktan sonra
    oradaki değerlere göre kendinize yeni bir macd formülü yazabilirsiniz.
    Bis standard değerlere göre yazılmış macd(26,12,9) ile devam edelim.



    standart macd simülasyonumuzu çalıştıralım.

    karşınıza çıkan yerdeki yerleri isteğimize göre doldurup çalıştır dedikten sonra sonuçları karşımıza çıkaracaktır.
    Kolay gelsin.
    Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)
  • Bear_Bull
    Spread Trader
    • 09 Şubat 2009
    • 773

    #2
    Macd (orjinal değerleri ile oynanmış ) ve 30 dk.lık periyotta test edilmiş değeri bulunmuş bir sistemimi endex 30 hisselerinde çalıştırdım ve bazı senetlerin dediğim gibi sisteme uymadığını ve zarar yazdığını görmüş oldum.

    bu vesile ile her sistemin her senette % 100 performansla çalışmadığı belli oldu.
    Her senette kar yazan bir sistem yazabilirsek Altın Formül'ü bulmuş oluruz.

    Her senet kendi dinamiklerine göre değerlendirilip senet hareketlerine göre sistem yazılırsa, sistemler daha başarılı olur.

    Testte zarar yazdığı görülen senetlere başka sistemlerle bakılacak olursa mutlaka onlarda da kar yazan sistemler geliştirilebilir ama bu seferde kar yazanlarda ya performans azalması olacaktır, veya bu sefer onlar zarar yazacaktır.

    Orijinal resim büyük olduğu için boyutları düzenlenmiştir. Tüm resmi görmek için tıklayınız.
    Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

    Yorum

    • simurg
      Administrator
      • 10 Mart 2007
      • 9248

      #3
      Her senet için, farklı opt. değerlerini bulacağız o zaman. Peki bu değerler zaman aralıklarına göre de değişir mi ?(15-30-60 vb.)
      https://twitter.com/keyborsa_simurg

      Yorum

      • Bear_Bull
        Spread Trader
        • 09 Şubat 2009
        • 773

        #4
        simurg Nickli Üyeden Alıntı Mesajı göster
        Her senet için, farklı opt. değerlerini bulacağız o zaman. Peki bu değerler zaman aralıklarına göre de değişir mi ?(15-30-60 vb.)

        Vobta genellikle 5-10-15 eğer trend varsa günlüklerde bile aynı değerler çalşabilir






        ama hisselerde aynı fiyat mesela aklıma ilk gelen KRDMD saatlerce aynı fiyatlardan işlem görebileceği için hisselerde 30 ve 60 dk.lıktan daha önceki periyotlar sürekli al-sat yaptıracağından işe yaramaz en azından aşağıdaki grafikte öyle gözüküyor incelense daha bir sürü bu şekil senet çıkabilir.

        Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

        Yorum

        • Bear_Bull
          Spread Trader
          • 09 Şubat 2009
          • 773

          #5
          Key Kafe ye yazdım burayada alıntılayalım.
          MOST test için.
          AL
          Cross(MOV(C,OPT1,S),MOST(C,OPT1,OPT2))

          SAT
          Cross(MOST(C,OPT1,OPT2),MOV(C,OPT1,S))


          Değişkenler
          opt1= 3-10 arası adım 1
          opt2= 2-5 arası adım 0,1

          olarak systesterden deneyerek her hisse ve periyot için ayrı ayrı olmak kaydı ile en iyi çalışanı bulunabilir.

          kolay gelsin.
          Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

          Yorum

          • Bear_Bull
            Spread Trader
            • 09 Şubat 2009
            • 773

            #6
            Systester' in VOB testlerinde azizliği :(:(:(

            Kullanırken dikkate alırsınız.

            gelen bir soru üzerine yazdıklarım burada da bulunsun.
            Soru
            sistem testinde bir kaç sistemi test ediyorum. son 500 barda. genelde getiriler birbirine yakın çıkıyor. 1000 tl 1200 oluyor en fazla.

            millet testlerde aylık 6000 - 7000 puanlardan bahsediyor
            Alıntı:
            Originally Posted by Bear_Bull
            Dediğiniz testleri çok yaptım hatta 150.000 e kadar test yapan yüzlerce formül bile yazdım saatlerce sonuç vermesini bekledim. Sonra sonuçlarını beğenmedim.

            Hatta Systester de çıkan kar zarar rakamlarının (para olarak ekranın altında çıkan indikatör gibi olan şey) bile tam olmadığını farkettim

            yaptığı işlemleri Excel dosyasına atarak
            al-sat işlemlerini tek tek excel de formül yaparak hesapladım.


            vob için test yapıyorsanız işlemler bölümünü excell e atıp oradan hesaplatmanız lazım.
            Garibim makina 600 puanın % 10
            6000 puanın %100 kazandırdığını hesaplayamıyor yani kaldıraçlı olarak hesap yapamıyor.
            Hisse senetleri için testler belki doğrudur ama VOB için elle hesaplamak lazım.

            excele göre edilen kar




            matriks systestere göre durumu

            1200 tl 1480 tl olmuş




            poz başına 12,650 puan kazanmış

            başlangıç 2 poz desek 1200 tl
            12,650*2= 25,300 puan
            25,300 puan = 2530 tl
            1200+2530=3730 tl olması lazım doğru hesabın
            (komisyonları dikkate almadım)
            Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

            Yorum

            • Bear_Bull
              Spread Trader
              • 09 Şubat 2009
              • 773

              #7
              yukarıda yazdıklarıma ek olarak

              aşağıdaki dosyalar ek olarak bulunsun

              bu gün yine bir sistem üzerinde her periyotta sistem test ettim
              dolayısıyla EXCELL de bir sürü hesaplama yapmak zorunda kaldım.k24k24

              excel dosyalar içinde hem sistem sinyalleri, hem getiri grafikleri mevcut.
              Ama hesaplamalar sonucu getiriler farklı.

              Yazdığınız bir sistem indikatör Bölümünde zararda gösteriyor olsa EXCELL e aktarım yaparak bir hesaplamada kendiniz yapın.
              Ne olur ne olmaz belki güzel bir sistem bulmuş ama Matriksin hesaplama azizliğine uğramış olabilirsiniz.
              Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

              Yorum

              • Bear_Bull
                Spread Trader
                • 09 Şubat 2009
                • 773

                #8
                5 değişik sistemin yine değişik periyotlarda getiri/götürü hesaplamalarını yaptım.

                BB_1 sys getiri sonuçları http://shar.es/cMCp0

                BB_2 sys getiri sonuçları http://shar.es/cM8qh

                BB_3 sys getiri sonuçları http://shar.es/cMtHc

                BB_4 SYS Getiri sonuçları http://shar.es/cM8d4

                BB_5 SYS getiri sonuçları http://shar.es/cM8iX



                Matriks üzerinden sistemini otomatik çalıştırmak isteyen,
                veya makina başında kendisi takip ederek emir gönderme imkanı olan kişiler ilgilenirlerse inceleyebilirler.
                Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

                Yorum

                • Bear_Bull
                  Spread Trader
                  • 09 Şubat 2009
                  • 773

                  #9
                  Hisseler üzerinde yapılmış sonuçlar.
                  @bearbull26

                  x30 hisse sys test sonuçları http://shar.es/cLXwv


                  BB_1_SYS 30 hisse grafikleri http://shar.es/cLHdu

                  BB_2_SYS 30 hisse grafikleri http://shar.es/cLoJK

                  BB_3_SYS 30 hisse grafikleri http://shar.es/cLWPC

                  BB_4_SYS 30 hisse grafikleri http://shar.es/cLgMP

                  BB_5_SYS 30 hisse grafikleri http://shar.es/cLroB
                  Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

                  Yorum

                  • Bear_Bull
                    Spread Trader
                    • 09 Şubat 2009
                    • 773

                    #10
                    endex30 hisse detayları excell dosya olarak eklendi.
                    zip dosyaları indirerek her hisse için detaylı yapılmış excell dosyaları görebilirsiniz.

                    BB_1


                    BB_2


                    BB_3


                    BB_4


                    BB_5
                    Meşhur bir filozofa: - "Servet ayaklarınızın altında olduğu halde neden bu kadar fakirsiniz?" diye sorulduğunda: - "Ona ulaşmak için eğilmek lazım da ondan" demiş. :)

                    Yorum

                    • sanverermis
                      Tecrübeli
                      • 16 Haziran 2009
                      • 511

                      #11
                      PDS.mq4 |
                      //| Copyright © 2012, MetaQuotes Software Corp. |
                      //| http://www.metaquotes.net |
                      //+------------------------------------------------------------------+
                      #property copyright "Copyright © 2012, Analizci"
                      #property link "http://www.ortaklar.de"

                      #property indicator_separate_window
                      #property indicator_buffers 4

                      #property indicator_minimum -2
                      #property indicator_maximum 2

                      #property indicator_color1 Blue
                      #property indicator_color2 Red
                      #property indicator_color3 White
                      #property indicator_color4 DarkOrange

                      extern int PS_LLV=14;
                      extern int PS_HHV=14;
                      extern int PS_ATR=14;

                      double BufferAL[];
                      double BufferSAT[];
                      double BufferCIKIS[];
                      double BufferSTOP[];

                      //+------------------------------------------------------------------+
                      //| Custom indicator initialization function |
                      //+------------------------------------------------------------------+
                      int init()
                      {


                      IndicatorBuffers(4);

                      SetIndexStyle(0, DRAW_ARROW);
                      //SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
                      SetIndexBuffer(0,BufferAL);

                      SetIndexLabel(0,"AL");
                      SetIndexArrow(0,233);


                      SetIndexStyle(1, DRAW_ARROW);
                      SetIndexBuffer(1,BufferSAT);
                      SetIndexLabel(1,"SAT");
                      SetIndexArrow(1,232);

                      //SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
                      // SetIndexBuffer(1,BufferSAT);


                      SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
                      SetIndexBuffer(2,BufferCIKIS);

                      // SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2);
                      //SetIndexBuffer(3,BufferSTOP);

                      SetIndexStyle(3, DRAW_ARROW);
                      SetIndexBuffer(3,BufferSTOP);
                      SetIndexLabel(3,"Stop");
                      SetIndexArrow(3,232);

                      //---- indicators
                      //----
                      return(0);
                      }
                      //+------------------------------------------------------------------+
                      //| Custom indicator deinitialization function |
                      //+------------------------------------------------------------------+
                      int deinit()
                      {
                      //----

                      //----
                      return(0);
                      }
                      //+------------------------------------------------------------------+
                      //| Custom indicator iteration function |
                      //+------------------------------------------------------------------+
                      int start()
                      {
                      int counted_bars=IndicatorCounted();

                      int i,j, k,BarsSayisi;
                      int GirisAnahtari =0;
                      int ilk_GirisAnahtari =0;

                      int Sat_CikisAnahtari =0;
                      double Hedef_Fiyat=0;
                      double Stop_Fiyat=0;

                      double Stop_Anahtar=0;
                      double Alis_Anahtar=0;


                      double PDS_Dalis_Degeri=0;
                      double PDS_Dalis_Hedef_Degeri=0;
                      double TepeNokta_Degeri=0;

                      int PDS_Dalis_Bar=0;
                      int PDS_Dalis_Dip_Anahtar=0;

                      BarsSayisi=Bars;


                      for(
                      i=BarsSayisi-(BarsSayisi- 1500);i>=0;i--)
                      {

                      int hy=iHighest(NULL,0,MODE_HIGH,PS_HHV,i);
                      int ld=iLowest(NULL,0,MODE_LOW,PS_LLV,i);

                      double hyd=High[hy];
                      double ldd=Low[ld];


                      double myATR=iATR(NULL,0,PS_ATR,i);

                      int LowBar=i;
                      double LowDegeri=Low[i];


                      if(
                      ilk_GirisAnahtari==0)
                      {
                      if (
                      hy>ld )
                      {

                      for(
                      j=i;j<=i+(hy-ld);j++)
                      {

                      if (
                      Low[j]<LowDegeri)
                      {
                      LowBar=j;
                      LowDegeri=Low[j];
                      }

                      }

                      if(
                      Close[i]>LowDegeri+myATR && Close[i+1]<=LowDegeri+iATR(NULL,0,PS_ATR,i+1) && hyd>Close[i])
                      {
                      ilk_GirisAnahtari =1;
                      GirisAnahtari =1;
                      BufferAL[i]= 1;
                      Hedef_Fiyat=LowDegeri+2.5*myATR ;
                      Stop_Fiyat=Close[i]-myATR;
                      Stop_Anahtar=0;
                      Alis_Anahtar=1;

                      // Alert("AL 1 " + i + "" + Close[i] + " " + myATR);


                      }
                      }
                      }

                      if (
                      GirisAnahtari ==1 && Stop_Anahtar==0 )
                      {
                      if(
                      Close[i]<=Stop_Fiyat)
                      {
                      TepeNokta_Degeri=0;

                      Stop_Anahtar=1;
                      //Stop_Fiyat=0;

                      PDS_Dalis_Bar=i;
                      BufferSTOP[i]=1;
                      PDS_Dalis_Hedef_Degeri=Close[i]-2.5*myATR ;
                      PDS_Dalis_Degeri=Close[i];

                      //Alert("STOP" + " " + i +" " + Close[i] + " " + PDS_Dalis_Hedef_Degeri +" " + PDS_Dalis_Bar);

                      }
                      }

                      if (
                      PDS_Dalis_Bar !=0 )
                      {
                      //Alert(i);
                      if (Close[i]<PDS_Dalis_Hedef_Degeri)
                      {
                      PDS_Dalis_Dip_Anahtar=1;


                      }

                      if (
                      PDS_Dalis_Dip_Anahtar==1)
                      {

                      LowBar=i;
                      LowDegeri=Low[i];

                      for(
                      j=0;j<=PDS_Dalis_Bar-i;j++)
                      {
                      if (
                      Low[i+j]<LowDegeri)
                      {
                      LowBar=i+j;
                      LowDegeri=Low[i+j];
                      }

                      }

                      if(
                      Close[i]>LowDegeri+myATR && Close[i+1]<=LowDegeri+iATR(NULL,0,PS_ATR,i+1))
                      {
                      ilk_GirisAnahtari =1;
                      BufferAL[i]= 1;
                      Hedef_Fiyat=LowDegeri+2.5*myATR ;
                      Stop_Fiyat=Close[i]-myATR;
                      Stop_Anahtar=0;
                      Alis_Anahtar=1;

                      // Alert("AL 2 " + "" + i);

                      }
                      }
                      }


                      if (
                      GirisAnahtari ==1 && Alis_Anahtar==1)
                      {
                      if(
                      Close[i]>=Hedef_Fiyat)
                      {

                      BufferSAT[i]=1;
                      Sat_CikisAnahtari=1;
                      Stop_Fiyat=Close[i]-myATR;
                      ilk_GirisAnahtari =1;
                      Alis_Anahtar=0;
                      Stop_Anahtar=1;

                      ilk_GirisAnahtari =0;

                      }
                      if (
                      GirisAnahtari ==1 && Alis_Anahtar==1)
                      {
                      if(
                      Close[i]>=Hedef_Fiyat)
                      {

                      if(
                      TepeNokta_Degeri==0)
                      {
                      TepeNokta_Degeri=High[i];
                      Stop_Fiyat=High[i]-myATR;
                      }

                      if(
                      High[i]>High[i+1] && TepeNokta_Degeri<High[i])
                      {
                      TepeNokta_Degeri=High[i];
                      Stop_Fiyat=TepeNokta_Degeri-myATR;
                      }

                      }
                      }


                      //BufferAL[i]= High[hy];


                      // double ld=LLV(l,5);

                      }
                      }

                      //----

                      //----
                      return(0);
                      }
                      //+------------------------------------------------------------------+


                      bu pds sistemini matrıkse çeviremezmiyiz üstadım...

                      Yorum

                      Working...
                      X

                      Debug Information