Pourquoi ne pas mettre les paramètres d'entrée dans la structure ? - page 3

 
Комбинатор:
Puis paramétrer avec un fichier.

Au fait, oui.

S'il y a beaucoup de paramètres, à mon avis, un fichier INI est "juste ce que le docteur a commandé".

Vous pouvez utiliser directement les fonctions Windows prêtes à l'emploi pour travailler avec les fichiers INI. Bien que, j'ai le mien, auto-écrit.

 
Taras Slobodyanik:

Il s'applique donc, pour écrire toute cette pile de paramètres, il suffirait de définir la structure et de la mettre dans les paramètres d'entrée.


Oui, c'est vrai.

 
Alexey Volchanskiy:

Oui, c'est vrai.

Pouvez-vous me montrer un exemple de commodité ? Je n'arrive pas à comprendre de quoi tu parles.

 
Ihor Herasko:

Il n'est donc pas surprenant de voir deux fenêtres pour les paramètres : une fenêtre standard et une nouvelle fenêtre ?

Exécutez l'EA sans la fenêtre standard.

 
fxsaber:

Ce n'est pas le sujet de ce fil de discussion, car il mentionne un fichier mqh. Et définir la structure revient à écrire tous les champs. En d'autres termes, c'est la même chose.


Je pense avoir été assez clair, mais je vais le répéter en utilisant un exemple. Nous avons un conseiller expert, il a 100 paramètres d'entrée, et nous devons tous les passer à une instance de la classe de l'algorithme où tout le travail a lieu. Il y a deux façons de procéder :

  1. Effectuer la ou les fonctions de paramétrage dans la classe. Imaginez maintenant une fonction avec 100 paramètres. À propos, y a-t-il une limite au nombre de paramètres de fonction dans MQL5 ?
  2. La classe est définie après les variables d'entrée, c'est-à-dire qu'elles sont visibles depuis l'EA. L'inconvénient - moins de flexibilité en cas d'instances multiples de la classe. Le plus est la quantité minimale d'écriture.

    input double LotSize = 0.1;
    // другие 100 input переменных...
    
    #include <MyLib\MyClassEA.mqh>
    CMyClassEA MyEA;
Le problème est donc de savoir comment transmettre les variables d'entrée à une instance de la classe d'algorithme.
 
fxsaber:

Pouvez-vous me montrer un exemple de commodité ? Je ne comprends pas ce dont on parle.


Qu'est-ce qui est le plus facile, passer 100 paramètres à la fonction d'initialisation ou une référence à une structure avec des paramètres d'entrée ?

 
George Merts:

Au fait, oui.

S'il y a beaucoup de paramètres, je pense qu'un fichier INI est juste "ce que le docteur a ordonné".

Vous pouvez utiliser directement les fonctions Windows prêtes à l'emploi pour travailler avec les fichiers INI. Bien que, j'ai mes propres, auto-écrites.


Il s'agit de laisser la possibilité d'une optimisation standard. Est-il vraiment possible de le faire avec l'ini ?

 
Ihor Herasko:

C'est ainsi que les choses se passent maintenant. En même temps, le conseiller expert est livré avec un "éditeur" d'un tel fichier sous la forme d'une DLL, qui affiche une fenêtre avec des paramètres à onglets.

C'est-à-dire que tout est possible. Personne ne le conteste. Par ailleurs, si cela prenait la forme d'une fonctionnalité prête à l'emploi dans le terminal, ce serait cool.


Et comment l'optimiser ? Ce n'est pas la première fois que je pose cette question et que personne ne dit un mot.

 
Alexey Volchanskiy:

Il s'agit de laisser la possibilité d'une optimisation standard. Est-ce possible avec l'ini ?

C'est possible. Mais je ne comprends pas pourquoi ini.

 
fxsaber:

Exécutez l'EA sans la fenêtre standard.


Comment cela est-il possible ? Je ne comprends vraiment pas comment cela est possible. Je connais cette astuce pour les scripts, mais pas pour les EA et les indicateurs.