Hatalar, hatalar, sorular - sayfa 2746
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Numara. Derleme zamanında, bu henüz bilinmiyor.
O zaman SymbolInfoTick'i on milyarlarca kez ararken çok sayıda kontrolden kaçınmanın nasıl bir faydası olur?
O zaman SymbolInfoTick'i on milyarlarca kez ararken çok sayıda kontrolden kaçınmanın nasıl bir faydası olur?
Mümkün değil. Yalnızca dizenin kendisini gereksiz yere kopyalamamaya yardımcı olur.
Mümkün değil. Yalnızca dizenin kendisini gereksiz yere kopyalamamaya yardımcı olur.
O zaman, Optimize Edici'den daha fazla verim istiyorsanız, SymbolInfo - fonksiyonları için dize referanslı çözümün doğru olduğu açıktır.
Projelerimden birindeki hata ayıklayıcı benim için çalışmayı reddediyor. Ayrıca, davranışını tahmin etmek zordur. Bazen sadece kesme noktalarına ulaşmayı reddediyor. Ayrıca bazı işlevlere girmeyi de reddediyor. İlk başta sebebin güncellemeler olduğunu düşündüm (birdenbire hata ayıklamada bir şeyler ters gitti). Ancak diğer daha basit programlarda her şey çalışıyor gibi görünüyor. Ana projem üzerinde çalıştığımdan beri çok detaylı kontrol etmedim. Oldukça karmaşık olduğu ortaya çıktı ve sadece tasarımımın 15 modülünü içeriyor (standart modüllerin sayısını saymadım). Ana modül 2000 satıra kadar içerir. Belki projenin karmaşıklığındandır diye düşündüm... Ayrıca, bazı yerlerde tekrarlayan kod parçacıkları için makrolar kullanıyorum. Ayrıca programımın işlevselliği için yeniden yazdığım CAppDialog, CCheckGroup, CComboBox, CButton vb. gibi standart UI öğelerini de kullanıyorum. Belki hata ayıklama onlar yüzünden çalışmıyor... Örneğin, hata ayıklama benim tarafımdan özel olarak yazılmış CCheckGroup::itemCheckState(const string item) yöntemine girmiyor. Yöntem, onay kutusu öğesini bulur ve seçili olup olmadığını kontrol eder (Durumu):
İşte bitirdiğim kullanıcı arayüzü:
Bazı UI öğeleri geçici olarak sınıflandırılır. Ve burada CAppDialog öğesinin Show() ve Hide() yöntemlerini nasıl geçersiz kıldığım hakkında konuştuğum başlık: https://www.mql5.com/ru/forum/338301 . Sonra derleyici yemin etti, kritik bir hata vardı.
Sonuç olarak, projenin normal bir şekilde derlendiği ortaya çıkıyor, derleyici herhangi bir hata üretmiyor. Ancak hata ayıklama sorunludur ve yalnızca bazı kod parçacıklarının, işlevlerin, yöntemlerin vb. yürütülmesini göstermez.
Anladığım kadarıyla, birkaç nedeni olabilir.
Yapı ve sistem bilgisi:
2020.05.21 09:35:09.325 Terminal MetaTrader 5 x64 build 2433 started for MetaQuotes Software Corp.
2020.05.21 09:35:09.326 terminal Windows 10 build 14393, Intel Core i5-5200U @ 2.20GHz, 2/3 Gb bellek, 61/380 Gb disk, IE 11, UAC, GMT+2
Öyleyse, Optimize Edici'den daha fazla verim istiyorsanız, SymbolInfo işlevleri için dize referanslı çözümün doğru olduğu açıktır.
Evet, bu bağlantının bir anlamı yok, geliştirici tarafından söyleniyor. Her şey referansla iletilir. Fark sadece eski MQL4'teydi. Ve bir dize okurken hiçbir kontrol yoktur.
Bu tür iddialar sadece sıkıcı.
Bu tür iddialar sadece sıkıcı.
Belki yazmak daha kolaydır:
?...
Neden böyle içiyorsun?
Belki yazmak daha kolaydır:
Diğerleri tartışılıyor.
Bu tür iddialar sadece sıkıcı.
asılsız olmamak için, çizginin değişmediği testler için bir kıyaslama getirin.