Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Nicholas!
Bana neden Mass[ i ]= Mass[ i+1]+A; formülünü kullanarak bir döngü içinde bir gösterge dizisini doldurmaya çalıştığımda, A'nın bir değişken olduğu yerde, derlemenin hatasız gittiğini, ancak pencereye katıldığımda array out of range (dizi aralık dışı) mesajını aldığımı söyleyebilir misiniz?
Nikolay, teşekkür ederim. Bu harika bir öğretici!
Ama sanırım bu değişken
kodda her zaman sıfır değerinde olacaktır. Hesaplama için önemli mi?
Nikolay, teşekkür ederim. Bu harika bir öğretici!
Ama sanırım bu değişken
kodda her zaman sıfır değerinde olacaktır. Hesaplama için önemli mi?
"begin"in değeri, hangi göstergeye uygulandığına bağlı olarak farklı olacaktır. Örneğin RSI'a uygularsanız,"begin" 14 olacaktır.
Eğer ilk defa derlemeye çalışırsanız, tampon hatası alabilirsiniz. Bu yüzden lütfen tampon miktarını değiştirin:
#property indicator_buffers 2
Daha sonra, 1 (bir) tampona geri dönebilirsiniz:
#property indicator_buffers 1
Anlamıyorum. Varsayalım ki
rates_total == MA_Period - 1
ve bu fonksiyonun ilk çağrısıdır, bu yüzden
prev_calculated == 0
ve ayrıca begin == 0
o zaman ilk if(rates_total < MA_Period - 1 + begin) içindeki koşul false olarak değerlendirilir
sonra
first = MA_Period - 1 çalıştırılacaktır
ancak daha sonra HESAPLAMA YOK çünkü ilk for döngüsündeki koşul yanlış olarak değerlendiriliyor.
Bence ilk if koşulu şöyle olmalı
if( rates_total < MA_Period + begin )
Burada bir şey mi kaçırıyorum?
Ve bir tane daha. Göstergeyi prev_calculated kez hesapladıysam, neden ( prev_calculated - 1) numaralı çubuktan hesaplamaya başlamalıyım?
Örneğin, göstergeyi 0, 1, 2, 3 ve 4 numaralı çubuklar için 5 kez hesapladım. Bunu 4. çubukta tekrar hesaplamama gerek yok. Bar 5'ten devam etmeliyim.
Ve bir tane daha. Eğer prev_calculated göstergesini zaten hesapladıysam, neden hesaplamaya ( prev_calculated - 1) sayısına sahip çubuktan başlamalıyım?
Örneğin, göstergeyi 0, 1, 2, 3 ve 4 numaralı çubuklar için 5 kez hesapladım. Bunu 4. çubukta tekrar hesaplamama gerek yok. Bar 5'ten devam etmeliyim.