Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 146

 
forse mancano alcune librerie dll?
 
azsxg8181:   Forse vi manca qualche libreria dll?

Molto probabilmente, hai messo il terminale sull'unità di sistema e nella cartella Program Files.

Se è così, scegliete un'altra unità. O almeno alla radice del vostro disco di sistema. All'inizio dell'installazione c'è un pulsante Setup

 
Questa è chiaramente una domanda infantile, quindi è così.
In qualche modo non ci ho fatto caso prima. Nella nota alla descrizione della funzione IndicatorDigits, si dice quanto segue:
Per impostazione predefinita, viene utilizzata la precisione del prezzo dello strumento finanziario al cui grafico è collegato l'indicatore.
Infatti, osservo cinque cifre nella finestra dei dati:
  • L'impostazione predefinita è di 4 cifre;
  • quando IndicatorDigits(Digits) è specificato esplicitamente - 5.
È un problema tecnico o cosa?
 
Per favore, aiutatemi! Non riesco a leggere il file
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;

}
Errore 5002- Nome del file non valido

Anche se il file esiste


 
Mikhail Simakov:
Per favore, aiutatemi! Non riesco a leggere il fileImits errore 5002 - Nome file non valido

Anche se il file esiste

FileOpen

Per ragioni di sicurezza, il linguaggio MQL5 controlla strettamente le operazioni con i file. I file che sono gestiti dalle operazioni sui file del linguaggio MQL5 non possono essere al di fuori della "sandbox" dei file.

Se vuoi lavorare con le directory al di fuori della sandbox, crea una scorciatoia/collegamento simbolico alla directory necessaria con"MQL4\\Files" in essa.
 
Konstantin Nikitin:

FileOpen

Se vuoi lavorare con le directory al di fuori della sandbox, crea una scorciatoia/collegamento simbolico alla directory richiesta in essa"MQL4\\Files".

OK, copiato il file nella cartella Files, rifatto il codice, stesso errore

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, copiato il file in Files, rifatto il codice, stesso errore

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

Basta così. C'è un esempio abbastanza buono dato lì, con l'apertura sbagliata e quella giusta del file.

 
Konstantin Nikitin:

Basta così. C'è un esempio abbastanza buono dato lì, con l'apertura sbagliata e quella giusta del file.

quando si testa un EA, dove dovrebbe trovarsi il file di sola lettura?

 
Mikhail Simakov:

quando si testa un EA, dove dovrebbe trovarsi il file di lettura?

Questo è da MQL5, ma l'essenza è la stessa.

 
Konstantin Nikitin:

Questo è da MQL5, ma l'essenza è la stessa.

Ho trovato la directory a cui il programma accede, ma per qualche motivo cancella questo file qqq.csv durante il test

Motivazione: