Ottimizzazione nel tester di strategia

 
Per favore, aiutatemi a capirlo.

Per esempio, ho scelto l'Expert Advisor standard della consegna "Moving Average.mq5" (per evitare domande sul codice dell'Expert Advisor).
Dati iniziali:
EURUSD, giornaliero, dal 01.07.2010 al 31.08.2010, solo prezzi aperti, modalità senza ottimizzazione (cioè un passaggio del tester).
Il file StrategyTester_1pass.log è allegato.

Ecco cosa vediamo: il tempo totale di esecuzione del tester è di 8 secondi, di cui SOLO 546 ms sono stati spesi per testare l'Expert Advisor. Tutto il resto del tempo era lavoro preparatorio.

Poi ho impostato l'ottimizzazione di un parametro di ingresso su 5 valori (per cinque passaggi del tester).

Ecco uno screenshot del log

registro del tester

e il file StrategyTester_5passes.log sono allegati.

Il log mostra che ogni iterazione richiede 7-9 secondi, cioè abbiamo un ciclo completo di esecuzioni singole ogni volta!
Quindi, il tempo totale di ottimizzazione è di 25 sec. su un processore dual core (ci vorrebbero 45 secondi su un core, invece di 3 secondi di test EA reale).

E se avessimo bisogno di ottimizzare 3 parametri di input per almeno 10 valori (10 * 10 * 10 = 1000)? In MT4 l'ottimizzazione era di diversi ordini di grandezza più veloce.

Ho trovato domande sullo stesso problema in uno dei thread del forum https://www.mql5.com/ru/forum/852/page14, ma tutte sono state inviate o al mio account personale o a servicedesk.

Per favore, spiega qual è il problema e come ottimizzare correttamente nello strategy tester.

 

L'ho notato anch'io... ma ho dato la colpa all'"imperfezione" di mql5 -))

Ottimizzo 5 parametri... prendo il segnale elementare come input... nessun calcolo... ho eliminato tutto quello che potevo...

come risultato 1200 giri su un processore a 4 core richiedono tutta la sera... e questo solo in un mese...

Ho cercato un modo per accelerare le cose... ho limitato l'eXpert a controllare le condizioni una volta ogni 5 minuti... non ha funzionato... non un secondo più veloce...

quindi sono quindici giorni che provo e riprovo... e sono propenso a pensare che dovrei semplicemente inserire i parametri senza alcuna ottimizzazione...

 
maryan.dirtyn:

L'ho notato anch'io... ma ho dato la colpa all'"imperfezione" di mql5 -))

Ottimizzo 5 parametri... prendo il segnale elementare come input... nessun calcolo... ho eliminato tutto quello che potevo...

come risultato 1200 giri su un processore a 4 core richiedono tutta la sera... e questo solo in un mese...

Ho cercato un modo per accelerare le cose... ho limitato l'eXpert a controllare le condizioni una volta ogni 5 minuti... non ha funzionato... non un secondo più veloce...

quindi sono quindici giorni che provo e riprovo... e sono propenso a pensare che dovrei semplicemente inserire i parametri senza alcuna ottimizzazione...

All'inizio ho anche pensato che ci fosse un errore nel mio codice. Ho cercato e semplificato, ma poi sono arrivato a questo (...): "esperto".

input int          X = 100;

int OnInit()
  {
   return(0);
  }

void OnDeinit(const int reason)
  {
  }

void OnTick()
  {
   Print("Тик-Так.");
  }

Il risultato è stato lo stesso.

1 passaggio richiede 7-9 secondi. Si scopre una tale assurdità.

 
Batohov:

1 passaggio dura 7-9 secondi. Questo è il tipo di assurdità che si ottiene.

+1.

lo stesso per i prezzi di apertura.

all'Armata Rossa tali ottimizzazioni...

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Sto ottimizzando da un mese ormai))) e sembra che non ci sarà fine) ma "l'ottimizzazione da OOP" copre tutti gli aspetti possibili della stupidità umana... forse siamo solo noi che lo facciamo da così tanto tempo... )) visto che nessun altro viene qui... Posso immaginare quanto tempo impiegherebbe il test se allegassi"Controllo dell'inclinazione della curva di equilibrio durante l'attività di Expert Advisor" a amoebaic eXpert.
 
Sì, è quello che sto facendo proprio ora.... è altrettanto macchinoso come scaricare un film con il GPRS....
 
maryan.dirtyn:
Sto ottimizzando da un mese ormai))) e sembra che non ci sia una fine in vista... Credo che siamo solo noi per così tanto tempo... ))) visto che nessun altro sta cercando qui...
Sì, lo fanno tutti :) Non c'è proprio niente da dire. Sono abbastanza abituato a 5-6 giorni di ottimizzazione veloce su un processore a 2 core su "tutti i tick" di 10,5 mila passi. Nessuna lamentela.
 
Yedelkin:
Sì, tutti si fermano qui :) Non c'è proprio niente da dire. Sono abbastanza abituato al fatto che su un processore a 2 core l'ottimizzazione veloce su "tutti i tick" di 10,5 mila passi richiede 5-6 giorni. Nessuna lamentela.
Ma prima era significativamente più veloce
 
maryan.dirtyn:
Ma era molto più veloce prima

Il mio computer non si è fermato da maggio - si ottimizza costantemente. Ecco perché sono già perso se è stato più veloce o meno.

Aggiunta: ho appena notato che il compilatore è diventato 10 volte più veloce.

 
Yedelkin:

Il mio computer non si è fermato da maggio - si ottimizza costantemente. Quindi sono già perso per quanto riguarda il fatto che sia stato più veloce o meno.

raccapricciante
 

E ho selezionato alcuni parametri, ho cliccato sul test... la mattina ho contato il numero di corse e quanti erano rimasti... ha calcolato che mancavano 50 giorni alla fine dell'ottimizzazione... il mio computer ha 4 core + 2 core agenti... Non ho bisogno di questa ottimizzazione, quindi l'ho disattivata...