Errori, bug, domande - pagina 1575

 
Slawa:
Mostra come appare la scheda con la tabella dei risultati dell'ottimizzazione

Per esempio così (Equilibrio + fattore di recupero massimo):


Cioè un nan è sufficiente per uccidere il grafico (è morto anche se non ci sono più nanos).

// a proposito, dalla tabella possiamo vedere che in questo caso nan si ottiene con saldo negativo (deposito iniziale 1000000).

 
Renat Fatkhullin:

Verbalmente, quando non sostenete le vostre parole con le vostre prove.

Hai anche dato una foto di quella di qualcun altro, anche se avresti potuto allegare il tuo registro di compilazione (non una foto).

....

Se il compilatore mostra dei bug nel codice, bisogna crederci.

E se non ci credi, puoi postare il log di compilazione sul forum per l'analisi. Anche lì ci sono errori e tempi di compilazione.

Ok, ecco la build 1159 dove compila in circa un secondo, la build 1241 dove compila in circa 20 secondi, e la build 1325 dove non compila (errori)

File:
MQL_1159.txt  7 kb
MQL_1241.txt  7 kb
MQL_1325.txt  8 kb
 
I 2600 avvertimenti nella vecchia build non ti confondono.

Ma 2000 avvertimenti e bug trovati dal nuovo compilatore rendono improvvisamente il compilatore sbagliato?

Vi consiglio di sistemare questo pasticcio nel vostro codice e ripulirlo.

Davvero, è strano fare un'affermazione del genere quando il compilatore urla di problemi nel codice. Aumentiamo volutamente i requisiti per la qualità del codice e non vogliamo nascondere i problemi di default. Questa è l'industria finanziaria.
 
Renat Fatkhullin:
2600 avvertimenti nella vecchia build non ti confondono.

Ma 2000 avvertimenti e bug trovati dal nuovo compilatore rendono improvvisamente il compilatore sbagliato?

Vi consiglio di sistemare questo pasticcio nel vostro codice e ripulirlo.

Davvero, è strano fare un'affermazione del genere quando il compilatore urla di problemi nel codice. Aumentiamo volutamente i requisiti per la qualità del codice e non vogliamo nascondere i problemi di default. Questa è l'industria finanziaria.

Gli avvertimenti sono avvertimenti, i bug sono errori. Tutti conoscono la differenza. Tutto ha compilato bene fino all'ultima build. E se infili delle nuove regole nel compilatore senza informarci, è colpa del mio codice? Perché stai spostando il problema di male in peggio?

Ci sono solo avvertimenti come "conversione implicita da 'numero' a 'stringa'", "possibile perdita di dati a causa di 'stringa'" e "messaggi di errore". Cosa hanno a che fare con gli errori generati dall'ultimo compilatore?

dichiarazione senza tipo
non può applicare il modello di funzione
virgola prevista
identificatore non dichiarato
'*' - il puntatore non può essere usato
tipo di classe previsto
nessuno degli overload può essere applicato alla chiamata di funzione
puntatore all'oggetto atteso
punto e virgola previsto

Quindi, è ovvio che alcuni cambiamenti nella sintassi del linguaggio sono apparsi qui, ma siamo in silenzio. E tu stai moralizzando qui sulla "qualità del codice", ecc, deviando la conversazione nel solito modo.

 
Alexey Navoykov:

Gli avvertimenti sono avvertimenti, ma gli errori sono errori, tutti conoscono la differenza. Tutto ha compilato bene fino all'ultima build. E se hai introdotto segretamente alcune nuove regole nel compilatore senza informarci, è colpa del mio codice? Perché stai spostando il problema di male in peggio?

Ci sono solo avvertimenti come "conversione implicita da 'numero' a 'stringa'", "possibile perdita di dati a causa di 'stringa'" e "messaggi di errore". Cosa hanno a che fare con gli errori che il compilatore più recente genera comunque?

senza tipo
non può applicare il modello di funzione
virgola prevista
identificatore non dichiarato
'*' - il puntatore non può essere usato
tipo di classe previsto
nessuno degli overload può essere applicato alla chiamata di funzione
puntatore all'oggetto atteso
punto e virgola previsto

