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
Genel olarak, global değişkenlerin kötü olduğu gerçeğiyle başlamalıyız. Ve böyle bir değişken birçok dosyada kullanıldığında ve herhangi bir yerden değiştirilebildiğinde, bu meydanda kötülüktür! Bu nedenle, bu tür değişkenler her zaman sabit olarak bildirilmelidir (algoritmanın mantığını etkilemeyen hata ayıklama amacıyla yardımcı değişkenlerden bahsetmiyorsak).
Proje birkaç mq5 dosyasından oluşuyorsa (mqh ile karıştırılmamalıdır) extern belirteci gereklidir. Bu durumda, global değişkenleri ayrı bir dosyada bildirmek mantıklıdır. Proje mqh'den oluşuyorsa ve #include üzerine kuruluysa, o zaman extern gerekli değildir, çünkü aslında bu birkaç dosyaya bölünmüş bir dosyadır.
bir örnek gerekli, kütüphanelerde extern kullanmayı denedim - çalışmıyor https://www.mql5.com/en/forum/316795/page2#comment_12259472
bir örnek gerekli, kütüphanelerde extern kullanmayı denedim - çalışmıyor https://www.mql5.com/en/forum/316795/page2#comment_12259472
Burada, ikinci durumda, global değişkenleri farklı dosyaların kapsamına sokmak için extern gereklidir.
Kusura bakmayın ama bir örneğe ihtiyacım var, burada extern'i nerede kullanacağınızı tahmin edebilirsiniz - kütüphanede denedim, benim için işe yaramadı, extern'i nasıl kullandığınızı gösterin
Kütüphaneler için değil, projeler içindir. Proje, #include üzerine inşa edilebilir veya birkaç mq5 dosyası oluşturulabilir. Burada, ikinci durumda, global değişkenleri farklı dosyaların kapsamına sokmak için extern gereklidir.
Bütün şaka, extern'in basitçe gerekli olmamasıydı. Herhangi bir proje dosyasında global düzeyde bildirilen bir değişken, tüm dosyalarında mevcuttur. Ne için? Yaratıcılara soru.
Kullanıldığı tüm *.mqh dosyalarında extern değişkenini bildirebilirsiniz.
Bu durumda, bu tür *.mqh dosyaları, global değişkenin bildirildiği *.mq5 (veya diğer *.mqh) dosyasına bağlı değildir.
Bu, dosyaların başka projelerde kullanılmasına izin vererek kodun yeniden kullanımını artırır.
Kullanıldığı tüm *.mqh dosyalarında extern değişkenini bildirebilirsiniz.
Bu durumda, bu tür *.mqh dosyaları, global değişkenin bildirildiği *.mq5 (veya diğer *.mqh) dosyasına bağlı değildir.
Bu, dosyaların başka projelerde kullanılmasına izin vererek kodun yeniden kullanımını artırır.
Teşekkürler, şimdi mantığı anladım. Başlangıçta C++'daki extern ile aynı olduğunu düşündüm.
benzer değil mi