[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 192

 

Lütfen söyle. MathMax'in neden çalışmadığını anlamıyorum.

Kodun basitleştirilmiş bir versiyonu da (daha kolay olmuyor) çalışmıyor. GBPUSD_High değişkeni hiçbirine sayılmaz :-( GBPUSD_Low ile her şey yolunda olsa da.

PS Sadece göstergenin yüklendiği andan itibaren çubuklardaki değerlerle ilgileniyoruz.

//+------------------------------------------- --------------------
#özellik göstergesi_separate_window
#özellik göstergesi_tamponları
3
#özellik göstergesi_color1 Siyah
#özellik göstergesi_renk2 Gri
#özellik göstergesi_renk3 Gri
//------------------------------------------------ --------------------
çift
GBPUSD[], GBPUSD_Yüksek[], GBPUSD_Düşük[];
//------------------------------------------------ --------------------
int
init()
{
//------------------------------------------------ --------------------
SetIndexBuffer
( 0 ,GBPUSD);
SetIndexStyle
( 0 , DRAW_LINE , STYLE_SOLID , 2 );
SetIndexBuffer
( 1 ,GBPUSD_Yüksek);
SetIndexStyle
( 1 , DRAW_LINE , STYLE_DOT , 1 );
SetIndexBuffer
( 2 ,GBPUSD_Düşük);
SetIndexStyle
( 2 , DRAW_LINE , STYLE_DOT , 1 );
//------------------------------------------------ --------------------
dönüş
;
}
//------------------------------------------------ --------------------
int
başlangıç()
{
int
Counted_bars, i;
//------------------------------------------------ --------------------
Counted_bars= IndicatorCounted ();
i= Çubuklar -Counted_bars- 1 ;
while
(i>= 0 )
{
GBPUSD[i]= Kapat [i];
if
(GBPUSD_Low[i]== 0 ) GBPUSD_Low[i]=GBPUSD[i];
GBPUSD_High[i]= MathMax (GBPUSD_High[i],GBPUSD[i]);
GBPUSD_Low[i]= MathMin (GBPUSD_Low[i],GBPUSD[i]);
ben--;
}
//------------------------------------------------ --------------------
dönüş
;
}
//------------------------------------------------ --------------------

Elbette GBPUSD'ye yükleyin.

 
alderru >> :

Lütfen söyle. MathMax'in neden çalışmadığını anlamıyorum.

Kodun basitleştirilmiş bir versiyonu (daha kolay olmuyor) ve çalışmıyor. GBPUSD_High değişkeni hiçbirinde sayılmaz :-( GBPUSD_Low ile her şey yolunda olsa da.

PS Yalnızca göstergenin yüklendiği andan itibaren çubuklardaki değerlerle ilgileniyoruz.

Elbette GBPUSD'ye yükleyin.

MathMax'in bununla hiçbir ilgisi yok. değişken verileri nereden alıyorsunuz? Seçenek:

 while ( i > = 0 )
{
GBPUSD [ i ] = Close [ i ] ;
GBPUSD_High [ i ] = High    [ i ] ;
GBPUSD_Low [ i ] = Low [ i ] ;

//if (GBPUSD_Low[i]==0) GBPUSD_Low[i]=GBPUSD[i];

GBPUSD_High [ i ] = MathMax ( GBPUSD_High [ i ] , GBPUSD [ i ] ) ;
GBPUSD_Low [ i ] = MathMin ( GBPUSD_Low [ i ] , GBPUSD [ i ] ) ;
i - - ;
}
 
tmp.0 >> :

MathMax'in bununla hiçbir ilgisi yok. ..

Aynen öyle! Dolayısıyla, Yüksek'in her zaman Kapat'tan büyük veya ona eşit olduğu açıktır, MathMin aynıdır;)

 
OneDepo писал(а) >>

Aynen öyle! Dolayısıyla, Yüksek'in her zaman Kapat'tan büyük veya ona eşit olduğu açıktır, MathMin aynıdır;)

Örnek olarak , özellikle sözde değerlerin hesaplanmasını gösterdi. Orijinalde, tamamen farklı bir değişkenin çubuğunda maksimum ve minimum arıyorum. Gösterge görüntülendiğinde, değişkenin eğrisi elbette çubuğun oluşumu sırasında yeniden çizilir. Sınır noktaları aranıyor.

MathMax işlevinin kendisinin neden çalışmadığını anlamıyorum. MathMin iyi çalışıyor, GBPUSD_Low eğrisi çiziliyor...

Programlama dilbilgisi açısından herhangi bir açıklama var mı?

Göstergeyi ayarlayın, burada neyin yanlış olduğunu söyleyin, neden GBPUSD_High değerinin hesaplanmadığını.

 
alderru >> :

Örnek olarak, özellikle bilinen değerlerin hesaplanmasına atıfta bulundu. Orijinalde, tamamen farklı bir değişkenin çubuğunda maksimum ve minimum arıyorum. Gösterge görüntülendiğinde, değişkenin eğrisi elbette çubuğun oluşumu sırasında yeniden çizilir. Sınır noktaları aranıyor.

MathMax işlevinin kendisinin neden çalışmadığını anlamıyorum.

Programlama dilbilgisi açısından herhangi bir açıklama var mı?

Göstergeyi kurun ve burada neyin yanlış olduğunu, neden GBPUSD_High değerinin hesaplanmadığını söyleyin.

Kafanı aptal yerine koyma. bunu beğendiğiniz koda yapıştırın:

Print (GBPUSD_High[i],":",GBPUSD_Low[i],":",GBPUSD[i]); 
ve "uzmanlar" sekmesinde bir aydınlanma yaşayacaksınız.
 
tmp.0 писал(а) >>

Kafanı aptal yerine koyma. bunu beğendiğiniz koda yapıştırın:

ve "uzmanlar" sekmesinde bir aydınlanma yaşayacaksınız.

Ne olmuş...

İçgörü yok. Print, tıpkı bir gösterge gösterdiği gibi yalnızca iki değeri yazdırır. Peki ya üçüncüsü??

Önerdiğiniz şeyi denediniz mi?

 
Bir sonraki soru lütfen :)
 
