TF değişikliği bir sorundur - sayfa 6

 
Vasyl Nosal :
Her şey? Arıza olmayacak mı?
Bu bir hata kodu değil. :) Al ve kullan.
 
Sergei Vladimirov :

Vladimir, bunu neden OnCalculate() içinde yapıyorsun? Son iki satırı kastediyorum - dizilerin yeniden başlatılması. Her çubukta hesaplanan iki arabelleğiniz var, bu gereksiz bir eylemdir.

 if (prev_calculated== 0 )
{
   limit=rates_total- 1 ;
   ArrayInitialize (up_arr, EMPTY_VALUE );
   ArrayInitialize (down_arr, EMPTY_VALUE );
}
Başlatma işleminin her onay işareti üzerinde gerçekleştirileceğine neden karar verdiniz? prev_calculated==0 koşulu, göstergenin başlangıcında bir veya iki kez yürütülür. İşlem sırasında, geçmiş değiştirilirse prev_calculated==0 olabilir - ancak bu nadiren olur, hatta hiç olmaz ve geçmişi değiştirmek, göstergenin yeniden hesaplanmasını gerektirir.
 
Sergei Vladimirov :
Bu bir hata kodu değil. :) Al ve kullan.

Teşekkürler:)))))))))))))))))))))))))))))))))))))))))))))))) ))

Sıradaki kim?

 
Karputov Vladimir :
Başlatma işleminin her onay işareti üzerinde gerçekleştirileceğine neden karar verdiniz? prev_calculated==0 koşulu, göstergenin başlangıcında bir veya iki kez yürütülür. İşlem sırasında, geçmiş değiştirilirse prev_calculated==0 olabilir - ancak bu nadiren olur, hatta hiç olmaz ve geçmişi değiştirmek göstergenin yeniden hesaplanmasını gerektirir.
Geçmişi değiştirirken arabellekleri sıfırlamadan yapmak mümkün müdür?
 
Karputov Vladimir :
Başlatma işleminin her onay işareti üzerinde gerçekleştirileceğine neden karar verdiniz?
Bunu nereye yazdım? Daha sonra tüm çubuklarda her iki arabellek de hesaplanmışsa, neden OnCalculate() içindeki arabellekleri yeniden başlattığınızı sordum.
 
Sergei Vladimirov :
Bunu nereye yazdım? Daha sonra tüm çubuklarda her iki arabellek de hesaplanmışsa, neden OnCalculate() içindeki arabellekleri yeniden başlattığınızı sordum.
Yanlış beyan. prev_calculated==0 ile, daha sonra tüm çubukları atlarım, ancak bu , gösterge arabelleklerindeki tüm değerlerin değiştirilmesini garanti etmez . Bu nedenle, prev_calculated==0 ise, gösterge arabelleklerinin temizlenmesi gerekir.
 
Vasyl Nosal :

Teşekkürler:)))))))))))))))))))))))))))))))))))))))))))))))) ))

Sıradaki kim?

Peki neden yalan?

 
Karputov Vladimir :
Yanlış beyan. prev_calculated==0 ile, daha sonra tüm çubukları atlarım, ancak bu , gösterge arabelleklerindeki tüm değerlerin değiştirilmesini garanti etmez . Bu nedenle, prev_calculated==0 ise, gösterge arabelleklerinin temizlenmesi gerekir.

H-evet? Kodunuzda bazı arabellek değerlerinin doldurulmayacağına bir örnek verebilir misiniz? Belki de tarihteki ilk bar hariç.

 
Sergei Vladimirov :

Peki neden yalan?

Parlak.

Geçmişin olmadığı bir çifte geçmeyi ve ardından başka bir TF'ye geçmeyi denediniz mi?

 
Sergei Vladimirov :

Bu bir açıklama değil, bu bir soru.

H-evet? Belki kodunuzda bazı arabellek değerleri doldurulmadığında bir örnek verebilir misiniz?

Biliyorsunuz, hadi şunu yapalım: bu gönderiden 1.43 kodunu alın ve şu satırları yorumlayın:

 if (prev_calculated== 0 )
{
   limit=rates_total- 1 ;
//ArrayInitialize(up_arr,EMPTY_VALUE);
//ArrayInitialize(down_arr,EMPTY_VALUE);
}

ve grafiği geçmişin derinliğine kaydırırken sonuca bakın ve böylece geçmiş yüklenir.