Errori, bug, domande - pagina 1625

 
Vladislav Andruschenko:

mt4 compila in 888 msec.

lo stesso progetto compila 4103 ms in mt5

Beh, sembra che i problemi siano collegati alla v5. La differenza di 4.5 non è poca. Anche se per completare il quadro sarebbe bello controllare con il vecchio compilatore (1159), se lo hai (o posso scaricarlo). Ma forse dovrai fare alcune correzioni nel tuo codice.
 
-Aleks-:

Non ho soldi per MT5 - faccio trading con conti in centesimi e il DC non ha fretta di aprirli per cinque sterline.

Non si è cercato abbastanza. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • recensioni: 3
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Navoykov:

Vorrei sollevare ancora una volta il problema della compilazione lenta di MQL5. Circa tre mesi fa ho cercato di sollevare questo problema, ma non è stato capito, apparentemente i miei argomenti non erano abbastanza convincenti. Pertanto, sono tornato alla vecchia build (1159), che ha compilato tutto quasi istantaneamente (mentre con i nuovi compilatori il mio progetto ha compilato in 20 secondi).

E così una settimana fa ho cercato di passare a una nuova build. Ho pensato "dimentica i 20 secondi, sopporterò per il bene delle cose nuove". Naturalmente ho dovuto modificare un po' il codice per rispettare le nuove condizioni, il che ha rivelato diversi bug del nuovo compilatore (descritto qui).Il risultato è che il mio progetto sta compilando già da 30 secondi! Non so se ha a che fare con la complicazione del progetto o con una "complicazione" in più del compilatore, ma semplicemente non va più bene.

Il progetto contiene circa 700 Kb di codice sorgente, è un Expert Advisor che contiene un paio di dozzine di mqh. Tutto è OOP. La gente mi ha scritto prima che il rallentamento è probabilmente causato da grandi funzioni. Ne ho avuti un po'. Beh, li ho frammentati in parti più piccole e non hanno alcun effetto.

La cosa più sorprendente è che questa compilation superlunga non serve a niente. La velocità del programma è la stessa che con il vecchio compilatore, l'ho misurata appositamente. Questo richiede solo una frase: "Per cosa?

Ho la forte sensazione che ci sia un bug/malfunzionamento nel compilatore a causa del quale sta oziando in uno spazio vuoto. Come altro posso spiegare il fatto che uno script assolutamente vuoto con solo la funzione OnStart() { } compila oltre 400 ms!È inimmaginabile che ci possa volere così tanto tempo per compilare/ottimizzare uno script vuoto. Bene, aggiungendo piccole funzioni e classi in esso, si può vedere come il tempo di compilazione cresce rapidamente.

Voglio dire subito che il mio hardware è ovviamente tutt'altro che potente - Core i5U. Ma questo non impedisce al mio progetto di compilare in 1-2 secondi su un vecchio compilatore. Rispettivamente, il dummy viene compilato in un attimo.

Noterò anche. Al compilatore manca completamente non solo il caching dei frammenti compilati in precedenza, ma anche un banale controllo per assicurarsi che il codice sorgente fosse identico. Cioè compili il tuo progetto e poi clicchi di nuovo sul pulsante "Compile" senza fare alcuna modifica e aspetti di nuovo gli stessi 30 secondi. Quanto è buono...

Mi piacerebbe sentire i commenti degli sviluppatori di MT e degli utenti del forum, che lavorano con grandi progetti (sono solo io ad avere questo problema?), quanto tempo ci vuole per compilare, ecc. Dobbiamo dire subito che stiamo parlando di compilare un eseguibile.

I miei progetti hanno più di una dozzina di file sorgente, come il tuo, e tutti su OOP, mentre non pretenderò circa 20 secondi, ma più di 11 - 14 secondi vedo costantemente. Eppure c'è una sorta di caching, dato che se non si cambia nulla il tempo cambia di 1-2 secondi in qualsiasi direzione imprevedibile. Non sto confrontando la compilazione dei progetti usando i vecchi e i nuovi compilatori perché i vecchi compilatori costruivano tutto molto più velocemente. Penso che gli stessi sviluppatori vedano questo punto e un giorno lo sistemeranno :) Non per niente rilasciano diverse nuove corse ogni mese - significa che vedono qualcosa e lo sistemano.

 

Versione del terminale e bit rate

v.1375, 64-bit

Descrizione del problema.

Dopo l'aggiornamento all'ultima build, gli agenti si bloccano dopo aver superato i primi 1900-2100 passaggi durante l'ottimizzazione. Tutto andava bene prima dell'aggiornamento, tutti i parametri e il codice EA sono gli stessi.

