"Expert Advisor yazarken MQL5 Standard Alım Satım Sınıfı kitaplıklarının kullanımı" makalesi için tartışma - sayfa 3
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
COrderInfo sınıfında da satırlar vardır
return(FormatType(str,Type())); ... FormatType(type,Type()) ... if(m_type==Type() && m_state==State() &&Ancak Type() işlevi sınıfta bulunmamaktadır.
Makalenin 1.4 Bölümü, açıklamaya bakılırsa aktif bekleyen siparişlerle çalışmak üzere tasarlanmış olan COrderInfo sınıfının özelliklerini sunmaktadır. Aşağıdakilerin yapılması önerilmektedir:"Bekleyen emirlerin özelliklerini almak için bu sınıfı kullanmak üzere, önce toplam emir sayısını talep ediyoruz ve bunları emir biletine göre seçiyoruz"
Ancak HistorySelect() işlevi"işlem ve emir geçmişini" sorgulamak, yani geçmiş emirleri sorgulamak için tasarlanmışsa, neden bekleyen aktif emirlerin toplam sayısını sorgularken bu işlevi kullanalım?COrderInfo sınıfında ...
Ancak Type() işlevi sınıfta yoktur.
Lütfen birisi açıklayabilir mi? İşte CDealInfo sınıfından bir kod parçası:
Burada CDealInfo::FormatDeal(string& str) fonksiyonu bu satırı içerir:
symbol.Name(Symbol());Buna karşılık, Symbol() işlevi hem CDealInfo sınıfının kendisinde hem de istemci terminalinin standart işlevleri arasında tanımlanmıştır. Hangi fonksiyon symbol.Name() fonksiyonuna argüman olarak aktarılır? Hangi kurala göre?Lütfen birisi açıklayabilir mi? İşte CDealInfo sınıfından bir kod parçası:
Burada CDealInfo::FormatDeal(string& str) fonksiyonu bu satırı içerir:
Buna karşılık, Symbol() işlevi hem CDealInfo sınıfının kendisinde hem de istemci terminalinin standart işlevleri arasında tanımlanmıştır. Hangi fonksiyon symbol.Name() fonksiyonuna argüman olarak aktarılır? Hangi kurala göre?Değişkenlerin kapsamı ile aynı kural burada da geçerlidir. Eğer bir değişken global ve yerel seviyelerde tek bir isim altında bildirilmişse, yerel kapsamın içinde isim yerel değişkene, dışında ise global değişkene işaret edecektir.
Bir sınıfın içinde standart bir fonksiyon aşırı yüklenirse, aşırı yükleme gövdesinin sınıfın içinde çağrılacağı ve standart fonksiyonun gövdesinin global seviyede çağrılacağı ortaya çıkar. Aşırı yüklenmiş fonksiyonun gövdesi, sınıf işaretçisi aracılığıyla global düzeyde çağrılabilir.
Değişkenlerin kapsamı ile aynı kural burada da geçerlidir. Bir değişken global ve yerel düzeylerde aynı adla bildirilirse, yerel kapsamın içinde ad yerel değişkene, dışında ise global değişkene işaret edecektir.
Bir sınıfın içinde standart bir fonksiyon aşırı yüklenirse, aşırı yükleme gövdesinin sınıfın kendisinde çağrılacağı ve standart fonksiyonun gövdesinin global seviyede çağrılacağı ortaya çıkmaktadır. Aşırı yüklenmiş işlevin gövdesi, sınıf işaretçisi aracılığıyla küresel düzeyde çağrılabilir.