Librerie: MultiTester - pagina 23

 
fxsaber:

In OnTesterInit eseguire GetSettings e passare i valori ottenuti tramite ParametersSetRange alla variabile sinput.

Grazie, mi ha aiutato in parte.

Quando ho spostato la chiamata a GetSettings() in OnTesterInit(), il tester ha smesso di passare alla scheda delle impostazioni, ma qualcosa non va con gli agenti locali.

I dati di GetSettings non vengono utilizzati da nessuna parte, ma solo per chiamare la funzione.

void OnTesterInit()
  {
   //ottenere le impostazioni del tester
   string  Str;
   if(MQLInfoInteger(MQL_TESTER) && MTTESTER::GetSettings(Str))
     {
      // Print(Str);
     }
  }
  
 void  OnTesterDeinit()
  {
  }


 
Sunriser:

c'è qualcosa che non va negli agenti locali.

GetSettings può essere richiamato solo sugli agenti locali, ovvero sul computer in cui è in esecuzione il terminale. Non è possibile eseguirlo su altri computer.

Ecco perché OnTesterInit è l'unica opzione.

 
Aggiornato.
 

Voglio scrivere le informazioni su questo singolo test in un file dopo ogni singolo passaggio.

Dove inserisco il blocco di record? Nella libreria? Oppure è implementato solo nell'Expert Advisor?

Nel caso abituale senza la libreria l'ho inserito nel blocco ondeinit. Non ho ancora trovato dove inserirlo qui.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Voglio scrivere le informazioni su quel singolo test in un file dopo ogni singolo passaggio.

Dove inserisco il blocco di record? Nella libreria? Oppure è implementato solo nell'Expert Advisor?

Nel caso abituale, senza la libreria, l'ho inserito nel blocco ondeinit. Non ho ancora trovato dove inserirlo qui.

Se non esiste un codice sorgente per l'Expert Advisor che si sta eseguendo: solo EX5, allora è necessario estrarre le informazioni (all'interno di MultiTester) da una singola esecuzione attraverso il file tst generato.

Se esiste una fonte, inserire un record nel file comune in OnDeinit dell'Expert Advisor.

 
fxsaber:

Se non esiste un codice sorgente per l'Expert Advisor da eseguire: solo EX5, allora è necessario estrarre le informazioni (all'interno di MultiTester) da una singola esecuzione attraverso il file tst generato.

Se esiste una fonte, inserire un record nel file comune in OnDeinit dell'Expert Advisor.

Sembra chiaro, ma l'implementazione non è ancora molto chiara. Continuerò a cercare).

Ma a quanto ho capito, inserire semplicemente un blocco per registrare le informazioni nel posto giusto nei file della libreria non risolverà questo caso così facilmente? (Cioè, non c'è un blocco pronto per salvare ogni passaggio in un file).

 
fxsaber:

Se non esiste un codice sorgente per l'Expert Advisor da eseguire: solo EX5, allora si devono estrarre le informazioni (all'interno di MultiTester) da una singola esecuzione attraverso il file tst generato.

Se esiste una fonte, inserire un record nel file comune in OnDeinit dell'Expert Advisor.

A proposito, per qualche motivo, ho un record solo per l'ultimo Expert Advisor. Cioè, 3 script identici vengono testati uno dopo l'altro e scrivono i dati in 3 file diversi, ma solo l'ultimo scrive nel proprio file.

Ho duplicato altri Expert Advisor, ma il record va comunque solo all'ultimo Expert Advisor. Il metodo di scrittura in un file utilizza il filewrite standard in OnDeinit di ogni Expert Advisor.

Secondo i log del terminale, la stessa cosa viene aperta e scritta all'ultimo.
Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Ma a quanto ho capito, il semplice inserimento di un blocco di registrazione delle informazioni al posto giusto nei file della libreria non risolverà questo caso così facilmente? (Cioè, non c'è un blocco pronto per salvare ogni passaggio in un file).

Ho creato delle mietitrebbie che dopo l'ottimizzazione selezionano i passaggi migliori dal file opt. Poi, sulla base di questi, ho fatto degli avanzamenti e creato altri lavori di ottimizzazione.

Ma questo è davvero qualcosa che pochi possono fare.

 
Aleksei Skrypnev:

A proposito, per qualche motivo sto registrando solo l'ultimo EA.

Non capisco.

 
fxsaber:

Non capisco.

Nella libreria c'è un file MultiTester_Example2.

L'ho preso e ho aggiunto ai 4 EA esistenti altri 3 EA identici appena copiati l'uno dall'altro.

Nell'ondeinit di ogni suo consulente ho specificato un record nel file, ad esempio il consulente1 crea un record nel file1, il consulente2 crea un record nel file2, il consulente3 crea un record nel file3.

Lancio MultiTester_Example2 sul grafico. La linea scorre e mostra l'arrivo. Vado nelle cartelle dei record e vedo solo il file registrato chiamato file3.

(Non ho ancora capito il motivo).

Aggiungo ad esempio EA4, eseguo il test e vedo il record di output nel file EA4.- (cioè solo il file4 e i file1, 2, 3, no).

Cioè, solo l'ultimo Expert Advisor viene scritto nell'ultimo file.

(Cioè, come se OnDeinit venisse eseguito utilizzando la libreria o qualcosa del genere 1 volta nell'ultimo EA dell'elenco ). ( E non alla fine di ogni EA della lista).

(Prima ho provato a scrivere in un file le informazioni di ognuno dei 3-4 EA, ma anche le informazioni nel file erano solo dell'ultimo EA.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5