Warum werden die Eingabeparameter nicht in die Struktur aufgenommen? - Seite 3

 
Комбинатор:
Dann setzen Sie die Parameter mit einer Datei.

Übrigens, ja.

Wenn es viele Parameter gibt, ist eine INI-Datei meiner Meinung nach "genau das Richtige".

Sie können direkt gebrauchsfertige Windows-Funktionen verwenden, um mit INI-Dateien zu arbeiten. Allerdings habe ich meine eigene, selbst geschriebene.

 
Taras Slobodyanik:

Es gilt also: Um den ganzen Haufen an Parametern zu schreiben, würde es genügen, die Struktur zu definieren und sie in die Eingabeparameter zu packen.


Ja, das ist richtig.

 
Alexey Volchanskiy:

Ja, das ist richtig.

Können Sie mir ein Beispiel für Bequemlichkeit zeigen? Ich kann nicht herausfinden, worum es hier geht.

 
Ihor Herasko:

Es ist also nicht verwunderlich, dass Sie zwei Fenster für die Einstellungen sehen: ein Standardfenster und ein neues Fenster?

Führen Sie den EA ohne das Standardfenster aus.

 
fxsaber:

Darum geht es in diesem Thread nicht, denn es wird eine mqh-Datei erwähnt. Und die Definition der Struktur ist dasselbe wie das Schreiben aller Felder. Mit anderen Worten, es ist das Gleiche.


Ich glaube, ich habe mich ziemlich klar ausgedrückt, aber ich wiederhole es anhand eines Beispiels. Wir haben einen Expert Advisor mit 100 Eingabeparametern, und wir müssen sie alle an eine Instanz der Klasse des Algorithmus übergeben, in der die gesamte Arbeit stattfindet. Es gibt zwei Möglichkeiten:

  1. Führen Sie die Funktion(en) zur Parametereinstellung in der Klasse aus. Stellen Sie sich nun eine Funktion mit 100 Parametern vor. Gibt es übrigens eine Begrenzung für die Anzahl der Funktionsparameter in MQL5?
  2. Die Klasse wird nach den Eingabevariablen definiert, d.h. sie sind vom EA aus sichtbar. Der Nachteil - geringere Flexibilität im Falle mehrerer Instanzen der Klasse. Das Plus ist der minimale Schreibaufwand.

    input double LotSize = 0.1;
    // другие 100 input переменных...
    
    #include <MyLib\MyClassEA.mqh>
    CMyClassEA MyEA;
Das Problem ist also, wie man Eingabevariablen an eine Instanz der Algorithmusklasse
 
fxsaber:

Können Sie mir ein Beispiel für Bequemlichkeit zeigen? Ich kann nicht verstehen, worüber wir reden.


Was ist einfacher, 100 Parameter an die Initialisierungsfunktion zu übergeben oder einen Verweis auf eine Struktur mit Eingabeparametern?

 
George Merts:

Übrigens, ja.

Wenn es viele Parameter gibt, ist eine INI-Datei meiner Meinung nach genau das Richtige für Sie.

Sie können direkt gebrauchsfertige Windows-Funktionen verwenden, um mit INI-Dateien zu arbeiten. Obwohl ich meine eigenen, selbst geschriebenen habe.


Es geht darum, die Möglichkeit der Standardoptimierung zu belassen. Ist es wirklich möglich, dies mit ini zu tun?

 
Ihor Herasko:

So wird es jetzt gehandhabt. Gleichzeitig verfügt der Expert Advisor über einen "Editor" für eine solche Datei in Form einer DLL, die ein Fenster mit Registerkarten für die Parameter anzeigt.

Das heißt, alles ist möglich. Das wird von niemandem bestritten. Eine andere Sache ist, dass es cool wäre, wenn es in Form von vorgefertigten Funktionen im Terminal wäre.


Und wie optimiert man sie? Es ist nicht das erste Mal, dass ich diese Frage stelle und niemand sagt ein Wort.

 
Alexey Volchanskiy:

Es geht darum, die Möglichkeit der Standardoptimierung zu belassen. Ist das mit ini möglich?

Das ist möglich. Aber ich verstehe nicht, warum ini.

 
fxsaber:

Führen Sie den EA ohne das Standardfenster aus.


Wie ist das möglich? Ich verstehe wirklich nicht, wie das möglich ist. Ich kenne diesen Trick für Skripte, aber nicht für EAs und Indikatoren.

Grund der Beschwerde: