Errori, bug, domande - pagina 1627

 
Alexey Navoykov:
Non posso immaginare quanto un tale progetto sarebbe stato costruito in MQL. E negli IDE completi ci sono diversi modi di compilazione. Forse ti riferisci alla build di rilascio, mentre la maggior parte delle volte il debug sarebbe sufficiente. Ma in MT non si ha molto tempo per aspettare.
Inoltre i file precompilati sono usati lì, quindi le build successive saranno ovviamente più veloci

Sui plus scrivo nel solito gedit, debugging console in esso, il debug è fatto direttamente in gdb, linking e builds sono fatti anche dalla console gcc, dall'IDE a volte uso QtCreator, ma solo quando ciò che ho bisogno di scrivere o debug una GUI :)

Sono arrivato a questa decisione meno di un anno fa, quando mi sono reso conto che è più facile caricare un semplice editor di testo senza funzioni extra e correggere o scrivere qualcosa, che caricare un IDE pesante...

 

Alexey Navoykov:
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?

Provato molto...

Ok, ti darò del codice per giocarci appena sono al mio computer. Ma sono già confuso dalle vostre storie di decine di ms su un hardware debole. Stiamo parlando delle stesse cose? Il file dello script è .mq5? E che processore ha?

Chiarirò i dati quando arriverò al mio computer.
 
Slawa:
Cosa c'è da tornare?
Il debug sulla storia per qualche motivo raccoglie la visualizzazione completa. Così vero è spiegato. Userò anche __DEBUG__. La documentazione non dice molto sul debug visivo.
 
I commenti non pertinenti a questo argomento sono stati spostati in "Aiuto con la griglia".
 

Ho cercato in kodobase fino a quando ho trovato alcuni grandi progetti per MT5. Ma ciò che mi ha stupito, le sezioni di Expert Advisors e indicatori sono in effetti piene di manufatti della stessa persona. E ne sta sfornando diversi ogni giorno da diversi anni ormai!Non so perché sia così ansioso di farlo e per cosa... Forse MQ lo paga per questo, non so... Certo, tutto viene preparato in un ordine, ma io personalmente sarei stanco di fare solo descrizioni e screenshot).

L'Expert Advisor pesa circa 150-200 kb, ma prima, il codice è piuttosto spalmato, in più ci sono molti frammenti che si ripetono. Beh, è una mia stima. Mi ci vorrebbe molte volte meno per volume.In secondo luogo, il codice stesso è semplice, non ci sono funzioni virtuali, template e nemmeno oggetti dinamici e puntatori.Cioè, in effetti tutto il codice può essere in linea. Si compila piuttosto rapidamente, nel quartiere di 600-700 ms. Beh, in generale, è necessario trovare un esempio davvero voluminoso e abbastanza complesso. E dei miei sviluppi ho solo finalizzato quel progetto sotto il nuovo compilatore, tutti gli altri che uso sotto quello vecchio, e spendere tempo sulle loro revisioni, non vedere la fattibilità, data la situazione attuale.

 
Alexey Navoykov:

...

E tra i miei sviluppi ho solo finalizzato quel progetto per il nuovo compilatore, tutti gli altri uso il vecchio, e per spendere tempo sul loro adeguamento, non vedo la praticità, data la situazione attuale.

Versione corrente:Interfacce grafiche IX: elementi "Progress bar" e "Line Chart" (capitolo 2)

 

Il primo test Expert Advisor TestLibrary01 è stato compilato in 6,5 secondi. Tuttavia, dobbiamo ancora stimare la quantità di codice effettivamente utilizzato da questo Expert Advisor. Inoltre, la parola "intelligente" sembrerà un po' comica se la paragoniamo alla velocità di compilazione nella vecchia build. Lì era istantanea. Se qualcuno vuole familiarizzare con essa, allego il compilatore della versione 1159. Rinominate il file, naturalmente.

