Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 146

 
¿tal vez faltan algunas bibliotecas dll?
 
azsxg8181:   ¿Quizás te falten algunas librerías dll?

Lo más probable es que pongas el terminal en la unidad del sistema y en la carpeta Archivos de programa.

Si es así, elige otra unidad. O al menos a la raíz de la unidad de tu sistema. Al inicio de la instalación hay un botón de configuración

 
Esta es claramente una pregunta infantil, así que es por aquí.
Por alguna razón no le presté atención antes. En la nota de la descripción de la función IndicatorDigits, dice lo siguiente:
Por defecto, se utiliza la precisión del precio del instrumento financiero a cuyo gráfico se adjunta el indicador.
De hecho, observo cinco dígitos en la ventana de datos:
  • La configuración por defecto es de 4 dígitos;
  • si se especifica explícitamente IndicatorDigits(Dígitos) - 5.
¿Es un fallo o qué?
 
¡Por favor, ayuda! No puedo leer el archivo
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;

}
Error 5002- Nombre de archivo no válido

Aunque el archivo existe


 
Mikhail Simakov:
Por favor, ayúdenme. No puedo leer el archivoImits error 5002 - Invalid filename

Aunque el archivo existe

FileOpen

Por razones de seguridad, el lenguaje MQL5 controla estrictamente las operaciones con archivos. Los archivos que son manejados por las operaciones de archivo del lenguaje MQL5 no pueden estar fuera de la "caja de arena" del archivo.

Si desea trabajar con directorios fuera de la caja de arena, crear un acceso directo / enlace simbólico al directorio necesario con"MQL4\Files" en él.
 
Konstantin Nikitin:

FileOpen

Si desea trabajar con directorios fuera de la caja de arena, crear un acceso directo / enlace simbólico al directorio requerido en él"MQL4\Files".

OK, copié el archivo en la carpeta Files, rehice el código, mismo error

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, copié el archivo en Archivos, rehice el código, mismo error

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

Es suficiente. Hay un ejemplo bastante bueno dado allí, con el error, y la apertura correcta del archivo.

 
Konstantin Nikitin:

Es suficiente. Hay un ejemplo bastante bueno dado allí, con el error, y la apertura correcta del archivo.

al probar un EA, ¿dónde debe estar el archivo de sólo lectura?

 
Mikhail Simakov:

al probar un EA, ¿dónde debe estar el archivo de lectura?

Esto es de MQL5, pero la esencia es la misma.

 
Konstantin Nikitin:

Esto es de MQL5, pero la esencia es la misma.

He encontrado el directorio al que accede el programa, pero por alguna razón borra este archivo qqq.csv durante las pruebas