Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
tartışmam
ve bu yüzden
aynı yazıyor bir yuvarlama var, bu yüzden gerekli mi?
geliştiriciler
Uzman Danışman'da kenelerin işlenmesini yanlışlıkla döngüye aldım, ardından kritik bir yığın taşması hatası ortaya çıktı.
Sorun, mesajın tam olarak nerede ve ne olduğu hakkında belirli bilgiler içermemesidir.
Derleme aşamasında bu tür sorunları (çağrılan bir yöntemden bir sınıf yöntemini çağırmak gibi) yakalamak istiyorsanız, bu mesajın metnini netleştirmeyi öneriyorum.
iCustom()'un aslında hiçbir şeyle dolu olmayan bu arabellek hücrelerine keyfi değerler atamasının nedeni ve bunun neden herhangi bir şekilde önlenemediği benim için net değil.
Bunun bir şekilde gösterge arabelleğinin karşılık gelen veri dizisi için bellek tahsisi ile ilgili olduğunu varsayıyorum.
iCustom() tarafından yapılan bu tür çalışmalar, verilerin kaynağını ve doğruluğunu belirlemek imkansız olduğunda, bana kabul edilemez görünüyor ve kullanıcı için ek riskler yaratıyor.
iCustom() zaten gerçek değerlere karşılık gelmeyen arabellek hücrelerine keyfi değerler atarsa,
o zaman neden bu hücrelere MT4'te uygulandığı gibi Empty_Value'ye eşit bir değer vermiyorsunuz.
O zaman en azından durumları netleşirdi.
geliştiriciler
........... derleme zamanında benzer sorunları (çağrılan bir yöntemden bir sınıf yöntemini çağırmak gibi) yakalamak isteyebilirsiniz.
karşıyım. Bu, derleyiciyi aşırı derecede karmaşık hale getirecek ve dolayısıyla daha az güvenilir hale getirecektir.
Yanlış özyinelemeyi izlemek programcıya bağlıdır.
Ama hata mesajında yığını taşan fonksiyonun adını vermek - evet, istiyorum.
Kullanılmayan tampon değerlerinin neyle doldurulacağına yazardan başka kimse karar veremez. Empty_Value diyorsunuz , ancak örneğin 0 veya başka bir şey olmasına ihtiyacım var. Hangi değere ihtiyacınız var, öyleyse başlatın.
Her şey doğru ve mantıklı. Ancak sorun, kullanıcının hiçbir şeyle doldurmadığı arabellek hücrelerinin (!) iCustom() işlevi kendi takdirine bağlı olarak periyodik olarak rastgele çöplerle tıkanmasıdır. Böyle mi olması gerekiyor?
karşıyım. Bu, derleyiciyi aşırı derecede karmaşık hale getirecek ve dolayısıyla daha az güvenilir hale getirecektir.
Yanlış özyinelemeyi izlemek programcıya bağlıdır.
Ama hata mesajında yığını taşan fonksiyonun adını vermek - evet, istiyorum.
Evet, özellikle çalışan motoru (yerel 32/64'tür) meta bilgilerle karmaşıklaştırmıyoruz.
Özyinelemeyi yakalamak genellikle kolaydır - doğrudan yerel değişkenlerin kapsamına bağlıdır ve programda bu tür çok az yer vardır.
Her şey doğru ve mantıklı. Ancak sorun, kullanıcının hiçbir şeyle doldurmadığı arabellek hücrelerinin (!) iCustom() işlevi kendi takdirine bağlı olarak periyodik olarak rastgele çöplerle tıkanmasıdır. Böyle mi olması gerekiyor?
Özel bir gösterge arabelleğini doğru doldurmazsa, bu özel gösterge suçlanır.
Ve bu özel gösterge, sonuçlarını iCustom aracılığıyla veriyorsa, kullanıcıları yanlış yönlendirdiği için iki kat suçludur.
Özel bir gösterge arabelleğini doğru doldurmazsa, bu özel gösterge suçlanır.
Ve bu özel gösterge, sonuçlarını iCustom aracılığıyla veriyorsa, kullanıcıları yanlış yönlendirdiği için iki kat suçludur.
Özel bir gösterge arabelleğini doğru doldurmazsa, bu özel gösterge suçlanır.
Ve bu özel gösterge, sonuçlarını iCustom aracılığıyla veriyorsa, kullanıcıları yanlış yönlendirdiği için iki kat suçludur.
Programın sadece etkili olmasını değil, aynı zamanda kullanışlı olmasını da neyin engellediğini hala anlamıyorum? Doğru hatırlıyorsam, beşte gösterge arabelleklerinin yerleşik başlatma eksikliğinin argümanı hız optimizasyonudur. Aynı zamanda, gösterge geliştiricisi, daha önce dörtte çekirdek tarafından yürütülen aynı başlatma satırlarını ("sıfırları") kodlamaya zorlanır. Dolayısıyla ortaya çıkan verimlilik daha iyi görünmüyor ve rahatlık zarar görüyor. Ama bir nedenden dolayı böyle yapılmasına karar verildiğine göre, neden isteğe bağlı olarak yapılmasın? Onlar. arabelleklerin otomatik olarak başlatılması gerekip gerekmediğini gösteren başka bir #özellik eklemek mümkündü.
Özet olarak, bir zamanlar dile getirdiğim fikri tekrar edeceğim: MT olan platformun görevi, kullanıcıyı (programcıyı) olası "rake"lerden olabildiğince korumaktır.
Her şey doğru ve mantıklı. Ancak sorun, kullanıcının hiçbir şeyle doldurmadığı arabellek hücrelerinin (!) iCustom() işlevi kendi takdirine bağlı olarak periyodik olarak rastgele çöplerle tıkanmasıdır. Böyle mi olması gerekiyor?
Wapcheta'nın genel kabul görmüş kuralı: Kullanıcının takdirine bağlı olarak dizilerin başlatılması . Başlatılmamış bir dizi, kendisine ayrılan bellekten rastgele değerler içerir. Kullanıcının diziyi gereksiz yere başlatmamak için makul nedenleri olabilir (örneğin, zamandan tasarruf etmek için). Bazen bu şekilde zaman kazanıyorum, eğer gerçek bilgi orada görünmeden bu çöpü okuyup "yemeyeceğimden" eminsem.
MQ tarafında herhangi bir kötü niyet görmüyorum. Bunun yerine, "önleme için" programlarımı yavaşlatmaya başlarlarsa itiraz edeceğim.