Sayfa 560/595 İlkİlk ... 60460510550558559560561562570 ... SonSon
Arama sonucu : 4754 madde; 4,473 - 4,480 arası.

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

  1. Merhaba arkadaşlar, aşşağıdaki örnek koda şöyle bir filtre eklememe yardımcı olabilirmisiniz ?
    örneğin ben kodu 5 dk lık grafikte çalıştıracağım, fakat XU100 GÜNLÜK grafiğinde 10 ema 21 ema üzerindeyse, 5 dklık grafikte gelen sinyalleri dikkate almasını istiyorum. Bunu nasıl yapabilirim ? Yardımlarınız için teşekkürler
    PHP Code:
    var Sistem.GrafikVerileri; var vk Sistem.GrafikFiyatSec("Kapanis"); var vy Sistem.GrafikFiyatSec("Yuksek"); var vd Sistem.GrafikFiyatSec("Dusuk");

    // Stratejiye girdi olarak gönderilecek olan verileri tanımlama bölümü ( indikatör tanımlama vb.)
    var ma1 Sistem.MA(vk"Exp"10); // GİRDİ ÖRNEĞİ
    var ma2 Sistem.MA(vk"Exp"21); // GİRDİ ÖRNEĞİ



    var sinyal ""; var sonyon ""; var islemfiyati 0f;
    for (
    int i 1i<v.Counti++)
    {

    // Girdileri kullanarak strateji üretim bölümü
    if (ma1[i] > ma2[i]) sinyal "A"// STRATEJİ ÖRNEĞİ
    if (ma1[i] < ma2[i]) sinyal "F"// STRATEJİ ÖRNEĞİ



    // if (i < v.Count-1 && v[i].Date.Day != v[i+1].Date.Day) sinyal = "F"; // Gün Sonu Flat Satırı. ( Backtest için uygundur. i+1 barındıran bir satır, gerçek piyasada repaint yapar.)
    if (sonyon != "A" && sinyal == "A") { Sistem.Yon[i] = "A"sonyon "A"islemfiyati v[i].Close; }
    if (
    sonyon != "S" && sinyal == "S") { Sistem.Yon[i] = "S"sonyon "S"islemfiyati v[i].Close; }
    if (
    sonyon != "F" && sinyal == "F") { Sistem.Yon[i] = "F"sonyon "F"islemfiyati v[i].Close; }
    }


    Sistem.GetiriHesapla("01/01/2007"0);






    // Getiri Çizgisi
    var cizgi 0// Bu numaralı çizgiden başlat.
    var panel 2// 2.Panelde Göster
    var dolgu 1// 1: Açık. 0:Kapalı

    var islemsayisi 0; var kzyon "";
    for (
    int i=1i<v.Counti++)
    {
    if (
    Sistem.Yon[i] != ""
    {
    if (
    kzyon == "A" || kzyon == "S"islemsayisi ++;
    if (
    Sistem.Yon[i] == "A" || Sistem.Yon[i] == "S"islemsayisi ++;
    kzyon Sistem.Yon[i];
    }
    }
    Sistem.GradientYaziEkle( ((DateTime.Now-v[0].Date).TotalDays/30.4).ToString("0.0") + " Ay :" panel1015Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkleSistem.GetiriKZ[v.Count-1].ToString("0.00") , panel15015Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle("İşlem Sayısı :" panel1035Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle((islemsayisi/2).ToString() , panel15035Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle("Ortalama :" panel1055Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle( ((islemsayisi/2)/((DateTime.Now-v[0].Date).TotalDays/30.4)).ToString("0") , panel15055Color.GoldColor.Gold"Calibri"15);

    Sistem.Cizgiler[cizgi].Deger Sistem.GetiriKZSistem.Cizgiler[cizgi].Aciklama "KZ"Sistem.Cizgiler[cizgi].Renk Color.WhiteSistem.Cizgiler[cizgi].Panel panel;
    Sistem.Cizgiler[cizgi+1].Deger Sistem.GetiriKZGunSonuSistem.Cizgiler[cizgi+1].Aciklama "KZGunSonu"Sistem.Cizgiler[cizgi+1].Renk Color.WhiteSistem.Cizgiler[cizgi+1].Panel panel;
    Sistem.Cizgiler[cizgi+2].Deger Sistem.GetiriKZGunSistem.Cizgiler[cizgi+2].Aciklama "KZGun"Sistem.Cizgiler[cizgi+2].Renk Color.WhiteSistem.Cizgiler[cizgi+2].Panel panel;
    if (
    dolgu == 1Sistem.DolguEkle(cizgi+1,cizgi+2Color.FromArgb(120,0,255,0), Color.FromArgb(120,255,0,0)); 

  2.  Alıntı Originally Posted by have Yazıyı Oku
    Merhaba arkadaşlar, aşşağıdaki örnek koda şöyle bir filtre eklememe yardımcı olabilirmisiniz ?
    örneğin ben kodu 5 dk lık grafikte çalıştıracağım, fakat XU100 GÜNLÜK grafiğinde 10 ema 21 ema üzerindeyse, 5 dklık grafikte gelen sinyalleri dikkate almasını istiyorum. Bunu nasıl yapabilirim ? Yardımlarınız için teşekkürler
    PHP Code:
    var Sistem.GrafikVerileri; var vk Sistem.GrafikFiyatSec("Kapanis"); var vy Sistem.GrafikFiyatSec("Yuksek"); var vd Sistem.GrafikFiyatSec("Dusuk");

    // Stratejiye girdi olarak gönderilecek olan verileri tanımlama bölümü ( indikatör tanımlama vb.)
    var ma1 Sistem.MA(vk"Exp"10); // GİRDİ ÖRNEĞİ
    var ma2 Sistem.MA(vk"Exp"21); // GİRDİ ÖRNEĞİ



    var sinyal ""; var sonyon ""; var islemfiyati 0f;
    for (
    int i 1i<v.Counti++)
    {

    // Girdileri kullanarak strateji üretim bölümü
    if (ma1[i] > ma2[i]) sinyal "A"// STRATEJİ ÖRNEĞİ
    if (ma1[i] < ma2[i]) sinyal "F"// STRATEJİ ÖRNEĞİ



    // if (i < v.Count-1 && v[i].Date.Day != v[i+1].Date.Day) sinyal = "F"; // Gün Sonu Flat Satırı. ( Backtest için uygundur. i+1 barındıran bir satır, gerçek piyasada repaint yapar.)
    if (sonyon != "A" && sinyal == "A") { Sistem.Yon[i] = "A"sonyon "A"islemfiyati v[i].Close; }
    if (
    sonyon != "S" && sinyal == "S") { Sistem.Yon[i] = "S"sonyon "S"islemfiyati v[i].Close; }
    if (
    sonyon != "F" && sinyal == "F") { Sistem.Yon[i] = "F"sonyon "F"islemfiyati v[i].Close; }
    }


    Sistem.GetiriHesapla("01/01/2007"0);






    // Getiri Çizgisi
    var cizgi 0// Bu numaralı çizgiden başlat.
    var panel 2// 2.Panelde Göster
    var dolgu 1// 1: Açık. 0:Kapalı

    var islemsayisi 0; var kzyon "";
    for (
    int i=1i<v.Counti++)
    {
    if (
    Sistem.Yon[i] != ""
    {
    if (
    kzyon == "A" || kzyon == "S"islemsayisi ++;
    if (
    Sistem.Yon[i] == "A" || Sistem.Yon[i] == "S"islemsayisi ++;
    kzyon Sistem.Yon[i];
    }
    }
    Sistem.GradientYaziEkle( ((DateTime.Now-v[0].Date).TotalDays/30.4).ToString("0.0") + " Ay :" panel1015Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkleSistem.GetiriKZ[v.Count-1].ToString("0.00") , panel15015Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle("İşlem Sayısı :" panel1035Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle((islemsayisi/2).ToString() , panel15035Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle("Ortalama :" panel1055Color.GoldColor.Gold"Calibri"15);
    Sistem.GradientYaziEkle( ((islemsayisi/2)/((DateTime.Now-v[0].Date).TotalDays/30.4)).ToString("0") , panel15055Color.GoldColor.Gold"Calibri"15);

    Sistem.Cizgiler[cizgi].Deger Sistem.GetiriKZSistem.Cizgiler[cizgi].Aciklama "KZ"Sistem.Cizgiler[cizgi].Renk Color.WhiteSistem.Cizgiler[cizgi].Panel panel;
    Sistem.Cizgiler[cizgi+1].Deger Sistem.GetiriKZGunSonuSistem.Cizgiler[cizgi+1].Aciklama "KZGunSonu"Sistem.Cizgiler[cizgi+1].Renk Color.WhiteSistem.Cizgiler[cizgi+1].Panel panel;
    Sistem.Cizgiler[cizgi+2].Deger Sistem.GetiriKZGunSistem.Cizgiler[cizgi+2].Aciklama "KZGun"Sistem.Cizgiler[cizgi+2].Renk Color.WhiteSistem.Cizgiler[cizgi+2].Panel panel;
    if (
    dolgu == 1Sistem.DolguEkle(cizgi+1,cizgi+2Color.FromArgb(120,0,255,0), Color.FromArgb(120,255,0,0)); 
    Uzun zamandır İdeal kullanmıyorum. Elimde veri terminali de yok.

    Ancak kullanmanız gereken yöntemi aşağıdaki örnekten çıkarabilirsiniz diye düşünüyorum:



    PHP Code:
    var Sembol “IMKBX’XU100”;
    var 
    Endeks Sistem.GrafikVerileriniOku(Sembol“G”);
    Endeks Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileriEndeks);

    var 
    Veriler Sistem.GrafikVerileriniOku(Sembol“60”);
    Veriler Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileriVeriler);

    var 
    HAFTA Sistem.GrafikVerileriniOku(Sistem.Sembol“H”);
    var 
    KapHafta Sistem.GrafikFiyatOku(HAFTA“Kapanis”);
    var 
    YkHafta Sistem.GrafikFiyatOku(HAFTA“Yuksek”);
    var 
    DskHafta Sistem.GrafikFiyatOku(HAFTA“Dusuk”);
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA KapHafta );
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA YkHafta );
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA DskHafta );

    var 
    toma3 Sistem.TOMA(Endeks,6,2); // günlük ve üstü periyotlar çizgiler1 bu değişken olmalı
    var toma2 Sistem.TOMA(Veriler,6,2); // alt periyotlarda çizgiler1 bu değişken olmalı

    Sistem.Cizgiler[0].Deger=Sistem.TOMA(6,2);
    Sistem.Cizgiler[1].Deger=toma2;
    Sistem.Cizgiler[2].Deger=C;
    Sistem.Cizgiler[3].Deger=H;
    Sistem.Cizgiler[4].Deger=D

    https://idealdata.com.tr/donem-cevir/


    Özetle: Grafik verilerini çağırırken kullanmak istediğiniz periyodu da belirterek çağırın.
    Sizin örnekte 10 ve 21 MA değerlerini hesaplatmadan önce "günlük ve 5 dk.lık kapanış" değerlerini çağırmalı ve hesaplatmayı sonra yapmalısınız.
    Çağırdığınız verileri de "Sistem.DonemCevir" ile mevcut periyoda uygun hale getirmelisiniz.

    Sonrasında yine kodunuzda da olduğu gibi, if döngüsü ile dilediğiniz şartı yazarak kontrol sağlayabilirsiniz.
    https://twitter.com/teknikcioblomov
    Al,sat,tut,yakala,sık,bırak vb. tavsiye için aracı kurumunuzla görüşün.

  3. Çok teşekkürler hocam, istediğimi iyi kötü yaptım fakat bu seferde Repaint sorunu çıktı karşıma
    Günlük olarak aldığım MAları "MA[i-1]" olarak yazsamda sorun çözülmüyor, bi yerde hata yapıyorum ama yardımcı olacak arkadaş varsa çok sevinirim nereyi düzeltmem gerekiyor ?


    PHP Code:
    var Sistem.GrafikVerileri; var vk Sistem.GrafikFiyatSec("Kapanis"); var vy Sistem.GrafikFiyatSec("Yuksek"); var vd Sistem.GrafikFiyatSec("Dusuk");

      var 
    VGUN Sistem.GrafikVerileriniOku(Sistem.Sembol"G");
      var 
    Sistem.GrafikFiyatOku(VGUN"Kapanis" );
      var 
    MaGun Sistem.MA(C"Simple" 10);
      var 
    MaGun1 Sistem.MA(C"Simple" 21);

      var 
    MA Sistem.DonemCevir(vVGUN MaGun);
      var 
    MA1 Sistem.DonemCevir(vVGUN MaGun1);
      
      
    Sistem.Cizgiler[3].Deger MA;
      
    Sistem.Cizgiler[4].Deger MA1;



    var 
    ma3 Sistem.MA(vk"Exp"10); 
    var 
    ma4 Sistem.MA(vk"Exp"21); 



    var 
    sinyal ""; var sonyon ""; var islemfiyati 0f;
    for (
    int i 1i<v.Counti++) 
    {


    if ( 
    ma3[i] > ma4[i] && MA[i] > MA1[i]) sinyal "A"
    if (
    ma3[i] < ma4[i] ) sinyal "F"


    // if (i < v.Count-1 && v[i].Date.Day != v[i+1].Date.Day) sinyal = "F"; // Gün Sonu Flat Satırı. ( Backtest için uygundur. i+1 barındıran bir satır, gerçek piyasada repaint yapar.)
    if (sonyon != "A" && sinyal == "A") { Sistem.Yon[i] = "A"sonyon "A"islemfiyati v[i].Close; }
    if (
    sonyon != "S" && sinyal == "S") { Sistem.Yon[i] = "S"sonyon "S"islemfiyati v[i].Close; }
    if (
    sonyon != "F" && sinyal == "F") { Sistem.Yon[i] = "F"sonyon "F"islemfiyati v[i].Close; } 




     Alıntı Originally Posted by KısaVade Yazıyı Oku
    Uzun zamandır İdeal kullanmıyorum. Elimde veri terminali de yok.

    Ancak kullanmanız gereken yöntemi aşağıdaki örnekten çıkarabilirsiniz diye düşünüyorum:



    PHP Code:
    var Sembol â€œIMKBXâ€â•XU100â€;
    var 
    Endeks Sistem.GrafikVerileriniOku(Sembol“Gâ€);
    Endeks Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileriEndeks);

    var 
    Veriler Sistem.GrafikVerileriniOku(Sembol“60â€);
    Veriler Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileriVeriler);

    var 
    HAFTA Sistem.GrafikVerileriniOku(Sistem.Sembol“Hâ€);
    var 
    KapHafta Sistem.GrafikFiyatOku(HAFTA“Kapanisâ€);
    var 
    YkHafta Sistem.GrafikFiyatOku(HAFTA“Yuksekâ€);
    var 
    DskHafta Sistem.GrafikFiyatOku(HAFTA“Dusukâ€);
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA KapHafta );
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA YkHafta );
    var 
    =Sistem.DonemCevir(Sistem.GrafikVerileriHAFTA DskHafta );

    var 
    toma3 Sistem.TOMA(Endeks,6,2); // günlük ve üstü periyotlar çizgiler1 bu değişken olmalı
    var toma2 Sistem.TOMA(Veriler,6,2); // alt periyotlarda çizgiler1 bu değişken olmalı

    Sistem.Cizgiler[0].Deger=Sistem.TOMA(6,2);
    Sistem.Cizgiler[1].Deger=toma2;
    Sistem.Cizgiler[2].Deger=C;
    Sistem.Cizgiler[3].Deger=H;
    Sistem.Cizgiler[4].Deger=D

    https://idealdata.com.tr/donem-cevir/


    Özetle: Grafik verilerini çağırırken kullanmak istediğiniz periyodu da belirterek çağırın.
    Sizin örnekte 10 ve 21 MA değerlerini hesaplatmadan önce "günlük ve 5 dk.lık kapanış" değerlerini çağırmalı ve hesaplatmayı sonra yapmalısınız.
    Çağırdığınız verileri de "Sistem.DonemCevir" ile mevcut periyoda uygun hale getirmelisiniz.

    Sonrasında yine kodunuzda da olduğu gibi, if döngüsü ile dilediğiniz şartı yazarak kontrol sağlayabilirsiniz.
    Attached Images Attached Images

  4. #4476
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,641
    var MA = Sistem.DonemCevir(v, VGUN , MaGun);
    var MA1 = Sistem.DonemCevir(v, VGUN , MaGun1);

    /// 1 gün geriden çizdirin repainti engelleyebilir.
    MA = Sistem.Ref(MA,-1);
    MA1 = Sistem.Ref(MA1,-1);
    Bear_Bull
    @BearBull26

  5. Teşekkürler

     Alıntı Originally Posted by Bear_Bull Yazıyı Oku
    var MA = Sistem.DonemCevir(v, VGUN , MaGun);
    var MA1 = Sistem.DonemCevir(v, VGUN , MaGun1);

    /// 1 gün geriden çizdirin repainti engelleyebilir.
    MA = Sistem.Ref(MA,-1);
    MA1 = Sistem.Ref(MA1,-1);
    Teşekkürler hocam, repaint sorunu .çözülüyor fakat bu sefer de şöyle problem çıktı;

    MA = Sistem.Ref(MA,-1); yazdığımda, 10dklık grafikte sadece 10dk olarak geri atıyor, yani günlüğü baz almıyor,

    MA = Sistem.Ref(MA,-48); yazdığımda aşşağı yukarı günlük gibi sonuç çıkartıyorum 10dk dan ama bazen yarım gün olan seanslar dengeyi bozuyor bu sefer.

    Bu Ref kısmında ilgili açık olan grafiği değilde, MA ların bağlı olduğu günlük grafiği nasıl baz aldırabiliriz, yardımcı olursanız sevinirim.

  6. #4478
    Duhul
    Feb 2017
    İkamet
    Eskişehir / Duhul 2007
    Yaş
    53
    Gönderi
    4,641
    // ref - 1 i bunlara uygulayın

    var MaGun = Sistem.MA(C, "Simple" , 10);
    var MaGun1 = Sistem.MA(C, "Simple" , 21);
    MaGun = Sistem.Ref(MaGun ,-1);
    MaGun1 = Sistem.Ref(MaGun1 ,-1);
    Bear_Bull
    @BearBull26

  7. Oldu hocam çok teşekkürler, minnettarım.

  8. study("KDJ", shorttitle="KDJ")
    ilong = input(9, title="period")
    isig = input(3, title="signal")

    bcwsma(s,l,m) =>
    _s = s
    _l = l
    _m = m
    _bcwsma = (_m*_s+(_l-_m)*nz(_bcwsma[1]))/_l
    _bcwsma

    c = close
    h = highest(high, ilong)
    l = lowest(low,ilong)
    RSV = 100*((c-l)/(h-l))
    pK = bcwsma(RSV, isig, 1)
    pD = bcwsma(pK, isig, 1)
    pJ = 3 * pK-2 * pD

    plot(pK, color= #1E88E5,transp=0)
    plot(pD, color=#FF6F00,transp=0)
    plot(pJ, color=black,transp=0)
    bgcolor(pJ>pD? green : red, transp=75)
    h0 = hline(80)
    h1 = hline(20)

    hocam bunu ideale çevirebilir misiniz

Sayfa 560/595 İlkİlk ... 60460510550558559560561562570 ... 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
  •