Neden girdi parametrelerini bir yapıya koymuyorsunuz? - sayfa 4

 

Alexey Volchanskiy

Bu arada, MQL5'te fonksiyon parametrelerinin sayısında bir sınır var mı?

İşlev başına 64 parametre gibi görünüyor.

 
Alexey Volchanskiy :

Nasıl optimize edersiniz? Bunu ilk kez sormuyorum ve herkes susuyor.


Sadece mesele bu, herhangi bir şekilde. Yani, pencerelerinden herhangi biri (DLL, MQL'de GUI) standart optimizasyonu tamamen keser. Aşırı durumlarda, optimizasyonunuzu danışmanın içine eklemeniz gerekir, bisiklet başka nedir.

Aynı ini dosyası. Buradaki rahatlığın ne olduğu genellikle belirsizdir. En azından, yapılandırma parametrelerinin değerlerini değiştirmek için ini dosyasını düzenleyen sıradan kullanıcılar görmedim.

 
Alexey Volchanskiy :

Yeterince açık yazdım gibi görünüyor, ancak bir örnekle kendimi tekrar edeceğim. Bir danışman var, 100 girdi parametresi var, hepsi tüm işin gerçekleştiği algoritma sınıfının bir örneğine geçirilmelidir . İki yol var:

  1. Sınıfta parametreleri ayarlamak için bir fonksiyon(lar) yapın. Şimdi zihninizde 100 parametreli bir fonksiyon hayal edin. Bu arada, MQL5'te fonksiyon parametrelerinin sayısında bir sınır var mı?
  2. Sınıf, girdi değişkenlerinden sonra tanımlanır, yani EA'dan görülebilirler. Dezavantajı, birden çok sınıf örneği kullanırken daha az esnekliktir. Artı - minimum yazı.

Yani sorun, girdi değişkenlerinin algoritma sınıfının bir örneğine nasıl geçirileceğidir.

Sonra doğru anladım

 // Begin: mqh-файл
class CLASS_EXPERT
{
public :  
   template < typename T>
   void Set( void );
};
// End: mqh-файл

input int inNum = 0 ;

struct INPUTS
{
   const int Num;
  
  INPUTS( void ) : Num(inNum)
  {
  }
};

CLASS_EXPERT Experts[ 10 ];

void OnInit ()
{
   for ( int i = ArraySize (Experts) - 1 ; i >= 0 ; i--)
     Experts[i].Set<INPUTS>();
}
 
Ihor Herasko :

Neye benziyor? Bunun nasıl mümkün olduğunu gerçekten anlamıyorum. Bu özelliği komut dosyaları için biliyorum, ancak uzmanlar ve göstergeler için bilmiyorum.

ExpertLoader_Example.mq5 buradan .

Ihor Herasko :

Sadece mesele bu, herhangi bir şekilde. Yani, pencerelerinden herhangi biri (DLL, MQL'de GUI) standart optimizasyonu tamamen keser. Aşırı durumlarda, optimizasyonunuzu danışmanın içine eklemeniz gerekir, bisiklet başka nedir.

Aynı ini dosyası. Buradaki rahatlığın ne olduğu genellikle belirsizdir. En azından, yapılandırma parametrelerinin değerlerini değiştirmek için ini dosyasını düzenleyen sıradan kullanıcılar görmedim.

https://www.mql5.com/ru/docs/optimization_frames/parametersetrange

Expert
Expert
  • oylar: 16
  • 2017.08.28
  • fxsaber
  • www.mql5.com
Все остальные файлы на данной странице описания библиотеки являются ее примерами/сценариями применения и не нужны для работы самой библиотеки. Возможности Примеры К описанию прикреплены примеры/сценарии ее использования. ExpertsRemove.mq5 ExpertsReopen.mq5 ChartsClose.mq5 ExpertLoader_Example.mq5 ExpertsChange_Example.mq5 Это...
 

mqh dosyasına harici değişkenler yazabilir ve dahil edebilirsiniz.

 

Görünüşe göre zamanın gerisindeyim ya da yanlış yönde ilerliyorum.

Bana öyle geldi ki, bir EA'nın sahip olduğu daha az girdi parametresi, daha iyi.

İdeal olarak, bence danışman girdi parametrelerine ( girdi değişkenleri ) sahip olmamalıdır.

Lütfen açıklayın, 100 parametrenin anlamı nedir?

 
Sergey Chalyshev :

Görünüşe göre zamanın gerisindeyim ya da yanlış yönde ilerliyorum.

Bana öyle geldi ki, bir EA'nın sahip olduğu daha az girdi parametresi, daha iyi.

İdeal olarak, bence danışman girdi parametrelerine ( girdi değişkenleri ) sahip olmamalıdır.

Lütfen açıklayın, 100 parametrenin anlamı nedir?


Deneyler için.

 
Sergey Chalyshev :

Görünüşe göre zamanın gerisindeyim ya da yanlış yönde ilerliyorum.

Bana öyle geldi ki, bir EA'nın sahip olduğu daha az girdi parametresi, daha iyi.

İdeal olarak, bence danışman girdi parametrelerine ( girdi değişkenleri ) sahip olmamalıdır.

Lütfen açıklayın, 100 parametrenin anlamı nedir?


Bu konu burada tartışılmaz. Parametre aktarımının teknik sorunlarını tartışıyoruz.

 
Dmitry Fedoseev :

mqh dosyasına harici değişkenler yazabilir ve dahil edebilirsiniz.


Şimdi deliriyorum, inatla beni duymuyorlar. .mqh'de de mümkündür, fark nedir, bunları algoritma sınıfına nasıl aktarabilirim ?

 
Alexey Volchanskiy :

Şimdi deliriyorum, inatla beni duymuyorlar. .mqh'de de mümkündür, fark nedir, bunları algoritma sınıfına nasıl aktarabilirim ?


Aktarmak gerekli değildir, global değişkenler mevcuttur vb.

Neden: