MetaTrader 5 Strategy Tester e MQL5 Cloud Network - pagina 26

 
notused:

Con la genetica, è comprensibile - aspettando che il resto della popolazione restituisca il risultato.

Ah, quindi potrebbe essere questo il punto. Allora con gli agenti locali veloci lavorare con le "nuvole" è controindicato?
 
Yedelkin:
Ah, quindi potrebbe essere questo il punto. Il cloud computing è quindi controindicato per gli agenti locali veloci?
Dipende da quanti agenti locali/remoti avete - se avete una dozzina o due, è improbabile che il cloud faccia la differenza, ma se ne avete solo un paio, il cloud sarà più veloce. Per gli esperti che testano relativamente "velocemente", il cloud aiuterà anche quando ci sono molti agenti locali/remoti
 
notused:

Tuttavia, bisogna fare qualcosa:

Fate attenzione alla risposta restituita dal cloud. Sembra che da ieri non sia stata ricevuta una sola risposta corretta (e i passaggi sono al 100% con transazioni e senza errori). L'utilità della rete in questo caso è 0. E il caso - 12 strumenti dall'inizio dell'anno. Anche se un paio di giorni fa a volte c'erano risultati corretti, ma oggi - nessuno.

Alla luce del fatto che la nuvola sarà presto pagata, non vorrei buttare soldi al vento senza alcun risultato (nella modalità di prova ho ottenuto 7 dollari per ieri e oggi per l'utilizzo della rete, anche se, di nuovo, non ho ottenuto nulla da esso, e usato la rete solo ieri sera, perché non funzionava durante il giorno).

+ a volte la nuvola andrà in uno stato di essere finita quando è piena(!). Com'è possibile, quando ci sono ancora alcune migliaia di pass?

Avete provato a eseguire un singolo passaggio su tali risultati su un agente locale?

Puoi descrivere i parametri di avvio, l'elenco degli agenti, i parametri di ottimizzazione nella tua richiesta a Service Desk + aggiungere un esperto (almeno ex5)? Anche i registri sarebbero molto utili.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
alexvd:

Avete provato ad eseguire un singolo passaggio con questi risultati su un agente locale?

Puoi descrivere i parametri di lancio, l'elenco degli agenti, i parametri di ottimizzazione nell'applicazione a Service Desk + allegare l'esperto (almeno ex5)? E alcuni registri sarebbero davvero utili.

La domanda non è per me, ma sì, ho provato. Sull'agente locale il test passa senza errori. Si presume che il problema sia legato al timer (EST = EventSetTimer(3600)), perché nel mio caso l'errore critico di runtime si è verificato all'inizio del test (tempo di test - 0 secondi). Testo letterale di OnInit (non posso inserirlo come fonte per qualche motivo, IE8):

int OnInit()
{
Stampa("hh=",hh," mm=",mm," MLEVEL=",MLEVEL," TP=",TP," SL=",SL," TS=",TS);
Print("OnInit begins SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));


// tumbling per l'inizializzazione nel tester
for(uint i=0; i<maxsym; i++)
{
SymbolSelect(SymbolName(i,false),true);
}

EST = EventSetTimer(3600);
se (!EST) {
Comment("Errore: EventSetTimer= ", GetLastError();
Print("Errore: EventSetTimer= ", GetLastError();

}

for(uint i=0; i<maxsym; i++)
{
ea[i].Init(SymbolName(i,true),PERIOD_M1); // inizializza l'esperto
Print(i,SymbolName(i,true));
}
// esempio di inizializzazione
// ea.Init(Symbol(), PERIOD_M5); // per un timeframe fisso
// ea.Init("USDJPY", PERIOD_H2); // per un simbolo e un timeframe fisso

Print("OnInit termina SymbolsTotal: ",SymbolsTotal(true),"/",SymbolsTotal(false));

ritorno(0);
}

 

Qualcuno può dirmi come fare?

Sto cercando di accelerare l'ottimizzazione, non voglio (per esempio) risultati con un drawdown superiore al 30%.

Quello che sto facendo è questo:

input double Max_DD_EQ = 30;


double max_eq,max_dd,dd_percent;
bool dd_valid=true;

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(!dd_valid) return; 
   if(MQL5InfoInteger(MQL5_OPTIMIZATION) || MQL5InfoInteger(MQL5_TESTING))
     {
      max_eq=MathMax(max_eq,AccountInfoDouble(ACCOUNT_EQUITY));
      max_dd=MathMax(max_eq-AccountInfoDouble(ACCOUNT_EQUITY),max_dd);
      dd_percent=max_dd/(max_eq*0.01);
      if(dd_percent>Max_DD_EQ) { ClosAllPos(); dd_valid=false; return; }
     }
// дальше идет блок открытия (закрытия) поз

Voglio che la corsa finisca dopo aver superato il drawdown consentito.

Ma il tester, dopo aver raggiunto il drawdown massimo, conta come prima. Non voglio corse vuote (inutili).

Ci sono altre opzioni? O agli sviluppatori?

O più brevemente: come faccio a terminare forzatamente la corsa? (In MT4 c'era una cosa simile).

 
ExpertRemove();
?
 
Vigor:
?

Grazie mille! Ha funzionato!

Ho controllato. Ora è andato molto più veloce.

 
alexvd:

Avete provato ad eseguire un singolo passaggio con questi risultati sull'agente locale?

Non utilizzato:

Eseguo un singolo passaggio sul kernel locale - tutto va bene (ho provato molte volte, con diversi parametri). Suppongo che forse l'agente di rete ha finito lo spazio su disco o la memoria non è sufficiente (multicast) o cos'altro.

alexvd:

Puoi descrivere i parametri di avvio, la lista degli agenti, i parametri di ottimizzazione nella tua richiesta al Service Desk + allegare un Expert Advisor (almeno ex5)? E i registri sarebbero molto utili.

Inviato (#232346). Spiacente, non ci sono log - vengono sovrascritti dal terminale. Ma penso che non avrete problemi a riprodurlo.
Ceneri:

La domanda non è per me, ma sì, ho provato. Sull'agente locale il test passa senza errori. Si presume che il problema sia legato al timer (EST = EventSetTimer(3600)), perché nel mio caso l'errore critico di runtime si è verificato all'inizio del test (tempo di test - 0 secondi).

Infatti, il timer si applica. Solo nel mio caso si può vedere che gli agenti di rete lavorano per circa 5 minuti sui calcoli, e poi danno un risultato vuoto.
 
notused:

come combatterlo?


A volte ricevo risposte come questa dalla rete nei pacchetti (Critical Runtime Error). Passaggio in esecuzione sul kernel locale - tutto va bene (ho provato molte volte, con diversi parametri). Suppongo che probabilmente l'agente di rete ha finito lo spazio su disco o la memoria non è sufficiente (multicast) o cos'altro. Ma è un peccato che un passaggio generalmente redditizio sia escluso da ulteriori considerazioni. Anche se, d'altra parte, sento che il problema non è risolvibile in linea di principio (come faccio a sapere che il problema è con l'agente e non con l'ekspert? O forse un'impostazione "Non usare agenti che hanno restituito un errore critico di runtime nelle ultime 24 ore sul tuo account"?

Non critico per me (abbastanza core remoti), ma generalmente un inconveniente.

Stiamo trattando questo problema.
 

Una tale domanda. Ho un Core i7 a 8 core, e dopo aver finito di preparare il campionato, non ne ho davvero bisogno. A meno che non voglia giocare un gioco o qualcosa del genere per mezzo anno. Per non rimanere inattivi, sarebbe possibile trasferire un po' di potenza a una nuvola, ma mi chiedo se il computer si raffredderà nello stesso modo in cui si raffredderebbe se lo ottimizzassi localmente. Certo, un computer potrebbe sopravvivere 5 giorni di ottimizzazione continua con un surriscaldamento costante, ma dovevo comunque tenerlo d'occhio, raffreddarlo, ecc.

La componente monetaria non mi interessa. Se il reddito dalla nuvola sarà un centesimo, puoi farlo gratis - NiVapros.