Cioè in effetti possiamo trarre la seguente conclusione: il tempo di compilazione naturalmente può variare molte volte a seconda della dimensione e della complessità del codice, ma una cosa è immutabile - è molto più lento nel nuovo compilatore che in quello vecchio. Allo stesso tempo ho verificato che non c'è un guadagno significativo nella velocità del software. Se qualcuno vuole dimostrare il contrario, faccia pure.

File:
 
Alexey Navoykov:

Bene, il primo test Expert Advisor TestLibrary01 mi ha compilato in 6,5 secondi. Tuttavia, dobbiamo ancora stimare la quantità di codice effettivamente utilizzato da questo Expert Advisor. Inoltre, la parola "intelligente" sembrerà un po' comica se la paragoniamo alla velocità di compilazione nella vecchia build. Lì era istantanea. Se qualcuno vuole familiarizzare con essa, allego il compilatore della versione 1159. Rinominate il file, naturalmente.

In effetti, si può trarre la seguente conclusione: il tempo di compilazione naturalmente può variare di molte volte a seconda della dimensione e della complessità del codice. Ma una cosa è invariata: è molto più veloce nel vecchio compilatore che in quelli nuovi. Ho controllato e non c'è un guadagno considerevole nella velocità del software. Se qualcuno vuole dimostrare il contrario, faccia pure.

Naturalmente, i progetti più complessi in MetaTrader 5 richiedono troppo tempo per la compilazione. Può anche durare fino a 11 secondi. Le stesse versioni in MetaTrader 4 sono fino a 25 volte più veloci.

Per esempio, lo stesso progetto.

MetaTrader5:

0 error(s), 0 warning(s), compile time: 11054 msec              1       1

//---

MetaTrader4:

0 error(s), 0 warning(s), compile time: 434 msec                1       1

//---

Finora non è chiaro a cosa sia legato. Puoi provare a preparare il materiale per i test e inviarlo a servicedesk per il controllo. Se non volete mostrare il codice dei vostri progetti, potete usare il codice degli articoli di questa serie come esempio.

 
Anatoli Kazharski:

Naturalmente, anche i miei progetti più complessi in MetaTrader 5 richiedono molto tempo per la compilazione. Ci vogliono anche 11 secondi. Esattamente le stesse versioni, ma in MetaTrader 4 può essere fino a 25 volte più veloce.

Per esempio, lo stesso progetto.

MetaTrader5:

//---

MetaTrader4:

//---

Finora non è chiaro a cosa sia legato. Puoi provare a preparare il materiale per i test e inviarlo a servicedesk per il controllo. Se non volete mostrare il codice dei vostri progetti, potete usare il codice degli articoli di questa serie come esempio.

Ho una supposizione: poiché MT4 è a 32 bit, non è diventato "totalmente ottimizzato". Per quanto ne so, questa cattiva ottimizzazione del compilatore è stata dichiarata per migliorare il lavoro in un ambiente a 64 bit. A proposito, dovrei controllare la versione a 32 bit di MT5. Forse è tutto a posto. Ma io non ho questa opportunità.

Se avete la versione 32bit di metaeditor per 5, per favore condividetela.

 
Anatoli Kazharski:

Naturalmente, anche i miei progetti più complessi in MetaTrader 5 richiedono molto tempo per la compilazione. Ci vogliono anche 11 secondi. Esattamente le stesse versioni, ma in MetaTrader 4 può essere fino a 25 volte più veloce.

Per esempio, lo stesso progetto.

MetaTrader5:

//---

MetaTrader4:

//---

Finora non è chiaro a cosa sia legato. Puoi provare a preparare il materiale per i test e inviarlo a servicedesk per il controllo. Se non volete mostrare il codice dei vostri progetti, potete usare il codice degli articoli di questa serie come esempio.

Questa è l'ottimizzazione del codice.

Se scrivete OPTIMIZE=0 nel campo [Experts] in metaeditor.ini, la vostra velocità di compilazione sarà come in 4. Ho alcuni progetti che compilano in 20 secondi e altri che vanno in loop di ottimizzazione infinita :)

Motivazione: