Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 48

 
Raşid Umarov :

Yani - işlev işaretçilerini kullanmanız gerekir

Gerekli değil. Geçersiz kılınmış bir işleci () olan sınıflar da bunun için harikadır.
 
birleştirici :
Gerekli değil. Geçersiz kılınmış bir işleci () olan sınıflar da bunun için harikadır.

Bu operatörü MQL'de aşırı yüklemek mümkün müdür?

 

Aslında, en çok yönlü ve esnek seçenek elbette fonksiyon işaretçileridir. Sonuçta, farklı parametrelere göre sıralama yapabilmeniz gerekiyor ve yalnızca bir sınıf yöntemi var. MQL'de henüz temsilci yok, bu nedenle sınıfın statik yöntemlerine yönelik işaretçiler kalır. Bunun gibi:

 struct DrawData
{
   typedef int (*CompareDrawData)( const DrawData& obj1, const DrawData& obj2); 
  
   static int ComparePrice( const DrawData& obj1, const DrawData& obj2) { return obj1.price > obj2.price ? 1 : obj1.price < obj2.price ? - 1 : 0 ; } 
  static int ComparePercent( const DrawData& obj1, const DrawData& obj2) { return obj1.percent > obj2.percent ? 1 : obj1.percent < obj2.percent ? - 1 : 0 ; } 
  
   float price;
   float percent;
};


template < typename T1, typename T2>
void Sort(T1& array[], T2 comparer)
{
   //.......
}


void Main()
{
   DrawData items[];
   // filling
   Sort(items, (CompareDrawData)DrawData::ComparePrice);
}
 
Alexey Navoykov :

Bu operatörü MQL'de aşırı yüklemek mümkün müdür?

ha yok gibi
 

Cevap veren herkese teşekkürler. Deneyeceğim ve tahmin edeceğim.

 
Bu konuyla ilgili olmayan yorumlar " MQL5 MT5 MetaTrader 5 Yeni Başlayanlardan Sorular " bölümüne taşındı.
 

If, else, while, for, kelimelerinin hemen ardından TAB tuşuna basarsanız, küçük bir ek olacaktır. bina...

 
Geçmiş üzerinde hata ayıklama yapılırsa, giriş parametrelerinin değerleri kaynaktan değil, Tester'ın Parametreleri sekmesinden alınır.
 
fxsaber :

If, else, while, for, kelimelerinin hemen ardından TAB tuşuna basarsanız, küçük bir ek olacaktır. bina...

Ve sadece onlardan sonra değil. Ayrıca OnInit, OnTick, OnCalculate , OnDeinit, class vb. Ve bu yapılar için şablonu kendiniz ayarlayabilirseniz çok iyi olur.
 
Optimizasyon sırasında, Özel ölçüt seçilmese bile OnTester her zaman yürütülür.