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

 

Quindi avete ancora bisogno di variabili di input reali!

Parametri

nome

[in] L'identificatore della variabile diinput o sinput. Queste variabili sono parametri esterni al programma i cui valori possono essere impostati all'avvio.

 
Alexey Volchanskiy:

Sto perdendo la testa, continuo a non essere ascoltato. Puoi anche usare .mqh, che differenza facome passarli alla classe dell'algoritmo?


Ecco un esempio.

File:
test.zip  8 kb
 
Alexey Volchanskiy:

Quindi avete bisogno di variabili di input reali in ogni caso!

Nessuno vi impedisce di scriverli nella fonte.

 
fxsaber:

Nessuno impedisce loro di prescriverli alla fonte.


Il racconto di un toro bianco )) Come passarli alla classe dell'algoritmo nel commercio normale?

 
Alexey Volchanskiy:

Il racconto di un toro bianco )) Come passarli a una classe di algoritmo nel trading regolare?

Forum sul trading, sistemi di trading automatico e test di strategia

E perché non mettere i parametri di input nella struttura?

fxsaber, 2017.10.02 20:15

// 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>();
}
 
fxsaber:

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


Ecco un esempio, dalla prima pagina.

struct VolumeParams                              
{
    double lot;         //Лоты
    double LotRatio;    //Множитель
    int tp;             //ТП
    int sl;             //СЛ
    int orders;         //Количество ордеров
};
VolumeParams ParamBuf[5];

input ParamBuf[0];         // Шаг 1
input ParamBuf[1];         // Шаг 2
input ParamBuf[2];         // Шаг 3
input ParamBuf[3];         // Шаг 4
input ParamBuf[4];         // Шаг 5

più la mia citazione.

...ecco che il cliente vuole 10 ingressi, e ogni passo ha il suo tp/sl/lot/trall/segnale da inserire

Quindi si applica, per scrivere tutto quel mucchio di parametri, sarà sufficiente definire la struttura e metterla nei parametri di ingresso.

Con questo design, è facile per il programmatore inizializzare un array di strutture di parametri di input e poi lavorare con esso.

Espandi tutti questi parametri in variabili separate e prova a lavorarci.

 
Taras Slobodyanik:

Ecco un esempio, dalla prima pagina

Quando si lancia un TS, capita spesso di non sapere quali parametri di ingresso è meglio scegliere. Così si esegue un Expert Advisor che ha, per esempio, una dozzina di set di parametri di input diversi. E ogni set per ogni copia della TS. Molte persone lo hanno fatto molto tempo fa, quando MQL4 era ancora molto lontano da MQL5.

E l'hanno fatto tramite extern string - ora si chiama input string.

input string Parameters = "1, 2, 3.5, 8, 9l";

Hanno analizzato le stringhe di input, hanno controllato quante linee di input c'erano e hanno usato questo numero per creare lo stesso numero di logiche commerciali con parametri di input appropriati (usando ArrayResize). E tutto questo sull'antico MQL4! E lì, la MM è stata distribuita per ogni TS secondo il numero di TC e altre sfumature. Da qualche parte nei codici antichi dovrebbero esserci degli esempi.

 

Sì, ma non è possibile ottimizzare in questo modo

1

 
Taras Slobodyanik:
Sì, ma non è così che l'ottimizzazione è possibile

Ti stai inventando problemi ipotetici che non hanno nulla a che vedere con la realtà. Se l'ottimizzazione è necessaria, viene fatta in modo elementare. Notate la parola evidenziata. Non c'è nessun ostacolo tecnico. Se non riesci a organizzare l'ottimizzazione in questo caso, allora ne hai tanto bisogno.

Ci sono molte tecniche pratiche per risolvere questo o quel bisogno. Ma sono problemi tutt'altro che ipotetici.

 
fxsaber:

Ti stai inventando problemi ipotetici che non hanno niente a che vedere con la realtà. Se l'ottimizzazione è necessaria, è fatta in modo elementare. Notate la parola evidenziata. Non c'è nessun ostacolo tecnico. Se non riesci a organizzare l'ottimizzazione in questo caso, allora ne hai tanto bisogno.

Ci sono molte tecniche pratiche per risolvere questo o quel bisogno. Ma sono problemi tutt'altro che ipotetici.

l'argomento non riguarda l'ottimizzazione)
Perché non mettere i parametri di input nella struttura?
Motivazione: