Artan

99,00 10 18:10
16.477,50 10 18:10
134,20 10 18:10
71,50 10 18:10
291,50 10 18:10
Artan Hisseler

Azalan

87,30 -10 18:10
512,00 -9.94 18:10
11,87 -9.94 18:10
56,95 -6.64 18:10
32,60 -6.48 18:10
Azalan Hisseler

İşlem

25.705.427.996,65 18:10
25.126.837.234,00 18:10
19.159.886.780,88 18:10
15.041.630.827,90 18:10
14.530.506.819,80 18:10
Tüm Hisseler
Arama sonucu : 4975 madde; 1 - 8 arası.

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1.  Alıntı Originally Posted by ozmen Yazıyı Oku
    nz

    Bir dizideki NaN değerlerini sıfırlarla (veya verilen değerle) değiştirir.

    https://tr.tradingview.com/pine-scri...erence/#fun_nz

    https://www.mql5.com/en/forum/340210
    m(k[i-lenght],y) bunu nasıl ifade etmeliyim hocam

  2. #2
     Alıntı Originally Posted by automatic Yazıyı Oku
    m(k[i-lenght],y) bunu nasıl ifade etmeliyim hocam
    Pinescript te "m" isminde değişken bulamadım. Max veya min olabilir belki. Muhtemelen repaint bir indikatör. En sonda elde edilen değerleri en başta kullanıp tekrar hesaplatmış.

  3.  Alıntı Originally Posted by ozmen Yazıyı Oku
    Pinescript te "m" isminde değişken bulamadım. Max veya min olabilir belki. Muhtemelen repaint bir indikatör. En sonda elde edilen değerleri en başta kullanıp tekrar hesaplatmış.
    m büyük ihtimalle hareketli ortalama değişkeni. Ama kodun bütününü görmek lazım, bu sadece kod parçacığı..

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

  4.  Alıntı Originally Posted by sonli Yazıyı Oku
    m büyük ihtimalle hareketli ortalama değişkeni. Ama kodun bütününü görmek lazım, bu sadece kod parçacığı..

    Geldik, gidiyoruz..
    Kod:
    study("Pseudo Polynomial Channel",overlay=true)
    length = input(14),morph = input(0.9,minval=0,maxval=1),mult = input(1.),flatten = input(1.)
    //----
    x = n
    y = close
    m(a,b) =>
        p = morph * a + (1-morph) * b
    k = nz(m(k[length],y),y) + (x-x[length])/(x[length*2]-x[length]) * (nz(m(k[length*2],y),y) - nz(m(k[length],y),y))/flatten
    k1 = sma(k,length)
    er = cum(abs(y-k1))/n * mult
    //----
    a = k1 + er
    b = k1 - er
    //----
    A = plot(a,color=#2196f3,linewidth=2,transp=0)
    plot(k1,color=#e65100,linewidth=2,transp=0)
    B = plot(b,color=#ff1100,linewidth=2,transp=0)
    fill(A,B,#2196f3,transp=95)

  5.  Alıntı Originally Posted by anonimm Yazıyı Oku
    Kod:
    study("Pseudo Polynomial Channel",overlay=true)
    length = input(14),morph = input(0.9,minval=0,maxval=1),mult = input(1.),flatten = input(1.)
    //----
    x = n
    y = close
    m(a,b) =>
        p = morph * a + (1-morph) * b
    k = nz(m(k[length],y),y) + (x-x[length])/(x[length*2]-x[length]) * (nz(m(k[length*2],y),y) - nz(m(k[length],y),y))/flatten
    k1 = sma(k,length)
    er = cum(abs(y-k1))/n * mult
    //----
    a = k1 + er
    b = k1 - er
    //----
    A = plot(a,color=#2196f3,linewidth=2,transp=0)
    plot(k1,color=#e65100,linewidth=2,transp=0)
    B = plot(b,color=#ff1100,linewidth=2,transp=0)
    fill(A,B,#2196f3,transp=95)
    Uğraştım biraz ama beceremedim, sıkıntı m değil, onunla fonksiyon tanımlıyor gibi birşey.. x ile neyi ifade ettiğini tam anlayamadım..
    m(a,b) yapısına şunu uygula diyor: morph * a + (1-morph) * b
    x ve y(kapanış normalde) rastgele tanımlayıp çizsin gerisine sonra bakarım dedim ama yemedi
    m çiziyor ama m1 olamadı..


    var C = Sistem.GrafikFiyatSec("Kapanis");
    int i=Sistem.BarSayisi-1;
    int length=14;
    float morph=0.9f;
    int mult=1;
    int flatten=1;
    var x=Sistem.GrafikFiyatSec("Yuksek"); //muhtemelen anlık fiyat ya da bar no
    var y=Sistem.Ref(C,-1);

    var k=Sistem.Liste(0);

    for (int j = 100; j < Sistem.BarSayisi; j++)
    {
    var m = morph*k[j-length] + (1-morph)*y[j] ;
    if(m==0) m=y[j];
    var m2 = morph*k[j-length*2] + (1-morph)*y[j] ;
    if(m2==0) m2=y[j];

    var m1= (x[j]-x[j-length])/( x[j-length*2]-x[j-length])*(m2-m)/flatten ;

    //k = nz(m(k[length],y),y) + (x-x[length])/(x[length*2]-x[length]) * (nz(m(k[length*2],y),y) - nz(m(k[length],y),y))/flatten


    k[j] = m + m1;

    }

    Sistem.Cizgiler[0].Deger = k;
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

  6.  Alıntı Originally Posted by sonli Yazıyı Oku
    Uğraştım biraz ama beceremedim, sıkıntı m değil, onunla fonksiyon tanımlıyor gibi birşey.. x ile neyi ifade ettiğini tam anlayamadım..
    m(a,b) yapısına şunu uygula diyor: morph * a + (1-morph) * b
    x ve y(kapanış normalde) rastgele tanımlayıp çizsin gerisine sonra bakarım dedim ama yemedi
    m çiziyor ama m1 olamadı..


    var C = Sistem.GrafikFiyatSec("Kapanis");
    int i=Sistem.BarSayisi-1;
    int length=14;
    float morph=0.9f;
    int mult=1;
    int flatten=1;
    var x=Sistem.GrafikFiyatSec("Yuksek"); //muhtemelen anlık fiyat ya da bar no
    var y=Sistem.Ref(C,-1);

    var k=Sistem.Liste(0);

    for (int j = 100; j < Sistem.BarSayisi; j++)
    {
    var m = morph*k[j-length] + (1-morph)*y[j] ;
    if(m==0) m=y[j];
    var m2 = morph*k[j-length*2] + (1-morph)*y[j] ;
    if(m2==0) m2=y[j];

    var m1= (x[j]-x[j-length])/( x[j-length*2]-x[j-length])*(m2-m)/flatten ;

    //k = nz(m(k[length],y),y) + (x-x[length])/(x[length*2]-x[length]) * (nz(m(k[length*2],y),y) - nz(m(k[length],y),y))/flatten


    k[j] = m + m1;

    }

    Sistem.Cizgiler[0].Deger = k;
    Şöyle birşey olabilir

    Kod:
     // Pseudo Polynomial Channel
    
    var length = 14 ; //
    var lengthh = 2 * length ; 
    var morph = 0.9f ; 
    var mult = 1.0f ;
    var flatten = 1.0f ;
    
    var V = Sistem.GrafikVerileri ;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    var H = Sistem.GrafikFiyatOku(V, "Yuksek" ) ;
    var L = Sistem.GrafikFiyatOku(V, "Dusuk" ) ;
    var O = Sistem.GrafikFiyatOku(V, "Acilis" ) ;
    
    var x = Sistem.BarSayisi ;
    
    var xx =  -1 *  ( x - x + length )/( x - lengthh - x + length )  ;
    
     
    //var xx =  -1 * ( x -  length )/( x - lengthh - x + length )  ;
    
    var k= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    
    k[i] = 
    
    morph * k[i-length]+ (1-morph) * C[i]  + 
    
    xx * (  morph * k[i-lengthh]+ (1-morph) * C[i] )  -  
    
     ( morph * k[i-length]+ (1-morph) * C[i] ) / flatten  ;
    
    
     
     
    
    
    
    
    
     
    
    var k1 = Sistem.MA(k, "Simple", length )  ;
    
    
    
    
    var k2= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
    k2[i] = Math.Abs(C[i] - k1[i] ) ;
    
     
    
    }
    
    
    
    
    var er = Sistem.Sum(k2) / x * mult ;
    
     
    var a = Sistem.Liste(0);
    
    var b = Sistem.Liste(0);
    
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
     
    
    a[i] = k1[i] + er  ;
    b[i] = k1[i] - er ;
     
    
    }
    
     
    
    
    Sistem.Cizgiler[0].Deger= a  ; //panel1
    Sistem.Cizgiler[1].Deger= b  ; //panel1

  7.  Alıntı Originally Posted by anonimm Yazıyı Oku
    Şöyle birşey olabilir

    Kod:
     // Pseudo Polynomial Channel
    
    var length = 14 ; //
    var lengthh = 2 * length ; 
    var morph = 0.9f ; 
    var mult = 1.0f ;
    var flatten = 1.0f ;
    
    var V = Sistem.GrafikVerileri ;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    var H = Sistem.GrafikFiyatOku(V, "Yuksek" ) ;
    var L = Sistem.GrafikFiyatOku(V, "Dusuk" ) ;
    var O = Sistem.GrafikFiyatOku(V, "Acilis" ) ;
    
    var x = Sistem.BarSayisi ;
    
    var xx =  -1 *  ( x - x + length )/( x - lengthh - x + length )  ;
    
     
    //var xx =  -1 * ( x -  length )/( x - lengthh - x + length )  ;
    
    var k= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    
    k[i] = 
    
    morph * k[i-length]+ (1-morph) * C[i]  + 
    
    xx * (  morph * k[i-lengthh]+ (1-morph) * C[i] )  -  
    
     ( morph * k[i-length]+ (1-morph) * C[i] ) / flatten  ;
    
    
     
     
    
    
    
    
    
     
    
    var k1 = Sistem.MA(k, "Simple", length )  ;
    
    
    
    
    var k2= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
    k2[i] = Math.Abs(C[i] - k1[i] ) ;
    
     
    
    }
    
    
    
    
    var er = Sistem.Sum(k2) / x * mult ;
    
     
    var a = Sistem.Liste(0);
    
    var b = Sistem.Liste(0);
    
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
     
    
    a[i] = k1[i] + er  ;
    b[i] = k1[i] - er ;
     
    
    }
    
     
    
    
    Sistem.Cizgiler[0].Deger= a  ; //panel1
    Sistem.Cizgiler[1].Deger= b  ; //panel1
    Savitzky-Golay kullanarak yumuşatmış eleman ama sizinki sanki sert olmuş gibi.
    şöyle olursa en azından mid sapmaz gibi. sanırım sum olduğundan up ve down çizgileri farklı periyotlarda bar sayısı ve duyarlılık gibi nedenlerle farklılaşabilir. paramla ayarlanır gerçi onlarda.

    bence framanın TTI ını alıp kanal yapmaktan daha iyi gibi, hemde bedava

    PHP Code:
    /* https://www.tradingview.com/script/qusoEeMf-Pseudo-Polynomial-Channel/ */

    var Sistem.GrafikVerileri ;
    var 
    Sistem.GrafikFiyatOku(V"Kapanis");

    var    
    length  14;
    var    
    morph   0.9f;  
    float  mult    1f;
    var    
    flatten 1f;

    var 
    Up Sistem.Liste(0);
    var 
    Down Sistem.Liste(0);
    var 
    Sistem.Liste(0);
    var 
    kcum=0f;

    for (
    int i length*C.Counti++)
    {
       
    k[i] =    (morph k[i-length] + (1-morph) * C[i] )
               + (
    - (i+length) )
               / ( (
    i+length*2f)  - (i+length)  )
               * (
                    (
    morph k[i-length*2] + (1f-morph) * C[i] )
                  - (
    morph k[i-length]   + (1f-morph) * C[i] )
                 )
               / 
    flatten;
    }

    var 
    k1 Sistem.MA(k"Simple"length  );

    for (
    int i length*C.Counti++)
    {
      
    kcum += Math.Abs(C[i] - k1[i] );  
      
    float er kcum mult
      
    Up[i]    = ( k1[i] + er);
      
    Down[i]  = ( k1[i] - er);
    }

    Sistem.Cizgiler[0].Deger Up;
    Sistem.Cizgiler[1].Deger k1;
    Sistem.Cizgiler[2].Deger Down

  8.  Alıntı Originally Posted by anonimm Yazıyı Oku
    Şöyle birşey olabilir

    Kod:
     // Pseudo Polynomial Channel
    
    var length = 14 ; //
    var lengthh = 2 * length ; 
    var morph = 0.9f ; 
    var mult = 1.0f ;
    var flatten = 1.0f ;
    
    var V = Sistem.GrafikVerileri ;
    var C = Sistem.GrafikFiyatOku(V, "Kapanis" ) ;
    var H = Sistem.GrafikFiyatOku(V, "Yuksek" ) ;
    var L = Sistem.GrafikFiyatOku(V, "Dusuk" ) ;
    var O = Sistem.GrafikFiyatOku(V, "Acilis" ) ;
    
    var x = Sistem.BarSayisi ;
    
    var xx =  -1 *  ( x - x + length )/( x - lengthh - x + length )  ;
    
     
    //var xx =  -1 * ( x -  length )/( x - lengthh - x + length )  ;
    
    var k= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    
    k[i] = 
    
    morph * k[i-length]+ (1-morph) * C[i]  + 
    
    xx * (  morph * k[i-lengthh]+ (1-morph) * C[i] )  -  
    
     ( morph * k[i-length]+ (1-morph) * C[i] ) / flatten  ;
    
    
     
     
    
    
    
    
    
     
    
    var k1 = Sistem.MA(k, "Simple", length )  ;
    
    
    
    
    var k2= Sistem.Liste(0);
     
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
    k2[i] = Math.Abs(C[i] - k1[i] ) ;
    
     
    
    }
    
    
    
    
    var er = Sistem.Sum(k2) / x * mult ;
    
     
    var a = Sistem.Liste(0);
    
    var b = Sistem.Liste(0);
    
    
    
    for (int i = 50; i < V.Count; i++)
    {
    
     
    
    a[i] = k1[i] + er  ;
    b[i] = k1[i] - er ;
     
    
    }
    
     
    
    
    Sistem.Cizgiler[0].Deger= a  ; //panel1
    Sistem.Cizgiler[1].Deger= b  ; //panel1
    Hocam x i böyle tanımlarsak x ve length ler sadeleşip geriye xx=1/length kalıyor. Adam böyle kodlamazdı herhalde, o sebeple bar sayısı değil diye düşünmüştüm..

    var xx = -1 * ( x - x + length )/( x - lengthh - x + length ) ;
    Biçare gönüller! Ne giden son gemidir bu!
    Hicranlı hayatın ne de son matemidir bu.

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
  •