
MetaTrader 5 (MT5) es una plataforma potente para el trading algorítmico, que ofrece la flexibilidad de usar datos externos en tus estrategias de trading. Una de las características clave de MQL5 es su capacidad para leer y procesar archivos almacenados en tu sistema. En este artículo, exploraremos un script sencillo pero robusto en MQL5 que lee datos de un archivo de texto, los procesa y los muestra en el terminal.
¿Por qué usar el manejo de archivos en MQL5?
El manejo de archivos en MQL5 puede usarse para:
- Importar datos externos para indicadores o estrategias personalizadas.
- Guardar y recuperar registros, configuraciones o señales.
- Gestionar conjuntos de datos grandes para pruebas retrospectivas (backtesting) o análisis.
Guía paso a paso del script
A continuación, se muestra un ejemplo práctico de un script en MQL5 para leer un archivo. El script verifica la existencia del archivo, lee su contenido y lo imprime en el terminal.
//+------------------------------------------------------------------+
//| Read_File.mq5 |
//| RCC |
//+------------------------------------------------------------------+
#property copyright "RCC"
#property version "1.00"
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int fileHandle = INVALID_HANDLE;
int fileFlags = FILE_READ|FILE_TXT|FILE_ANSI;
string fileName = "read_file.txt";
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//+------------------------------------------------------------------+
//| READ DATA |
//+------------------------------------------------------------------+
if( FileIsExist(fileName) ) // if file exists
{
Print("File exists!");
// abrir o arquivo para leitura
fileHandle = FileOpen(fileName,fileFlags);
if(fileHandle!=INVALID_HANDLE)
{
Print("The file was successfully opened for reading!");
// filesize
ulong fileSize = FileSize(fileHandle);
Print("The size of the file is ",fileSize," bytes");
// filecontent
string fileContent = FileReadString(fileHandle);
// print filecontent
Print("fileContent = ",fileContent);
// close file
FileClose(fileHandle);
}
}
}
¿Cómo funciona este script?
A continuación, vamos a describir las distintas partes del código anterior.
Verificación de la existencia del archivo
Antes de intentar abrir el archivo, el script verifica si este existe utilizando FileIsExist. Esto evita errores y asegura que el script continúe solo cuando el archivo está presente.
if (FileIsExist(fileName))
{
Print("The file exists!");
}
Apertura del archivo
El script abre el archivo en modo de lectura (FILE_READ), tratándolo como un archivo de texto (FILE_TXT) con codificación ANSI (FILE_ANSI). La función FileOpen devuelve un manejador para el archivo, que se utiliza en las operaciones posteriores.
fileHandle = FileOpen(fileName, fileFlags);
if (fileHandle != INVALID_HANDLE)
{
Print("The file was successfully opened for reading!");
}
Lectura del contenido del archivo
Una vez que el archivo está abierto, el script obtiene su contenido utilizando FileReadString. Para archivos de texto de una sola línea, esta función lee todo el contenido. Luego, el script imprime el contenido en el terminal.
string fileContent = FileReadString(fileHandle);
Print("fileContent = ", fileContent);
Cierre del archivo
Se siguen buenas prácticas de programación cerrando el archivo después de leerlo, liberando así los recursos.
FileClose(fileHandle);
¿Cómo usar este script?
Paso 1: Prepara el archivo
- Crea un archivo de texto llamado read_file.txt.
- Agrega algún contenido, como:
“Este es un archivo de prueba para MQL5. ¡El manejo de archivos en MQL5 es simple y eficiente!” - Guarda el archivo en el directorio Files de tu terminal MetaTrader 5. Puedes encontrar este directorio haciendo clic derecho en Files → Open Folder en el MetaEditor.

Código de MQL5 para leer archivos de texto
Paso 2: Guarda y compila el script
- Abre MetaEditor y crea un nuevo script (File → New → Script).
- Copia y pega el código mencionado anteriormente en el script.
- Guárdalo con un nombre significativo, por ejemplo, Read_File.mq5.
Compila el script presionando Compile en el MetaEditor.

Paso 3: Ejecuta el script
- En MetaTrader 5, localiza el script en el panel Navegador bajo la sección Scripts.
- Arrástralo y suéltalo sobre cualquier gráfico.
- Abre la pestaña Experts para ver la salida.

Mejoras que puedes hacer
Leer archivos de varias líneas
Amplía el script para leer archivos línea por línea utilizando un bucle con FileIsEnding:
while (!FileIsEnding(fileHandle))
{
string line = FileReadString(fileHandle);
Print("Línea: ", line);
}
Escribir en archivos
Agrega funcionalidad para escribir datos en archivos utilizando el flag FILE_WRITE en FileOpen.
Gestionar diferentes codificaciones
Modifica el script para leer archivos codificados en UTF-8 utilizando el flag FILE_UTF8.
Conclusión
Este script demuestra lo fácil y efectivo que es manejar archivos en MQL5. Al verificar la existencia del archivo, leer su contenido e imprimir los resultados, el script proporciona una base para incorporar datos externos en tus estrategias de trading.
Si te pareció útil este artículo, sígueme para más tutoriales y consejos sobre MQL5 y trading algorítmico.
¿Que broker online de Metatrader 5 recomendamos? IC Markets es una buena opción. Más información en: Análisis de IC Markets












