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
Teşekkür ederim! )
Esasen.
Sınıflı bir varyantta da durdum. Günlük kullanım olmadan #define parametreleştirme gibi basit şeyler bile çabucak unutulur.
Sinirler tarafından.
Tanrım, burada herkes ne kadar savunmasız, alt metni olmadan, incitme veya rencide etme niyeti olmadan bir soru soruyorsun, ama hayır, tanınmayan bir dehanın ruhunda bir yerde, başka bir sevgili pahasına kendini gösterme arzusu karıncalanıyor ve eğlenceli. İngilizce forumda bununla karşılaşmıyorum, oraya düzenli olarak yazmama rağmen. Bunu fark ettiğimde, genellikle bu tür açıklamalara tepki vermemeye çalışırım, ancak Dmitry, sözlü bir savaşta eğlenmek istiyorsanız, o zaman sizi kendi yayılımlarınıza daldırarak size zevk vereceğim.
Sineği sürdü bebeğim.
Bu çözümü neden hemen bir kişiye göstermedin?)))
UPD: bezgovna - hayır sh..t yazıldığından)))Bunu bilmediğim düşüncesi seni rahatlattı. Bu yüzden kendi ölülerinizin orgazmında savaşmaya devam edin.
Pekala, çıldırın, erkekler bile pedsiz yaşayamaz.
Pedler hakkında.
Singleton neden iyi? Ana kodda her şey kısa ve öz iken, durumu saklayabilmeniz, günlükleri karmaşık mantığa göre işleyebilmeniz vb. Böylece doğru proje mimarisi oluşturulur ve kodun kendisi daha okunabilir hale gelir.
not. Ve böylece, evet, her şey amatör. Buradaki topluluktaki birçok insan için, Macar notasyonuna sahip spagetti kodu güzel ve yakın ve her kene üzerinde tüm siparişleri ve konumları (genellikle tümü) yineleyen mazoşizm gelişiyor)
Uzun zaman önce (yıllar önce) .... zaten en iyi günlükler hakkında bir konu vardı, ister ayrı ister başka bir dalda, hatırlamıyorum.
ama biraz farklı yaptılar. Fonksiyonun adını tanımladılar ve fonksiyon adının her türlü makro satırını eklediler ve böyle devam etti ... ve sonra anında işleyiciyi değiştirmek mümkün oldu
"#defin PRINT hazırlığı; Print" gibi bir şey
baskının kendisi tarz
void Print (string a; string a1=""; string a2="";...... // 64 kez. üzgünüm, sadece ...a[] yazamazsınız
{
Yazdır (Hazırlığımız, argümanlar);
}
Normal bir baskıda olduğu gibi tanımla çalışmak mümkündü ve işleyiciyi değiştirerek bir dosyaya veri yazabilir veya ekranda görüntüleyebilirsiniz. Aynı zamanda, argüman sayısı herhangi bir (64 parçaya kadar) // bu bilmeyenler için
Bu arada, bu kısmen yazar ne sordu
Ancak, ne yazık ki, enayiler üzerinde bir izlenim bırakmayacaksınız.
Sen istiyor musun?
Kusura bakmayın ama Assembler'ın hala kullanıldığı (üzgünüz - kullanılmış) o zamanlardan hatırladığım kadarıyla makro uzantısı (makro), derlemeden hemen önce tanımını koduyla değiştirmenize olanak sağlayan bir araçtır.
Basitçe, Assembler'da programlama oldukça hemoroiddir ve alt rutinler yoktur.
MQL'de programlama çok daha rahattır.
Soru: Bir alt program yazarken daha rahat mısınız yoksa sadece Yazdır komutu mu ("Sayfa yok"); veya önişlemcide önceden tanımlanacak bir şey mi?
(1) istiyor musunuz?
Kusura bakmayın ama Assembler'ın hala kullanıldığı (üzgünüz - kullanılmış) o zamanlardan hatırladığım kadarıyla makro uzantısı (makro), derlemeden hemen önce tanımını koduyla değiştirmenize olanak sağlayan bir araçtır.
(2) Basitçe, Assembler'da programlama oldukça hemoroiddir ve alt rutinler yoktur.
MQL'de programlama çok daha rahattır.
(3) Soru: Bir alt program yazarken daha rahat mısınız yoksa sadece Print("Sayfa yok"); veya önişlemcide önceden tanımlanacak bir şey mi?
1) Soru bana ait değil.
2) Montajcıda alt programlar var.
3) Çürük bir yumurtaya bile değmeyen konularda saçmalamamaktan daha rahatım.
Uzun zaman önce (yıllar önce) .... zaten en iyi günlükler hakkında bir konu vardı, ister ayrı ister başka bir dalda, hatırlamıyorum.
ama biraz farklı yaptılar. Fonksiyonun adını tanımladılar ve fonksiyon adının her türlü makro satırını eklediler ve böyle devam etti ... ve sonra anında işleyiciyi değiştirmek mümkün oldu
"#defin PRINT hazırlığı; Print" gibi bir şey
baskının kendisi tarz
void Print (string a; string a1=""; string a2="";...... // 64 kez. üzgünüm, sadece ...a[] yazamazsınız
{
Yazdır (Hazırlığımız, argümanlar);
}
Normal bir baskıda olduğu gibi tanımla çalışmak mümkündü ve işleyiciyi değiştirerek bir dosyaya veri yazabilir veya ekranda görüntüleyebilirsiniz. Aynı zamanda, argüman sayısı herhangi bir (64 parçaya kadar) // bu bilmeyenler için
Bu arada, bu kısmen yazar ne sordu
string aN="" ve 63 kez şiddetlidir.
Açıklarım:
Zaten bu tarzda yapıyorsanız, string=NULL yapın, bu durumda, yığın üzerinde gereksiz bellek ayırmanın ana maliyetlerini ortadan kaldıracaksınız.
UPD. Hayır, yanılıyorum, her şey akıllıca yapılırsa, yığında bellek tahsisi olmayacaktır.
string aN="" ve 63 kez şiddetlidir.
Açıklarım:
Zaten bu tarzda yapıyorsanız, string=NULL yapın, bu durumda, yığın üzerinde gereksiz bellek ayırmanın ana maliyetlerini ortadan kaldıracaksınız.
UPD. Hayır, yanılıyorum, her şey akıllıca yapılırsa, yığında bellek tahsisi olmayacaktır.
Burada bir kez daha ne konuşma hakkında vkuril değilsiniz. Alexander, Print()'in define ile değiştirilmesi hakkında yazıyor (böylece tüm dosyada gezinmemek ve tüm baskıları aramamak için). Bununla ilgili sorun, Print'in birden çok parametreye sahip olabilmesidir, ancak hiç kimse bunları parametre olarak ayırt etmese de - yalnızca virgülle ayrılmış bir dize. Bu nedenle, standart Yazdır işlevi için bir yedek sağlamak için 64 isteğe bağlı parametre alan bir işleve ihtiyacımız var (Yazdır() işlevine tam olarak karşılık gelmesi için). Ve günlükten önce bazı veriler eklemek için buna ihtiyacınız var, belki daha iyi görmek için oklu bir şerit (==>), belki bir satır numarası, belki bir tarih, belki bir dosyaya çıktı. Bu çalışmanın hızı kimseyi heyecanlandıramaz, çünkü bu özellikle zor durumlarda hata bulma yapılır ve sonra kaldırılır.
Herkes anlıyor gibi...
Yani bu, yolculuğuna yeni başlayanlar için ....
Yine de bir stat sınıfına sarabilir ve ardından geri kalanları eşitleyen bir bağlantı döndürebilirsiniz. if (a!=5) Print (a); ile çalışırken bu yöntemde bir eksi vardır. bu işe yaramaz, if (a!=5) {Print(a);} yazmalısın, derslerde bu anı düzeltebilirsin ama tembellik)) ama genel olarak her şey tarih arşivlerinde görünüyor
sınıflarda verilerimizi statik bir yöntemle başlatıyoruz ve print'imizin çağrısını bir operatörle birleştiriyoruz .... o zaman if (a!=5) Print(a); , çalışacak