Erreurs, bugs, questions - page 41

 
alexvd:

Votre demande a été prise en compte. Une recommandation a été faite.

La raison pour laquelle elle n'a pas été mise à jour dans votre profil nous appartient.

Application

Erreurs, MetaTrader 5 MQL, Ouvert, Démarré : 2010.07.03 14:51, #17988

Il n'a probablement pas été mis à jour non plus, veuillez le vérifier.

 
drknn:

Je connais la logique formelle et les différences entre les termes m'ont immédiatement interpellé. Le fait est que la lecture de l'aide de MQL5 ne rend pas beaucoup de choses claires. Il est clair que les methaquotes ont mis le terminal à la disposition du public afin d'attirer le groupe de bêta-testeurs - cette étape permettra de gagner du temps et de l'argent. Mais donner aux utilisateurs une référence qui manque de clarté est une grosse erreur de leur part. Par exemple, nous ouvrons sa section principale"Conversion MQL4" :

Le tableau ne donne aucune information sur lesAsk, Bid et Bars. Une tentative de recherche du même motAsk conduit à une conception totalement incompréhensible de la demande des derniers prix. Le développeur n'aurait-il pas pu prévoir cela à l'époque, au moment de rédiger cette partie de l'aide ? C'est absurde, pourquoi cela pourrait-il arriver ? La seule raison est le manque de systématicité - c'est-à-dire l'absence d'un plan clair de la future rédaction. Le plus probable est que le certificat a été rédigé de manière fragmentaire, puis les différents morceaux ont été collés ensemble et vous avez un "certificat". Ce n'est bon pour rien. Personne n'aime lire les brouillons des autres !

Dans une certaine mesure, vous avez raison - la documentation MQL5 est en constante évolution et modification, tout comme le langage MQL5 lui-même. Et elle va évoluer pendant plusieurs années encore, car il y a énormément de choses à mettre en œuvre. Vous suggérez donc que nous créons un nouveau terminal dans le vide, en laboratoire, pendant ces quelques années, sans aucun retour de nos utilisateurs finaux - nos clients ?

Sur la section la plus importante.

Par exemple, nous ouvrons la section principale"Conversion MQL4" :

Elle aussi a eu le temps de subir quelques modifications depuis sa première publication, mais il est impossible de dire quand la version finale sera là. Et nous ne pouvons pas toujours regarder le MQL4. Étudiez le MQL5 et lisez les articles - ils nous aident vraiment à étudier un nouveau sujet.

 
Après avoir installé la nouvelle version, mes EAs dans le dossier C:\Program Files\MetaTrader 5\MQL5\Experts disparaissent. Je les place sans sous-dossiers - cela pourrait-il être une erreur ?
 
icas:
Après avoir installé la nouvelle version, mes EAs dans le dossier C:\Program Files\MetaTrader 5\MQL5\Experts disparaissent. Je les place sans aucun sous-dossier - pourrait-il y avoir une erreur ?
Sont-ils complètement effacés du disque ?
 
Renat:
Sont-ils complètement retirés du lecteur ?
Renate, je suis désolé ! Je me suis embrouillé avec les ordinateurs. Je voulais supprimer le commentaire, vous avez déjà répondu.
 
Pourquoi le compilateur est-il "silencieux" lors de la compilation de la construction suivante :
ushort SomeFunction(int A, int B)
   {
    ushort res=0;
    ushort id=1000;
    res=(A>B)?id:NULL;  ????? 
    
    return(res);
   }
Tout se compile sans erreur :)
 
Kos:
Pourquoi le compilateur est-il "silencieux" lors de la compilation de la construction suivante :
Tout se compile sans erreur :)
Quelle erreur vous attendiez-vous à voir ?
 
stringo:
Quelle erreur vous attendiez-vous à voir ?

L'aide indique explicitement que "expression2" et "expressionZ" doivent retourner des valeurs du même type et ne doivent pas être du type void.

Par conséquent, la construction suivante est incorrecte car NULL est de type void et le compilateur devrait vous en informer, non ?

res=(A>B)?id:NULL;  ?????
 
Quel est l'intérêt de compiler une telle construction si elle rend impossible le chargement d'un programme MQL5 ?
 

NULL est une constante spéciale. "Il peut être affecté à des variables de tout autre type fondamental sans conversion."

C'est-à-dire que dans les expressions, NULL est de type expression et non de type void.

Si vous voulez dire instruction invalide, c'est un bug et il sera corrigé.