Questions des débutants MQL4 MT4 MetaTrader 4 - page 146

 
Peut-être que certaines bibliothèques dll sont manquantes ?
 
azsxg8181:   Peut-être qu'il vous manque certaines bibliothèques dll ?

Le plus souvent, vous avez placé le terminal sur le lecteur système et dans le dossier Program Files.

Si c'est le cas, choisissez un autre lecteur. Ou au moins à la racine de votre lecteur système. Au début de l'installation, il y a un bouton " Setup".

 
C'est clairement une question enfantine, donc c'est comme ça.
Je n'y ai pas prêté attention avant. Dans la note de la description de la fonction IndicatorDigits, il est indiqué ce qui suit :
Par défaut, la précision du prix de l'instrument financier, au graphique duquel l'indicateur est attaché, est utilisée.
En fait, j'observe cinq chiffres dans la fenêtre de données:
  • Le réglage par défaut est de 4 chiffres ;
  • si IndicatorDigits(Digits) est explicitement spécifié - 5.
C'est un pépin ou quoi ?
 
Aidez-moi ! Je ne peux pas lire le fichier
int File()
{
int P=0;
int filehandle=FileOpen("C:\\Users\\Михаил\\Desktop\\qqq.csv",FILE_READ|FILE_CSV); 
if(filehandle!=INVALID_HANDLE) 
     { 
     datetime d = FileReadDatetime(filehandle);
     int I=FileReadNumber(filehandle);
     FileClose(filehandle);
     Comment(d+" "+I);
     }
     else {Comment(GetLastError());}
return P;

}
Erreur 5002 - Nom de fichier non valide

Bien que le fichier existe


 
Mikhail Simakov:
Aidez-moi, s'il vous plaît ! Je ne peux pas lire le fichierImites erreur 5002 - Nom de fichier invalide

Bien que le fichier existe

FileOpen

Pour des raisons de sécurité, le langage MQL5 contrôle strictement les opérations avec les fichiers. Les fichiers qui sont traités par les opérations sur les fichiers du langage MQL5 ne peuvent pas se trouver en dehors du "bac à sable" des fichiers.

Si vous voulez travailler avec des répertoires en dehors du bac à sable, créez un raccourci/lien symbolique vers le répertoire nécessaire avec"MQL4\\\\Files" dedans.
 
Konstantin Nikitin:

FileOpen

Si vous voulez travailler avec des répertoires en dehors du bac à sable, créez un raccourci/lien symbolique vers le répertoire requis dans"MQL4\\Files".

OK, j'ai copié le fichier dans le dossier Files, j'ai refait le code, même erreur.

int File()
{
int P=0;

int filehandle=FileOpen(TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files\\"+"qqq.csv",FILE_READ|FILE_CSV); 
if(filehandle!=INVALID_HANDLE) 
     { 
     datetime d = FileReadDatetime(filehandle);
     int I=FileReadNumber(filehandle);
     FileClose(filehandle);
     Comment(d+" "+I);
     }
     else {Comment(GetLastError());}
return P;

}
 
Mikhail Simakov:

OK, j'ai copié le fichier dans Files, j'ai refait le code, même erreur.

int filehandle=FileOpen("qqq.csv",FILE_READ|FILE_CSV); 

C'est suffisant. Il y a un très bon exemple donné là, avec la mauvaise et la bonne ouverture du dossier.

 
Konstantin Nikitin:

C'est suffisant. Il y a un très bon exemple donné là, avec la mauvaise et la bonne ouverture du dossier.

lors du test d'une EA, où doit se trouver le fichier en lecture seule ?

 
Mikhail Simakov:

lors du test d'une EA, où doit se trouver le fichier de lecture ?

Ceci est tiré de MQL5, mais l'essence est la même.

 
Konstantin Nikitin:

Ceci est tiré de MQL5, mais l'essence est la même.

J'ai trouvé le répertoire auquel le programme accède, mais pour une raison quelconque, il supprime ce fichier qqq.csv pendant le test.

Raison: