Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 600
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
Selamlar! :)
Yaklaşık olarak aşağıdaki gösterge kodu vardır:
M1 grafiğine atıyorum. Gösterge, sözde hesaplamaları gerçekleştirerek terminal ile birlikte asılı kalır.
15 dakika sonra zorla kapatıyorum, günlüğü açıyorum ve şunu görüyorum:
Göstergenin ilk kez hesaplayana kadar yeni gelen kenelere (mantıksal olarak) tepki vermediği ortaya çıktı. ANCAK! Oluştururken, terminale IndicatorConted()'in zaten 0'dan farklı bir değer atanması gerektiğini söylemeyi unutuyor.
Yani, bir yanlış hesaplama için sıraya giren yeni gelen kenelerin, IndicatorCounted()???
Meşgul değişkeni aracılığıyla kontrol etmeye çalıştı (yorumlanan satır - aynı sonuç).
Bu şekilde denedim:
Doğal olarak, bu sefer her şey doğru çalıştı:
Ne oluyor? Sistemin IndicatorCounted() öğesine yeni bir değer yazmak için zamanı yok mu? Yani, uyku () gibi bir şey mi yapmanız gerekiyor? Göstergede imkansız olduğunu biliyorum)
Veya yeni bir tick geldiğinde, eskisi henüz hesaplamaları bitirmediği için IndicatorCounte()'nin hala sıfıra eşit olduğunu hatırlar ve zamanı geldiğinde IndicatourCounted()=0'ın eski değerine göre saymaya başlar. ?
Genel olarak, nasıl olunur? )
Selamlar! :)
Yaklaşık olarak aşağıdaki gösterge kodu vardır:
Bu benim ilk deneyimim, kesinlikle yargılamayın :)
Bu herşeyi açıklıyor. Bu kod gibi bir şeye, bu cevap gibi bir şeye ... ha ?
Mesele şu ki, kodun geri kalanı önemli değil. Hatanın özü bu parçada açıklanmıştır.
Genel olarak, insanları büyük bir gönderiyle korkutmaktan korktum. Ve böylece patlattı.
Kısaca şu şekilde formüle edilebilir: Göstergenin hesaplanması uzun bir süre için (bir dakikadan fazla) hesaplanırsa, IndicatorCounted() sürekli olarak 0 döndürür.
Dürüst olmak gerekirse, bana öyle geliyor ki, test eden kişi değişkenin geçmiş değerini - son testten - hatırlıyor. Nasıl - HZ, bilgi almak için çok az zaman var. Belki bir terminal hatası. Sadece koda bir yorum ekledim ve değerleri günlüğe çıkardım. Her yeni test çalıştırmasında, önceki testin değerinin sys değişkeninde depolandığı ortaya çıktı. Bir çeşit incir. Belki başkası görür, belki gözlerim bulanık...
Sadece satırı unuttun
gösterge özellikleri tekrar çağrıldığında yürütülmez.
Tam olarak araştırmadım, ama belki istenen sonuç bu şekilde elde edilir?
Sadece satırı unuttun
gösterge özellikleri tekrar çağrıldığında yürütülmez.
Tam olarak araştırmadım, ama belki istenen sonuç bu şekilde elde edilir?
Mesele şu ki, kodun geri kalanı önemli değil. Hatanın özü bu parçada açıklanmıştır.
Genel olarak, insanları büyük bir gönderiyle korkutmaktan korktum. Ve böylece patlattı.
Kısaca şu şekilde formüle edilebilir: Göstergenin hesaplanması uzun bir süre için (bir dakikadan fazla) hesaplanırsa, IndicatorCounted() sürekli olarak 0 döndürür.
Evet, mesele bu değil. Kimsenin tam gizli kodunuza ihtiyacı yok. Sadece bu yanlış anlaşılmanın olacağı eksiksiz bir test kodu parçası yazın. Ve bu yüzden
seçilen satırı zarem yaptığınızda??? Telepatlar yardım etmeyecek, sadece ölümlüler ve hatta daha fazlası ...
Daha sonra bu kısım
Hangi programcıdan geldiğini bilmiyorum ama burada bir şeyler çok yetersiz yazılmış... Size bir taş atılmamış. Sen de diğerleri gibi kodu aldın ve düzenlemeye çalıştın...
counted_bars değişkeni, son gösterge çağrısından bu yana değişmeyen çubukların sayısına eşitse (ilk satır)
if(counted_bars < 0) tarafından kontrol edilmesinin nasıl sıfırdan küçük olabileceğini asla anlayamayacağım...
Ayrıca, saçmalık, ama bunu çözmek için şimdiden tembelim ...
Sadece satırı unuttun
gösterge özellikleri tekrar çağrıldığında yürütülmez.
Tam olarak araştırmadım, ama belki istenen sonuç bu şekilde elde edilir?
bunu denedim.. çalışmıyor..
Temelde bir danışman. Ama HZ, deneyler için zaman yok. Yazdığım gibi tüm danışmanlarım var, çalışıyorlar. Bu saçmalığı test cihazında izlemek gerekli olacak. Zamanı geldiğinde.
bunu denedim.. çalışmıyor..
Kodu EA'larda yeniden derledim ve çalıştırdım. Bir yorumda Sys parametresini değiştirdiğinizde bu değer değişir.