Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 43

 

Pencerede görünen çubuklar arasında maksimum ATR değerini döndüren bir işlev yazmaya yardımcı olun. Tüm internete baktım ve benzer bir şey bulamadım.

Teşekkürler,

 
dr.Vasgenich :

Pencerede görünen çubuklar arasında maksimum ATR değerini alan bir fonksiyon yazmaya yardımcı olun. Tüm internete baktım ve benzer bir şey bulamadım.

Teşekkürler,

/

dış int p = 4; // ATR dönemi

//------

int başlangıç()

{

int i;

çift m;

while( i < WindowBarsPerChart() - p )

{

double a = iATR( NULL, 0, p, i);

eğer (m <a)

{

m = bir;

}

ben++;

}

Alert(" Görünür çubuk sayısı için pip cinsinden maksimum ATR değeri ", m / Puan ); //

/////

dönüş(0);

}

 

Boeing747 Teşekkürler. Hemen buraya yazmalıydım.

Böylece, benim sürümümdeki fonksiyonun son versiyonu şöyle görünüyor

çift ATR_Max() {
int i;
çift m;
while( i < WindowBarsPerChart() - p ) {
double a = iATR( NULL, 0, p, i);
eğer (m <a) {
m = bir;
}
ben++;
}
Alert( " Görünür çubuk sayısı için maksimum ATR değeri - ", m );
dönüş(m);
}

 
dr.Vasgenich :

Boeing747 Teşekkürler. Hemen buraya yazmalıydım.

Böylece, benim sürümümdeki fonksiyonun son versiyonu şöyle görünüyor

çift ATR_Max() {
int i;
çift m;
while( i < WindowBarsPerChart() - p ) {
double a = iATR( NULL, 0, p, i);
eğer (m <a) {
m = bir;
}
ben++;
}
Alert( " Görünür çubuk sayısı için maksimum ATR değeri - ", m );
dönüş(m);
}

Ben yanlış gördüm while( i < WindowBarsChart() - p )

büyük olasılıkla iATR( NULL, 0, p, i ); grafikteki tüm çubuklar için değerleri hesaplar ve mümkün ve gereklidir

while( i < WindowBarsChart() ) olarak düzeltin. iATR() işleviyle hiç çalışmadım; bir şekilde denemek gerekiyor.

Prensipte iATR() fonksiyonunu kullanmadan da fonksiyonunuzu deyim yerindeyse en saf haliyle yazabilirsiniz.

 
Boeing747 :

Ben yanlış gördüm while( i < WindowBarsChart() - p )

büyük olasılıkla iATR( NULL, 0, p, i ); grafikteki tüm çubuklar için değerleri hesaplar ve mümkün ve gereklidir

while( i < WindowBarsChart() ) olarak düzeltin. iATR() işleviyle hiç çalışmadım; bir şekilde denemek gerekiyor.

Prensipte iATR() fonksiyonunu kullanmadan da fonksiyonunuzu deyim yerindeyse en saf haliyle yazabilirsiniz.


Şimdi ben de dönemin bununla hiçbir ilgisi olmadığını düşündüm. Muhtemelen kaldırmak en iyisidir.

Bunu bir diziyle yapamaz mısın? Penceredeki tüm ATR'lerin değerlerini bir dizi halinde toplayın ve daha sonra böyle bir fonksiyon ile maksimumu bulun - ArrayMaximum Ama korkarım bilgim bunun için yeterli değil.




 
dr.Vasgenich :

Şimdi ben de dönemin bununla hiçbir ilgisi olmadığını düşündüm. Muhtemelen kaldırmak en iyisidir.

Bunu bir diziyle yapamaz mısın? Penceredeki tüm ATR'lerin değerlerini bir dizi halinde toplayın ve daha sonra böyle bir fonksiyon ile maksimumu bulun - ArrayMaximum Ama korkarım bilgim bunun için yeterli değil.




Evet, iATR(); bir döngüde, dizileri onunla doldurma ve ardından maksimum ATR değerini çıkarmak için ArrayMaximum'u kullanma. ama yine de yağlı yağ çıkıyor, çünkü her neyse, özellikle bunun için, ilk versiyonda olduğu gibi dizileri doldurmak için bir döngü kullanmanız gerekiyor. ancak ilk değişkende maksimum, ArrayMaximum değişkeninden çok daha ekonomik olan döngü kaydırma sırasında hesaplandı. Burada özel bir bilgiye ihtiyaç yoktur. ders kitabında veya referans kitabında, ArrayMaximum / hakkında ayrıntılı olarak açıklanmaktadır.
 
Boeing747 :
Evet, iATR(); bir döngüde, dizileri onunla doldurma ve ardından maksimum ATR değerini çıkarmak için ArrayMaximum'u kullanma. ama yine de yağlı yağ çıkıyor, çünkü her neyse, özellikle bunun için, ilk versiyonda olduğu gibi dizileri doldurmak için bir döngü kullanmanız gerekiyor. ancak ilk varyantta, ArrayMaximum varyantından çok daha ekonomik olan döngü kaydırma sürecinde maksimum hesaplandı. Burada özel bir bilgiye ihtiyaç yoktur. ders kitabında veya referans kitabında, ArrayMaximum / hakkında ayrıntılı olarak açıklanmaktadır.

Teşekkürler, yarın test etmeye çalışacağım. Bir soru daha, maksimum değerin her onay işaretiyle değil, yeni bir çubuğun ortaya çıkmasından sonra hesaplanması için test cihazının kaynaklarını bu işlevde nasıl kaydedebilirsiniz?
 
dr.Vasgenich :

Teşekkürler, yarın test etmeye çalışacağım. Bir soru daha, maksimum değerin her onay işaretiyle değil, yeni bir çubuğun ortaya çıkmasından sonra hesaplanması için test cihazının kaynaklarını bu işlevde nasıl kaydedebilirsiniz?

başlamak için bunu deneyebilirsin

küresel düzeyde t ilan ediyoruz

ve döngü boyunca şöyle yazıyoruz;

if ( t != Zaman[0] )

{

t = Zaman[0];

// ATRmax'ın hesaplandığı döngü

}

böylece yeni bir bar açılışında döngüdeki hesaplamalar bir kez yapılacaktır. Başka daha akıllı seçenekler olabilir.

 

Boeing747, dr.Vasgenich , beyler, "SRC" düğmesini kullanmak zayıf mı yoksa sizin için uygun mu?

 
Zhunko :

Boeing747, dr.Vasgenich , beyler, "SRC" düğmesini kullanmak zayıf mı yoksa sizin için uygun mu?

"SRC" düğmesini kullanmayı unutup duruyorum. alışkanlık haline geldi sanki. 60 yaşında yeniden eğitmek zor. yarın senin düğmeni kullanmayı deneyeceğim
Neden: