Perché non mettere i parametri di input nella struttura? - pagina 3

 
Комбинатор:
Poi impostare i parametri con un file.

A proposito, sì.

Se ci sono molti parametri, secondo me, un file INI è "proprio quello che il dottore ha ordinato".

Potete usare direttamente le funzioni di Windows pronte all'uso per lavorare con i file INI. Anche se ho il mio, scritto da solo.

 
Taras Slobodyanik:

Quindi si applica, per scrivere tutto quel mucchio di parametri, basterebbe definire la struttura e metterla nei parametri di input.


Sì, proprio così.

 
Alexey Volchanskiy:

Sì, proprio così.

Può mostrarmi un esempio di convenienza? Non riesco a capire di cosa stai parlando.

 
Ihor Herasko:

Quindi non è sorprendente vedere due finestre per le impostazioni: una finestra standard e una nuova?

Esegui l'EA senza la finestra standard.

 
fxsaber:

Non è quello che riguarda questo thread, dato che si parla di un file mqh. E definire la struttura è lo stesso che scrivere tutti i campi. In altre parole, è la stessa cosa.


Penso di aver scritto abbastanza chiaramente ma lo ripeterò usando un esempio. Abbiamo un Expert Advisor, ha 100 parametri di input, e dobbiamo passarli tutti a un'istanza della classe dell'algoritmo dove si svolge tutto il lavoro. Ci sono due modi:

  1. Rendere la funzione (o le funzioni) di impostazione dei parametri nella classe. Ora immaginate una funzione con 100 parametri. A proposito, c'è un limite al numero di parametri di funzione in MQL5?
  2. La classe è definita dopo le variabili di input, cioè sono visibili dall'EA. Lo svantaggio - meno flessibilità in caso di istanze multiple della classe. Il plus è la quantità minima di scrittura.

    input double LotSize = 0.1;
    // другие 100 input переменных...
    
    #include <MyLib\MyClassEA.mqh>
    CMyClassEA MyEA;
Quindi il problema è come passare le variabili di input a un'istanza della classe dell'algoritmo
 
fxsaber:

Può mostrarmi un esempio di convenienza? Non riesco a capire di cosa stiamo parlando.


Cos'è più facile, passare 100 parametri alla funzione di inizializzazione o un riferimento a una struttura con parametri di input?

 
George Merts:

A proposito, sì.

Se ci sono molti parametri, penso che un file INI sia solo "quello che il dottore ha ordinato".

Potete usare direttamente le funzioni di Windows pronte all'uso per lavorare con i file INI. Anche se ne ho di miei, scritti da me.


Il punto è lasciare la possibilità di un'ottimizzazione standard. È davvero possibile farlo con l'ini?

 
Ihor Herasko:

Questo è il modo in cui si fa ora. Allo stesso tempo, l'Expert Advisor viene fornito con un "Editor" di tale file sotto forma di una DLL, che visualizza una finestra con parametri a schede.

Cioè, tutto è possibile. Nessuno lo mette in dubbio. Un'altra cosa è che se fosse sotto forma di funzionalità pronta nel terminale, sarebbe figo.


E come si ottimizza? Non è la prima volta che faccio questa domanda e nessuno dice una parola.

 
Alexey Volchanskiy:

Il punto è lasciare la possibilità di un'ottimizzazione standard. È possibile con ini?

È possibile. Ma non capisco perché ini.

 
fxsaber:

Esegui l'EA senza la finestra standard.


Com'è possibile? Non capisco davvero come sia possibile. Conosco questo trucco per gli script, ma non per gli EA e gli indicatori.