Sayfa 527/593 İlkİlk ... 27427477517525526527528529537577 ... SonSon
Arama sonucu : 4738 madde; 4,209 - 4,216 arası.

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

  1.  Alıntı Originally Posted by dupont Yazıyı Oku
    Merhabalar arkadaşlar,

    1 dakikalık grafik açıkken seans başladığından beri geçen 5 er dakikalık bar sayısını, bir önceki bara kadar seans içi gelen toplam hacmi; seans başladığından beri geçen 1 er dakikalıkları gösteren bar sayısını çizdirmek istiyorum. Bana yardımcı olabilirseniz çok memnun olurum. Teşekkürler
    Şu kod işinize yarayabilir. Seans ayırımını Seans barına göre ayarladım. Hacim bilgisi seans içinde değişecektir o yüzden kod bu hali ile backteste uygun değildir, istenirse 1 bar geriye bakacak şekilde bactest yapılabilir. Kontrollerini kendiniz yapın detaylı incelemedim.

    PHP Code:
          var Sistem.GrafikVerileri;
          var 
    V240 Sistem.GrafikVerileriniOku(Sistem.Sembol"S");
          var 
    volume240 Sistem.GrafikFiyatOku(V240"Hacim");
          
    volume240 Sistem.DonemCevir(VV240volume240);

          var 
    birDkBarSayisi Sistem.Liste(0);
          var 
    besDkBarSayisi Sistem.Liste(0);

          for (
    int i 500V.Counti++)
          {


             if (
    volume240[i] != volume240[1])
             {
                
    besDkBarSayisi[1] = 0;
                
    birDkBarSayisi[1] = 0;
             }

             
    birDkBarSayisi[i] = birDkBarSayisi[1] + 1;
             if (
    == 0)
                
    besDkBarSayisi[i] = besDkBarSayisi[1] + 1;
             else
                
    besDkBarSayisi[i] = besDkBarSayisi[1];
          }

          
    Sistem.Cizgiler[0].Deger birDkBarSayisi;
          
    Sistem.Cizgiler[1].Deger besDkBarSayisi;
          
    Sistem.Cizgiler[2].Deger volume240

  2. Merhaba

    Matriksten ideale yeni geçtim, örnekler ile kendimi geliştirmeye çalışıyorum. Aşağıdaki formülü yazdığımda panelde de seçmiş olmama rağmen maalesef indikatörü grafikte görüntüleyemiyorum. Yardımcı olabilir misiniz?

    int Period = 34;
    var RSI = Sistem.RSI(Period);
    var MOM = Sistem.Momentum(Period);
    var STOSK = Sistem.StochasticSlow(Period,3);
    var DI = Sistem.DirectionalMovement(Period);

    for (int i=0; i < Sistem.BarSayisi; i++)
    {
    Sistem.Cizgiler[0].Deger[i] = (RSI[i]*1.43 + MOM[i]*5 + STOSK[i] + ((DI[i]+40)*1.25))/4;
    }

  3. Merhaba

    Matriksten ideale yeni geçtim, örnekler ile kendimi geliştirmeye çalışıyorum. Aşağıdaki formülü yazdığımda panelde de seçmiş olmama rağmen maalesef indikatörü grafikte görüntüleyemiyorum. Yardımcı olabilir misiniz?

    int Period = 34;
    var RSI = Sistem.RSI(Period);
    var MOM = Sistem.Momentum(Period);
    var STOSK = Sistem.StochasticSlow(Period,3);
    var DI = Sistem.DirectionalMovement(Period);

    for (int i=0; i < Sistem.BarSayisi; i++)
    {
    Sistem.Cizgiler[0].Deger[i] = (RSI[i]*1.43 + MOM[i]*5 + STOSK[i] + ((DI[i]+40)*1.25))/4;
    }

  4.  Alıntı Originally Posted by JordanBelfort Yazıyı Oku
    Merhaba

    Matriksten ideale yeni geçtim, örnekler ile kendimi geliştirmeye çalışıyorum. Aşağıdaki formülü yazdığımda panelde de seçmiş olmama rağmen maalesef indikatörü grafikte görüntüleyemiyorum. Yardımcı olabilir misiniz?

    int Period = 34;
    var RSI = Sistem.RSI(Period);
    var MOM = Sistem.Momentum(Period);
    var STOSK = Sistem.StochasticSlow(Period,3);
    var DI = Sistem.DirectionalMovement(Period);

    for (int i=0; i < Sistem.BarSayisi; i++)
    {
    Sistem.Cizgiler[0].Deger[i] = (RSI[i]*1.43 + MOM[i]*5 + STOSK[i] + ((DI[i]+40)*1.25))/4;
    }
    Döngüleri genellikle 0 dan değil "period" dan başlatın. for (int i=Period;......
    Ama burada sıkıntı formüldeki ondalık sayılardan gibi duruyor, yanlarına f koyarak deneyin. Örn RSI[i]*1.43f........... 1.25f

    Geldik, gidiyoruz..
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  5.  Alıntı Originally Posted by JordanBelfort Yazıyı Oku
    Merhaba

    Matriksten ideale yeni geçtim, örnekler ile kendimi geliştirmeye çalışıyorum. Aşağıdaki formülü yazdığımda panelde de seçmiş olmama rağmen maalesef indikatörü grafikte görüntüleyemiyorum. Yardımcı olabilir misiniz?

    int Period = 34;
    var RSI = Sistem.RSI(Period);
    var MOM = Sistem.Momentum(Period);
    var STOSK = Sistem.StochasticSlow(Period,3);
    var DI = Sistem.DirectionalMovement(Period);

    for (int i=0; i < Sistem.BarSayisi; i++)
    {
    Sistem.Cizgiler[0].Deger[i] = (RSI[i]*1.43 + MOM[i]*5 + STOSK[i] + ((DI[i]+40)*1.25))/4;
    }
    Metastock'tan farklı olarak sistem indikatorleri dışında yeni bir değer üreteceksiniz bir liste tanımlayıp hesaplamaları her bar için döngü içinde hesaplatmanız gerekiyor. Metastockta tanımlamalar hariç neredeyse herşey listedir, C# ta neyin ne olduğunu siz belirlemelisiniz. Hesaplamalarda ondalık sayı kullanacaksanız float tipi olduğunu belirtmek sonuna "f" harfi ekleyin aksi halde double kabul eder ve hata verir cizgi görünmez.

    PHP Code:
          int Period 34;
          var 
    RSI Sistem.RSI(Period);
          var 
    MOM Sistem.Momentum(Period);
          var 
    STOSK Sistem.StochasticSlow(Period3);
          var 
    DI Sistem.DirectionalMovement(Period);

          var 
    myInd Sistem.Liste(0);

          for (
    int i 0Sistem.BarSayisii++)
          {
             
    myInd[i] = (RSI[i] * 1.43f MOM[i] * STOSK[i] + ((DI[i] + 40) * 1.25f)) / 4;
          }
          
    Sistem.Cizgiler[0].Deger myInd;
          
    //alttaki ayarlar çizgiler panelinde de yapabalirsiniz.
          
    Sistem.Cizgiler[0].ActiveBool true;
          
    Sistem.Cizgiler[0].Aciklama "myInd";
          
    Sistem.Cizgiler[0].Panel 2
    Liste tanımlamadan yapacam diyorsanız, sn Sonli nin de dediği periyotu dikkate alarak şöyle de aynı sonucu alabilirsiniz.

    PHP Code:
          int Period 34;
          var 
    RSI Sistem.RSI(Period);
          var 
    MOM Sistem.Momentum(Period);
          var 
    STOSK Sistem.StochasticSlow(Period3);
          var 
    DI Sistem.DirectionalMovement(Period);


          for (
    int i PeriodSistem.BarSayisii++)
          {
             
    Sistem.Cizgiler[0].Deger[i] = (RSI[i] * 1.43f MOM[i] * STOSK[i] + ((DI[i] + 40) * 1.25f)) / 4;
          }

          
    //alttaki ayarlar çizgiler panelinde de yapabalirsiniz.
          
    Sistem.Cizgiler[0].ActiveBool true;
          
    Sistem.Cizgiler[0].Panel 2
    Son düzenleme : bymehmet; 04-06-2022 saat: 09:14. Sebep: Ekleme

  6. Mehmet bey çok teşekkür ediyorum, 5 dakikalıklar ve 1 dakikalık bar sayıları geliyor ama bar sayılarında kümülatif olarak grafiğin ilk barından beri olan sayılar atanmaktadır. Erişmek istediğimiz aynı gün içindeki değerler. Örneğin saat 10.16 iken 5 dakikalık barı 3 , 1 dakikalık barı 15 ataması. Bu konuda bu değerlere erişim sağlayabilirsek amacımıza ulaşmış olacağız. Yardımcı olabilirseniz çok sevinirim, teşekkür ederim.

  7.  Alıntı Originally Posted by bymehmet Yazıyı Oku
    Şu kod işinize yarayabilir. Seans ayırımını Seans barına göre ayarladım. Hacim bilgisi seans içinde değişecektir o yüzden kod bu hali ile backteste uygun değildir, istenirse 1 bar geriye bakacak şekilde bactest yapılabilir. Kontrollerini kendiniz yapın detaylı incelemedim.

    PHP Code:
          var Sistem.GrafikVerileri;
          var 
    V240 Sistem.GrafikVerileriniOku(Sistem.Sembol"S");
          var 
    volume240 Sistem.GrafikFiyatOku(V240"Hacim");
          
    volume240 Sistem.DonemCevir(VV240volume240);

          var 
    birDkBarSayisi Sistem.Liste(0);
          var 
    besDkBarSayisi Sistem.Liste(0);

          for (
    int i 500V.Counti++)
          {


             if (
    volume240[i] != volume240[1])
             {
                
    besDkBarSayisi[1] = 0;
                
    birDkBarSayisi[1] = 0;
             }

             
    birDkBarSayisi[i] = birDkBarSayisi[1] + 1;
             if (
    == 0)
                
    besDkBarSayisi[i] = besDkBarSayisi[1] + 1;
             else
                
    besDkBarSayisi[i] = besDkBarSayisi[1];
          }

          
    Sistem.Cizgiler[0].Deger birDkBarSayisi;
          
    Sistem.Cizgiler[1].Deger besDkBarSayisi;
          
    Sistem.Cizgiler[2].Deger volume240


    Mehmet bey çok teşekkür ediyorum, 5 dakikalıklar ve 1 dakikalık bar sayıları geliyor ama bar sayılarında kümülatif olarak grafiğin ilk barından beri olan sayılar atanmaktadır. Erişmek istediğimiz aynı gün içindeki değerler. Örneğin saat 10.16 iken 5 dakikalık barı 3 , 1 dakikalık barı 15 ataması. Bu konuda bu değerlere erişim sağlayabilirsek amacımıza ulaşmış olacağız. Yardımcı olabilirseniz çok sevinirim, teşekkür ederim.

  8. bymehmet ve sonli çok teşekkürler

Sayfa 527/593 İlkİlk ... 27427477517525526527528529537577 ... 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
  •