idealde super trend ve matriks de ki ott indikatörünün kodu olan var mı ğaylaşırsa makbule geçer
|
|
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)
idealde super trend ve matriks de ki ott indikatörünün kodu olan var mı ğaylaşırsa makbule geçer
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.
İyi bayramlar,
Periyodları farklı olan 2 sistemi nasıl birleştiririz? Aynı yönde ise işlem olacak, yönler farklı ise pozisyonda iken bile flat olacak ve aynı yönde sinyale kadar bekleyecek.
Kütüphanede hazır olan sistem birleştir ile repaint oluyor. Daha önce deneyen var mı?
Bir an önce görülsün diye Akdeniz, Toroslar'da ağaçlar hep çocuk kalır...
Şö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 V = Sistem.GrafikVerileri ;
var C = 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 k = Sistem.Liste(0);
var kcum=0f;
for (int i = length*2 ; i < C.Count; i++)
{
k[i] = (morph * k[i-length] + (1-morph) * C[i] )
+ (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*2 ; i < C.Count; i++)
{
kcum += Math.Abs(C[i] - k1[i] );
float er = kcum / i * 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;
|
|
Biçare gönüller! Ne giden son gemidir bu!
Hicranlı hayatın ne de son matemidir bu.
Yer İmleri