PPZ hesaplaması - iyileştirmeye yardımcı olun - sayfa 2

 
Hindi bir danışman için çok ağırdır ama fikir güzeldir. Prensipte görsel ticaret için ek bir analiz olarak gideceğinden şüpheli olsam da, belki bunu kolaylaştırmak mümkün olacaktır.
 
Optimizasyon hakkında. Benim düşünceme göre, ortaya çıkan Fr0[j] dizisini sıralamanız ve zaten ondan dans etmeniz gerekiyor, sonuç olarak sadece bir geçiş elde ediyorsunuz.
 

Bu kod, aynı anda iki fraktal içeren çubukları dikkate almaz:


j=0;
for(i = loopbegin; i > Nfirst; i--) {
f0 = -1.0;
f0 = iFractals(NULL,0,MODE_UPPER,i);
if (f0<=0.0 ) f0 = iFractals(NULL,0,MODE_LOWER,i);
if (f0>0.0) {
Fr0[j]=f0;
Ind0[j]=i;
j++;
}
}
Nmaks = j;


Ve burada tüm fraktalları gözden geçirmek zorunda değilsiniz, fraktal #1'i #2 ile mi yoksa #2 ile #1'i mi karşılaştırdığınız umurunuzda değil.
Bunu şu şekilde düzeltmeniz gerekiyor:


for(i = 0; i < Nmax; i++) {
f0 = Fr0[i];
for(j = i+1 ; j < Nmax; j++) {
f1=Fr0[j];
if (MathAbs(Ind0[i]-Ind0[j])>minBars) {
for(k = j+1 ; k < Nmax; k++) {
f2 = Fr0[k];
if (MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) {
for(l = k+1 ; l < Nmax; l++) {
f3 = Fr0[l];
if (MathAbs(Ind0[i]-Ind0[l])>minBars && MathAbs(Ind0[j]-Ind0[l])>minBars && MathAbs(Ind0[k]-Ind0[l])>minBars) {
p0 = (f0+f1+f2+f3)/4.0;
s0 = (f0-p0)*(f0-p0)+(f1-p0)*(f1-p0)+(f2-p0)*(f2-p0)+(f2-p0)*(f2-p0);
if (s0<smin) {
smin=s0;
pmin=p0;
imin=i;
jmin=j;
kmin=k;
min=1;
}
}
}
}
}
}
}
}

Ve bu kodu bir fonksiyona koyup 4 kez kullanmanız ve kodu kopyalamamanız gerekiyor. Fr0'daki fraktallar, bir sonraki geçişte hesaplamaya katılmamaları için sıfıra ayarlanmalıdır.



 

Neden her yinelemede fraktalları yineleyelim? Bir kere yapıp sonra analiz etmek daha kolay değil mi? Ek olarak, karşılaştırma bir kareye değil bir üçgene yakınsamalıdır (fraktal 1 ve 2'yi iki kez ve ardından 2 ve 1'i karşılaştırmanın bir anlamı yoktur). Bunu biraz farklı yaptım - gösterge, dört seviye bulana kadar sürekli olarak 0 puan ve üzerinde bir sapma arar. Seviyeler arasındaki mesafeyi sınırlamadım:


Dosyalar:
 
Scriptong писал(а) >>

Neden her yinelemede fraktalları yineleyelim? Bir kere yapıp sonra analiz etmek daha kolay değil mi? Ek olarak, karşılaştırma bir kareye değil bir üçgene yakınsamalıdır (fraktal 1 ve 2'yi iki kez ve ardından 2 ve 1'i karşılaştırmanın bir anlamı yoktur). Bunu biraz farklı yaptım - gösterge, dört seviye bulana kadar sürekli olarak 0 puan ve üzerinde bir sapma arar. Seviyeler arasındaki mesafeyi sınırlamadım:

İyi! Hız tamamen farklı ... :)

Alınan seviyelerin değerlerini hindinin tamponlarına girmek mümkün müdür? Bunları daha sonra uzmandan işlemek için.

 

Kendime bir uzman yapacağım. Bazı fikirler var. Ama belki birinin daha ilginç düşünceleri vardır? Yapacağım ve Kod Tabanında yayınlayacağım.

 
Scriptong писал(а) >>

Kendime bir uzman yapacağım. Bazı fikirler var. Ama belki birinin daha ilginç düşünceleri vardır? Yapacağım ve Kod Tabanında yayınlayacağım.

Bunu da eklemeyi deneyebilirsiniz:

if (dönem == 0) {dönem = WindowBarsPerChart();}
Ve hesaplama için çubukların sayısını ekranda bir yerde görüntüleyin...

 
mikola2 >> :

if (dönem == 0) {dönem = WindowBarsPerChart();}
Ve hesaplama için çubukların sayısını ekranda bir yerde görüntüleyin...

onu demek istemedim :)

Uzman hakkında fikirler. Göstergenin kendisinde birçok şey ekleyebileceğiniz gerçeği açıktır.

 
Fikirler var, bunu bir fonksiyon haline getirin, yani hindinin mantığı olur mu?
 
qwerewq >> :
Идеи есть, сделайте его в виде функции, логику индюка имею в виду, сможете?


fonksiyon şeklindedir...