tmp.0 писал(а) >>
Bir sonraki soru lütfen :)

Çok zeki.

Yardım için teşekkürler".

 
alderru >> :

Çok zeki.

Yardım için teşekkürler".

Yukarıda zaten cevaplandınız. Bunun nedeni, atama ifadesinin sağ tarafında atanmamış bir değerin kullanılmasıdır. Sıradaki GBPUSD_High[i] nedir?

GBPUSD_High[i]=MathMax(GBPUSD_High[i],GBPUSD[i]);

sen ve durumu düzeltme seçeneği gösterdi. ironiyi bırak.


 
OneDepo писал(а) >>

Bunun nedeni, atama ifadesinin sağ tarafında atanmamış bir değerin kullanılmasıdır.

Bu, gösterge arabelleklerinin bildirilmesinin, hücre değerlerinin sıfıra eşit olduğu anlamına gelmediği anlamına gelir. Doğru şekilde?

Bu nedenle MathMax hesaplanmaz çünkü karşılaştırılan değerlerden biri (yani GBPUSD_High ) hiçbir değere sahip değildir (hiç sıfır bile değildir).

Açık. OneDepo'ya teşekkürler.

Herkesi basitleştirmemle karıştırdığım için özür dilerim (punto amaçlı). Daha önce de belirttiğim gibi, teklifin Yüksek değeriyle ilgilenmiyorum, kendi işlevinin çubuk üzerindeki maksimum değeriyle ilgileniyorum, eğrinin çubuğun oluşumu sırasında benim için güvenli bir şekilde çizdiği ve yeniden çizdiği eğri . Beni ilgilendiren, bar sırasındaki bu gösterge yeniden çizim aralığıydı.

Düşüneceğim.

PS Ama neden MathMin sorgusuz sualsiz kabul ediliyor, çünkü koşullar eşit ve aynı şekilde açıklanıyor?

PSS Somewhere Ben çok aptalım. Çalışmıyor. Bana yardım et lütfen.