Quindi, è ovvio che alcuni cambiamenti nella sintassi del linguaggio sono apparsi qui, ma siamo in silenzio. E tu stai moralizzando qui sulla "qualità del codice", ecc, deviando la conversazione nel solito modo.

se avete 2600 avvisi, potete garantire che tutti gli avvisi sono innocui, avete controllato tutti i 2600

per quanto riguarda la testa, solo una testa malata può accettare così tanti avvertimenti e pensare che sia giusto ottenere il diritto di farlo.

 
Alexey Navoykov:

Gli avvertimenti sono avvertimenti, ma gli errori sono errori, tutti conoscono la differenza. Tutto ha compilato bene fino all'ultima build. E se hai introdotto segretamente alcune nuove regole nel compilatore senza informarci, è colpa del mio codice? Perché stai spostando il problema di male in peggio?

Ci sono solo avvertimenti come "conversione implicita da 'numero' a 'stringa'", "possibile perdita di dati a causa di 'stringa'" e "messaggi di errore". Cosa hanno a che fare con gli errori generati dall'ultimo compilatore?

dichiarazione senza tipo
non può applicare il modello di funzione
virgola prevista
identificatore non dichiarato
'*' - il puntatore non può essere usato
tipo di classe previsto
nessuno degli overload può essere applicato alla chiamata di funzione
puntatore all'oggetto atteso
punto e virgola previsto

Quindi, è ovvio che qui sono apparsi dei cambiamenti nella sintassi del linguaggio, ma noi stiamo zitti. E tu ci fai una morale sulla "qualità del codice" ecc. deviando la conversazione nel solito modo.

Compagno, hai ancora intenzione di versare merda su tutto il compilatore, o forse mi darai almeno 20 righe della tua opera in MQL? Non so quale merda infernale abbiate nel vostro codice. Oppure, pensi che tutti i telepati saranno qui ad ascoltarti, a fare gli occhi tristi e ad essere d'accordo con tutte queste sciocchezze?

DOV'È IL CODICE SPECIFICO CHE CAUSA ERRORI?

 
Alexey Navoykov:

Gli avvertimenti sono avvertimenti, ma gli errori sono errori, tutti conoscono la differenza. Tutto ha compilato fino all'ultima build. E se hai introdotto segretamente alcune nuove regole nel compilatore senza informarci, è colpa del mio codice? Perché spostare il problema di male in peggio?

Non sto interferendo. Ho 26 anni di programmazione non-stop all'attivo.

Gli avvertimenti sono essenzialmente errori se stiamo parlando del settore finanziario. E tutte le migliaia di rapporti su "perdita di segno, perdita di precisione, perdita sui fantasmi ecc." sono un verdetto sulla qualità del codice. A quanto pare non capite bene le implicazioni.

Fornire, in una forma ragionevolmente completa, il pezzo di codice che il compilatore ha indicato come un bug, per favore.

Senza questo, l'intera discussione appare sgradevole e ingiusta.

 

Ho trovato un errore nel registro EA:

comando sconosciuto E0

Cosa significa?

 

Renat Fatkhullin:

Per favore introduci il meccanismo dei namespace in MQL5, sai quanto è utile, perché non sembra così elegante mettere stampelle sotto forma di macro per disabilitare nomi identici nelle dichiarazioni :)

 
Renat Fatkhullin:

...

Gli avvertimenti sono essenzialmente errori se parliamo del settore finanziario. E tutte le migliaia di rapporti di "perdita di segno, perdita di precisione, perdita sui fantasmi ecc." sono un verdetto sulla qualità del codice. A quanto pare non capite bene le implicazioni.

...
Dovrei aggiungere che a partire da un certo livello di complessità del progetto, gli avvertimenti hanno conseguenze molto più terribili dei comuni errori di compilazione. Ciò che è insidioso degli avvertimenti è che il programma funziona con loro, ma in circostanze diverse iniziano a fare meraviglie che sono molto difficili da riparare.