Sequenza di azioni

Inizia l'ottimizzazione. Broker di apertura. Conto reale. Gli strumenti: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (non ho provato altri). Intervallo: mensile, minuto, 15 minuti. Prezzi di apertura o OHLC.

Risultato.

Gli agenti locali e remoti dopo 2000 passaggi in realtà si bloccano, i carichi della CPU cambiano di circa lo 0,01% ogni 10 minuti. 14 agenti.

Risultato atteso

Guida all'ottimizzazione come per la build precedente.

Informazioni aggiuntive

Su di me: esperto programmatore .net MQL5


Ho guardato i registri ovunque. Li ho confrontati con i registri della build precedente. Non ho riscontrato alcun problema o errore. La qualità della storia è buona.
File:
image.jpg  89 kb
 
coderex:

Tuttavia, c'è un po' di caching in corso, perché se non si cambia nulla, il tempo cambia di 1-2 secondi in qualsiasi direzione imprevedibile.

:) è ovviamente solo un errore, influenza di altri processi nel sistema, più la cache del disco. In ogni caso, il 10-15% non è affatto gli indicatori, per i quali viene fatto il caching.

Non paragonerei la costruzione di progetti con compilatori vecchi e nuovi, perché i vecchi compilatori costruivano tutto molto più velocemente. Penso che gli sviluppatori stessi vedano questo punto e lo sistemeranno prima o poi :) Non per niente vengono rilasciate diverse nuove corse ogni mese, significa che vedono qualcosa e lo sistemano.

Le nuove beta vengono rilasciate perché la gente si lamenta di vari bug, ma se i bug sono un argomento solido per loro da risolvere, tutto il resto... Bisogna convincerli per molto tempo. Anche quando sembrerebbe chiaramente portato tutti gli argomenti, chiaramente descritto il quadro come chiaro come può essere, ancora resistono, da hook o da crook :) Qui sono lo stesso 3 mesi fa ha cercato di convincerli, ma nessuno supportato.

E ho visto che solo poche persone usano MQL per grandi progetti e probabilmente non si preoccupano di quelli piccoli per un paio di secondi in più.

A proposito, che tipo di CPU hai?

 
Alexey Navoykov:

... faranno tutto il possibile :)

Ecco perché non sto cercando di dimostrare nulla :) Inoltre, i progetti plus richiedono molto più tempo per costruire, anche se sono molto più grandi, ma sono abituato a costruire plus in pochi minuti per file eseguibili o di libreria, mentre il progetto di diversi file con struttura di directory richiede fino a diverse decine di minuti :) e aspettare 10-20 secondi non è un problema...
 
Alexey Viktorov:
Non ho cercato abbastanza. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Il link non dà le informazioni di interesse - sii specifico.
 
ProfitTraderRU:

Versione del terminale e bit rate

v.1375, 64-bit

Descrizione del problema.

Dopo l'aggiornamento all'ultima build, gli agenti si bloccano dopo aver superato i primi 1900-2100 passaggi durante l'ottimizzazione. Tutto andava bene prima dell'aggiornamento, tutti i parametri e il codice EA sono gli stessi.

Sequenza di azioni

Inizia l'ottimizzazione. Broker di apertura. Conto reale. Gli strumenti: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (non ho provato altri). Intervallo: mensile, minuto, 15 minuti. Prezzi di apertura o OHLC.

Risultato.

Gli agenti locali e remoti dopo 2000 passaggi in realtà si bloccano, i carichi della CPU cambiano di circa lo 0,01% ogni 10 minuti. 14 agenti.

Risultato atteso

Guida all'ottimizzazione come per la build precedente.

Informazioni aggiuntive

Su di me: esperto programmatore .net MQL5


Ho guardato i registri ovunque. Li ho confrontati con i registri della build precedente. Non ho riscontrato alcun problema o errore. La qualità della storia è buona.

Questo comportamento si verifica con qualsiasi Expert Advisor?

Sarebbe bello avere i registri. Si prega di inviare un biglietto al Service Desk.

 
Ho testato solo i miei EAs. Con la build precedente erano ottimizzati normalmente.

Ho fattouna domanda a servicedesk. Credetemi, non c'è niente di insolito nei log (ho visto i log della build precedente e di quella attuale).
 
Alexey Da:

I log del terminale sono buoni, più interessanti sono i log del tester di strategia e degli agenti di test.

+ allega al tuo ticket almeno EX5 del tuo Expert Advisor (lo cancelleremo dopo la ricerca) + descrizione dei parametri utilizzati durante l'ottimizzazione.

OK, grazie.
Motivazione: