Errori, bug, domande - pagina 41

 
alexvd:

La sua domanda ha ricevuto una risposta. È stata fatta una raccomandazione.

Il motivo per cui non è stato aggiornato nel suo profilo dipende da noi.

Applicazione

Errori, MetaTrader 5 MQL, Aperto, Iniziato: 2010.07.03 14:51, #17988

Probabilmente non è stato aggiornato, per favore controllate.

 
drknn:

Conosco la logica formale e le differenze nei termini hanno attirato la mia attenzione immediatamente. Il punto è che la lettura della guida di MQL5 non chiarisce molte cose. È chiaro che i methaquotes hanno reso il terminale disponibile per l'accesso pubblico al fine di attirare il gruppo di beta-tester - questo passo farà risparmiare tempo e denaro. Ma dare agli utenti un riferimento che manca di chiarezza è un grosso errore da parte loro. Per esempio, apriamo la sua sezione principale"Conversione MQL4":

La tabella non fornisce informazioni suAsk, Bid e Bars. Un tentativo di cercare la stessa parolaAsk porta a un disegno completamente incomprensibile di richiesta degli ultimi prezzi. Lo sviluppatore non avrebbe potuto prevederlo allora, al momento di scrivere questa parte della guida? Sciocchezze, perché potrebbe accadere? L'unica ragione è la mancanza di sistematicità - cioè l'assenza di un piano chiaro del saggio futuro. Molto probabilmente, il certificato è stato scritto in modo frammentario, poi i pezzi separati sono stati incollati insieme ed ecco il "certificato". Non serve a niente. A nessuno piace leggere le bozze degli altri!

In una certa misura hai ragione - la documentazione MQL5 è in continua evoluzione e modifica, così come il linguaggio MQL5 stesso. E cambierà per diversi anni a venire, poiché c'è una quantità enorme di cose da implementare. Quindi lei suggerisce che stiamo creando un nuovo terminale nel vuoto in laboratorio durante questi pochi anni, senza alcun feedback dai nostri utenti finali - i nostri clienti?

Sulla sezione più importante.

Per esempio, apriamo la sezione principale"Conversione MQL4":

Ha anche avuto il tempo di subire alcune modifiche da quando è stato pubblicato per la prima volta, ma quando ci sarà la versione finale è impossibile da dire. E non possiamo sempre guardare indietro a MQL4. Studiare MQL5 e leggere gli articoli - ci aiutano davvero a studiare un nuovo argomento.

 
Dopo aver installato la nuova build, i miei EAs nella cartella C:\Program Files\MetaTrader 5\MQL5\Experts spariscono. Li metto senza sottocartelle - potrebbe essere sbagliato?
 
icas:
Dopo aver installato la nuova build, i miei EAs nella cartella C:\Program Files\MetaTrader 5\MQL5\Experts spariscono. Li metto senza sottocartelle - potrebbe essere sbagliato?
Sono completamente cancellati dal disco?
 
Renat:
Sono completamente rimossi dal disco?
Renate, mi dispiace! Mi sono confuso con i computer. Volevo cancellare il commento, hai già risposto.
 
Perché il compilatore è "silenzioso" quando compila il seguente costrutto:
ushort SomeFunction(int A, int B)
   {
    ushort res=0;
    ushort id=1000;
    res=(A>B)?id:NULL;  ????? 
    
    return(res);
   }
Tutto si compila senza errori :)
 
Kos:
Perché il compilatore è "silenzioso" quando compila il seguente costrutto:
Tutto si compila senza errori :)
Quale errore ti aspettavi di vedere?
 
stringo:
Che errore ti aspettavi di vedere?

La guida afferma esplicitamente che "expression2" e "expressionZ" devono restituire valori dello stesso tipo e non devono essere di tipo void.

Corrispondentemente, il seguente costrutto non è corretto perché NULL è di tipo void e il compilatore dovrebbe informarvi di questo, giusto?

res=(A>B)?id:NULL;  ?????
 
Che senso ha compilare un tale costrutto se renderà impossibile caricare un programma MQL5?
 

NULL è una costante speciale. "Può essere assegnato a variabili di qualsiasi altro tipo fondamentale senza conversione".

Cioè, nelle espressioni NULL è di tipo espressione, non di tipo nullo.

Se intendi un'istruzione non valida, è un bug e sarà risolto.

Motivazione: