Errori, bug, domande - pagina 1436

 
Artyom Trishkin:

La cosa divertente è che il file ex4 compilato nel mio MetaEditor Versione: 5.00 build 1214 12 Nov 2015 non visualizza oggetti grafici nel terminale della persona a cui do questo file. Ha anche il terminale MT4, build 910 e MetaEditor Versione: 5.00 build 1214 12 Nov 2015.

Il file sorgente dell'indicatore compilato da lui crea normalmente un eseguibile che funziona correttamente nel suo terminale.

Cosa sono questi errori?

Scrivi a servicedesk (allega il codice sorgente), cercheremo di riprodurre.
 
Alexander:
Scrivi a servicedesk (allega il codice sorgente), cercheremo di riprodurre.

OK, scritto, allegato:

Aperto, Iniziato: 2015.11.23 09:41, #1353961
 
Artyom Trishkin:

OK, scritto, allegato:

Aperto, Iniziato: 2015.11.23 09:41, #1353961
Grazie
 
Buon pomeriggio a tutti. Sono arrivato al punto di scrivere EAs. Ho digitato il codice dell'esempio, ho premuto compile e ho ottenuto un errore: EX4 Write error. Per favore aiutatemi a risolvere questo problema. So che questa è probabilmente la millesima volta che faccio questa domanda. Ho trovato qualcosa su Internet su questo errore ma non ho capito come risolverlo. Voglio avviare Metatrader con il parametro /portable o copiare la cartella MQL4. Sto cercando di mettere mano a questo articolo, non so cosa farci.
 
Mehanik85:
Buon pomeriggio a tutti. Sono arrivato al punto di scrivere EAs. Ho digitato il codice dell'esempio, ho premuto compile e ho ottenuto un errore: EX4 Write error. Per favore aiutatemi a risolvere questo problema. So che questa potrebbe essere la millesima volta che lo chiedo. Ho trovato qualcosa su Internet su questo errore ma non ho capito come risolverlo. Voglio avviare Metatrader con il parametro /portable o copiare la cartella MQL4. Aiutami per favore.
Allega il codice dell'esempio per riprodurre il problema.
 
Beh, questo succede con qualsiasi EA, anche se si crea un nuovo EA e si preme compile senza codice.
 

Errore di compilazione: errore di generazione del codice. #2

void OnStart()
{
        string text = "" + NULL; //при optimize=1
}
 
void OnStart()
{
   double var1=EMPTY_VALUE*2;
   double var2=var1/var1;
   double var3=42; // Any
   Print("var2 больше var3: ",var2 > var3);
   Print("var3 больше var2: ",var3 > var2);
}

 
Ilya Malev:

Si prega di leggere la documentazione

Alcune operazioni del coprocessore matematico possono risultare in un numero reale non valido, che non può essere usato in operazioni matematiche e di confronto perché il risultato dell'esecuzione di operazioni su numeri reali non validi è indefinito.

Ora fate attenzione alla domanda: qual è il valore di EMPTY_VALUE*2?

 
Slawa:

Leggi la documentazione

Ora fate attenzione alla domanda: qual è il valore di EMPTY_VALUE*2?

1. Perché in MT4 e MT5 questo codice porta a un risultato diverso (più logico in MT4)?

2. Come posso determinare a runtime se il numero è valido o no (per esempio, in modo che l'algoritmo di ordinamento non vada in loop a causa di esso)?

Motivazione: