![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
Evet, işte sürekli ortaya çıkan ve net bir cevabı olmayan bir soru daha. Kendi sınıfınızı devralmanız gerektiğinde - ki bunu yapmak daha iyidir, onu devralın veya sınıfınızın yeni bir genişletilmiş sürümünü yazın.
her şey sonunda ne istediğinize dair genel vizyona bağlı, IMHO
sınıfı daha ileri bir yerde kullanmayı planlıyorsam, onu miras almadan tamamlamam gerekir.
benim örneğimde, CError sınıfı GetLastError()'u alabilir, bir açıklama ile yazdırabilir ve hatanın değerini (int) döndürebilir, her yerde kullanmayı planlıyorum, zaten, dili statik olarak tanımlayan bir kurucu var. değişken ve vakaların kendileri hatanın metnini döndürür
ve işte oldukça kullanışlı bir yöntem bool ServerDisable(); - bu, sunucunun kullanılabilirliğini belirler (çok platformlu MT4 / MT5 kodu), çok iyi bir işlev, kodun başka bir bölümünde başka bir yere ihtiyaç duyuluyor gibi görünüyor, ancak yine de ticaret yaparken kullanacağımı düşündüm işlemler - COorder sınıfında sıkıştım
.....
ve eğer onu nerede kullanmak istersem?.... burada fantezi alanı elbette daha fazladır, ama sonunda nesnenin COorder'a nasıl gittiği önemli değil - başka nerede kullanılır?
IMHO, genel olarak, her şey hantal görünüyor, hizmet işlevleri kitaplığını bir içerme ile bağlamak daha kolaydır ve derleyici, yürütülebilir dosyada kullanılmayanları içermeyecektir.
prosedürel bir tarzda, tüm bu sınıf oldukça kompakt olacaktır, burada sipariş hacmi sabitlerini statik olarak depolayabilen sipariş açma işlevi için bir örnek gösterdim https://www.mql5.com/ru/forum/85652/page17#comment_12805083
Ve belirli sınırlar içinde kalmak temelde önemli mi? Sınırlar içinde kalmak önemliyse, işlevler yazabilirsiniz.
Mesajınız bağlamında, sınıfları kullanmazsanız, uygunsuz çağrı imzalarıyla uğraşmanız gerektiğini yanıtladım. Uğraşmaya gerek olmadığını gösterdim.
Sınıfı esnek ve evrensel yaparak, sembolün adını yapıcıya iletmenizi engelleyen nedir? Portföy ticareti olasılığını temel olarak düşünüyor musunuz?
her şeyi düşünürüm
ama şimdilik araştırmaya takıldım - şimdi MM araştırmasının 1000 ve 1 yolu ve sipariş sistemleriyle her türlü numara neredeyse hazır)))
ama yine de sonunda çok esnek olmadığını düşünüyorum, prosedür stilinin daha uygun olduğunu 2 kez yukarıda yazdım + siparişlerle çalışmanın hata ayıklanmış işlevlerini “seğiren” küçük sınıflar
genel olarak, test fikirlerine geçeceğim, ancak orada kodu sık sık düzenlediğim, dokunmadığım şeylere açık olacak.
.....
ve eğer onu nerede kullanmak istersem?.... burada hayal gücü alanı kesinlikle daha büyük, ama sonunda nesnenin COorder'a nasıl gittiği önemli değil - başka nerede kullanmalı?
İzler ayrıdır, çünkü ana mantıkla ilgisi yoktur. Hiç var olabilirler veya olmayabilirler.
***
Sondaki ve diğer benzer bakım işlevlerini bir sınıfın soyundan yapmak ve örneklerini bir dizide oluşturmak güzel olurdu. İşlev etkinleştirilirse, diziye bir örnek eklenir ve yürütülür. Tüm işlevler devre dışı bırakılırsa, dizi boştur ve gereksiz if'ler yürütülmez. Expert Advisor'a en az 100 takip ekleyebilirsiniz ve bu işlem hızını etkilemeyecektir.
Bu böyle yapılmaz. En azından hem Bid() hem de Ask()'ı aramanız gerekir. Size sadece bir değişken gibi görünüyor ve gerçekte değişmese de değerinin değişmediği izlenimini veriyor.
Ne yazık ki, bu her zaman yapıldı, Teklif Et ve Talep Et MT4'te kaldı ve Yaratıcının bu basit kullanımı ve mevcut fiyatların alınmasını yok etmek için hiçbir kaprisi yok;)
Sorun yaşamadığım aşağıdaki şemaya sahibim.
Bu koddan mı bahsediyorsun? https://www.mql5.com/ru/code/22770
Ben uygulamayı beğendim. gerçekten test ve optimize edici için, muhtemelen bunu temel alacağım, kod kısa ve okunabilir, dürüst olmak gerekirse, kodunuzu alıp okuduğuma şaşırdım, çok daha sofistike bir yazı stiliniz var, ben genellikle aptalca bağlan ve kullan, mantığı anlayamadığımı biliyorum
Ne yazık ki, bu her zaman yapıldı, Teklif Et ve Talep Et MT4'te kaldı ve Yaratıcının bu basit kullanımı ve mevcut fiyatların alınmasını yok etmek için hiçbir kaprisi yok;)
Sonuçta, mevcut olay işlemede değerleri değişmez (tabii ki, RefreshRates'i çağrılmaya zorlamazsanız). Onlar. bunlar değişkenler, işlevler değil. Ve fonksiyonlarınız değişkenlere benziyor
FP'lere yüzlerce megabayt veya gigabayt veriden oluşan dizileri yönetme ve işleme görevini verin ve onların tüm harika mesaj modelleri (veriler değişmezdir) boşa gidecektir.
Zamanında gerçek sorunlardan kaçıp kendi kurgu evrenlerinde yayın yapan teorisyenler bunlar :) telekomla ilgili hikayeler en aptal veri geçişleridir.
Aslında, karmaşıklıkla başa çıkmanın tek yolu nesnelere paketlemektir.Sonuçta, mevcut olay işlemede değerleri değişmez (tabii ki, RefreshRates'i çağrılmaya zorlamazsanız). Onlar. bunlar değişkenler, işlevler değil. Ve fonksiyonlarınız değişkenlere benziyor
Örneğinizde tartıştığımız sorunu nasıl açıklayacağımı bile bilmiyorum, tamamen insani deneyeceğim - ilk PC'ye sahip biri olarak benim için bu bir Pentium-90, sadece görmek acıtıyor uygun kullanımı elde etmek için, değer kayıtlarının yığına yerleştirilmesini ima eden ekstra bir işlev çağrısı eklenecek ve .. uzaklaşıyoruz...
Artık her şeyin işlemci düzeyinde art arda önbelleğe alındığını biliyorum ve derleyici geliştiricilerinin "bir işlev çağrısından bir işlev çağırmayı" daha verimli hale getireceğinden şüpheleniyorum.
o zaman örneğiniz şöyle görünmelidir:
veya bunun gibi:
Vasily, bu makale sizin için çok faydalı olacaktır - kendinize işkence etmemek, OOP uğruna kendi OOP'lerini sıkmamak için.
MT için işlevsel bir çerçeve için bir fikrim var. Neredeyse hiç OOP olmayacak. Yalnızca işlevler, "monadlar" ve diğer sözde FP işlevleri. Her şeyi tırnak içinde yazıyorum çünkü Doğal olarak, MQL'de tam teşekküllü bir FP yapılamaz.
Yorumlar gereksiz.
birbirinizi pek sevmiyorsunuz ya da belki tam tersi 2 gey kendi yolunu arıyor)
Bu arada, makalelerinizi beğendim, Uzmanlar Lokhov'un, zayıf, ama onu daha az sevmiyorum,
ve ben eşcinsel değilim.