
Estructura de datos en MetaTrader 4 Build 600 o superior
Introducción
Las características del MetaTarder 4 build 600, de la nueva estructura y ubicación de los archivos del cliente del terminal. Ahora, las aplicaciones MQL4 se colocan en directorios separados según el tipo de programa (asesores expertos, indicadores o scripts). En la mayoría de los casos, los datos de la terminal ahora se almacenan en una carpeta especial de datos separada de la ubicación de instalación del terminal. En este artículo, describimos al detalles cómo se transfieren los datos, así como las razones para introducir el nuevo sistema de almacenamiento.
Por qué se implementó el nuevo sistema de almacenamiento de datos
Microsoft Windows XP, lanzado hace 13 años permite a las aplicaciones escribir sus propios datos en el lugar de su instalación, aunque el último tuvo lugar en la carpeta de sistema de archivos de programa. El usuario sólo debe tener un permiso de administrador para escribir datos en cualquier carpeta.
A partir de Windows Vista, Microsoft ha introducido una restricción de escritura al directorio de archivos de programa. Si el sistema de Control de cuentas de usuario (UAC) está habilitado, a los programas no se les permite almacenar sus datos en la carpeta archivos de programa. Todos los datos deben ser localizados en un directorio de usuario. Esta limitación se ha introducido para proteger a los usuarios contra programas maliciosos y evitar aplicaciones bajo una cuenta de usuario para cambiar o dañar los datos del mismo programa necesarios para otra cuenta de usuario. Desde entonces, los requisitos de seguridad en sistemas operativos de Microsoft han apretado más. En particular, a partir de Windows 8, sistema UAC no se puede deshabilitar si "Nunca notificar" está seleccionado en su configuración.
Microsoft ha implementado el proceso de virtualización para proporcionar compatibilidad con aplicaciones antiguas al usar UAC. Si un programa intenta guardar sus datos en el directorio de archivos de programa, los datos son realmente (físicamente) guardados en una carpeta separada, tienen el aspecto siguiente - C:\Users\<user-name>\AppData\Local\VirtualStore\Program Files, mientras que el explorador de archivos de Windows muestra los archivos como si se guardan en el directorio de instalación. Microsoft afirma que este modo se ha proporcionado solo para compatibilizar y se puede quitar más adelante.
Para cumplir con las recomendaciones de Microsoft, se ha modificado la estructura de almacenamiento de datos en el cliente del terminal MetaTrader 4 a partir de la version Build 600. Ahora, el terminal también guarda sus datos en un directorio de usuario.
Directorio de datos de usuario
En la nueva versión, todos los datos de un cierto usuario trabajan con una cierta copia del terminal MetaTrader 4 que se almacena en un lugar especial llamado terminal data folder. Puede encontrar esta carpeta en el disco de sistema (el disco con wl sistema operativo de Windows instalado) a lo largo de la siguiente ruta
C:\Users\User_account_name\AppData\Roaming\MetaQuotes\Terminal\Instance_iddonde:
- С: - nombre de un disco de sistema;
- User_account_name - cuenta de usuario para trabajar en Windows;
- Instance_id - único nombre de la carpeta donde se almacenan datos del usuario para trabajar con una copia del terminal MetaTrader 4. Un nombre único que consta de 16 caracteres. El nombre se genera partiendo de la ruta del directorio de instalación del terminal, ya que la ruta del directorio de instalación del terminal no se puede utilizar explícitamente como un nombre de carpeta. La Importancia en la longitud de nombre único se explica por el hecho de que copias múltiples del terminal se pueden instalar en un PC.
Se ha añadido el comando "Abrir carpeta de datos" al menú de archivo del terminal para buscar y abrir la carpeta de datos.
La raíz de cada carpeta de datos del terminal también contiene el archivo origin.txt donde se puede encontrar la ruta de la carpeta de instalación del terminal de los datos referidos. Esto permite a los usuarios que cada carpeta de datos del terminal coincida con un determinado directoria de instalación del terminal, por ejemplo, en el caso de cuando un usuario instala varias copias del terminal MetaTrader 4. Esta es la manera de trabajar del terminal cuando la carpeta de datos está separada de la instalación es el modo principal.
Para mayor comodidad, se hace en diario del terminal una entrada que contiene la ruta de la carpeta de datos cada vez que se lanza el terminal. Por ejemplo:
2014.02.10 12:48:28.477 Carpeta de Datos: C:\Users\JohnSmith\AppData\Roaming\MetaQuotes\Terminal\9F86138A4E27C7218E9EC98A5F8D8CA1
Copiar archivos de la aplicación MQL4 cuando se actualiza a MetaTrader 4 Build 600 y superior
Cuando se inicia el terminal recientemente actualizado, verifica si existe la carpeta de datos. Si la carpeta de datos aún no está presente, entonces se crea. Si esa carpeta es diferente de la instalación, los datos periódicos del terminal (programas de MQL4 estándar, datos históricos, archivos de configuración, plantillas, etc.) se copian en él. Los archivos que no cambian durante la operación del terminal (archivos ejecutables, mql.dll compilador, archivos de sonido, etc.) se quedan en el directorio de instalación. La carpeta de datos del terminal es diferente de la instalación de uno de los siguientes casos:
- El sistema UAC está habilitado. La excepción es cuando el terminal se instala en un dispositivo portátil (disco duro externo, memoria USB, etc.).
- El usuario de PC actual ha limitado los derechos de escribir datos en el directorio de instalación.
- Un usuario está trabajando a través de conexión remoto (RDP).
Si ninguna de las anteriores condiciones se cumplen, el terminal datos se almacenan en el directorio de instalación.
A continuación, los archivos de usuario se mueven a la carpeta de datos. En esta etapa, se determina el directorio donde se almacenaron los datos de usuario del terminal. Si los datos han sido almacenados en la carpeta de instalación del terminal, se copian de la siguiente manera:
Carpeta de origen en el directorio de instalación |
Contenido | Carpeta de destino en el directorio de datos del terminal |
---|---|---|
\experts |
Asesores Expertos (robots de trading) Nota: se copian sólo los archivos en el directorio raíz \experts. No hay subdirectorios que se copien, ya que es imposible determinar con fiabilidad su contenido |
\MQL4\Experts |
\experts\indicators | Indicadores personalizados |
\MQL4\Indicators |
\experts\scripts |
Scripts (aplicaciones MQL4 para una única prueba en la gráfica) | \MQL4\Scripts |
\experts\include | Código fuente de los ficheros MQH y MQ4 implementados en otros programas | \MQL4\Include |
\experts\libraries | Las librerías en forma de código fuente MQ4 y archivos ejecutables EX4 compilados. Se utilizan para la llamada dinámica de las funciones allí contenidas por otros programas del MQL4 | \MQL4\Libraries |
\experts\files | Especial "file sandbox". Las aplicaciones MQL4 pueden ejecutar operaciones de archivo sólo dentro de este directorio | \MQL4\Files |
\experts\logs |
Archivos de registro de aplicaciones MQL4 |
\MQL4\Logs |
\experts\presets |
Archivos de configuraciones para aplicaciones MQL4 |
\MQL4\Presets |
\experts\images |
Archivos imagen para ser usado como recursos | \MQL4\Images |
A continuación, se comprueba si el terminal de cliente ha almacenado los datos en el directorio virtualizado (de almacenamiento virtual del sistema operativo descrito anteriormente). Si el terminal se ha instalado en el directorio archivos de programa y el sistema operativo es Windows Vista o superior, probablemente los datos del terminal se almacenan en ese directorio. Si se encuentran los datos, se copian según la tabla anterior.
Durante la migración, las entradas que contienen rutas de origen y destino de los archivos copiados se hacen en el diario del terminal. Para ver todos los registros, abra la ventana de la ficha del diario del Terminal y ejecutar el comando Abrir en el menú contextual. Se abrirá la carpeta que contiene los archivos de registro del terminal.
Si la migración de la copia actual del terminal se ha completado con éxito, no se repite más en posteriores actualizaciones del terminal MetaTrader 4. Si la carpeta de datos es diferente de la instalación, y las aplicaciones personalizadas de MQL4 han sido copiadas junto con los archivos estándar durante la migración, aparecerá la siguiente ventana de diálogo:
Modo Portátil
Se proporciona el lanzamiento del modo portátil para operar el terminal en dispositivos portátiles y en directorios de sin sistema, así como para trabajar en Windows XP. Cuando se pone en marcha este modo, el terminal intenta guardar sus datos en la carpeta de instalación. Sin embargo, usando el modo portátil no garantiza que un sistema operativo permita almacenar datos en la carpeta de instalación (por ejemplo, si el terminal se instala en el directorio archivos de programa y el sistema UAC está habilitado).
Las siguientes condiciones deben cumplirse para trabajar en modo Portable:
Directorio de instalación |
Sistema operativo |
Requisitos |
---|---|---|
Archivos de programa o en otro directorio del sistema (por ejemplo, Windows) |
Windows XP |
Permiso para escribir en la carpeta de instalación |
Otro directorio sin sistema |
Windows XP |
Permiso para escribir en la carpeta de instalación |
Disco duro externo, memoria USB, etc.. | Windows XP | El terminal se lanzará siempre en modo Portable. |
Archivos de programa o en otro directorio del sistema (por ejemplo, Windows) | Windows Vista\Windows 7 |
Lanzamiento del terminal como administrador y UAC discapacitado |
Otro directorio sin sistema | Windows Vista\Windows 7 |
Permiso para escribir en la carpeta de instalación |
Disco duro externo, memoria USB, etc.. | Windows Vista\Windows 7 | El terminal se lanzará siempre en modo Portable. |
Archivos de programa o en otro directorio del sistema (por ejemplo, Windows) |
Windows 8 y superior |
Es imposible utilizar el modo Portable, ya que el sistema UAC no se puede desactivar |
Otro directorio sin sistema | Windows 8 y superior |
Permiso para escribir en la carpeta de instalación |
Disco duro externo, memoria USB, etc.. | Windows 8 y superior | El terminal se lanzará siempre en modo Portable. |
- No se recomienda utilizar el modo portátil en caso de usar Windows Vista o superior, y el terminal se instala en archivos de programa. Este modo se proporciona para la operación del terminal en dispositivos portátiles y Windows XP.
- Si ha actualizado el terminal y todos los datos han sido copiados a una carpeta de datos de usuario, tampoco no se recomienda cambiar al modo portátil.
- Debe copiar manualmente los datos a la carpeta de instalación para utilizar de modo portátil después de copiar los datos en la carpeta de datos de usuario. Lanzar el terminal en modo Portable no copiar los datos desde la carpeta de datos de la instalación.
Para iniciar el terminal en modo Portable, usar tecla "/ portátil". Para mayor comodidad, puede crear un acceso directo para que el terminal adicional se inicie con el nombre apropiado en su escritorio y agregue la clave directamente en el acceso directo:
Conclusión
Para cumplir con los requisitos de los sistemas operativos Windows desarrollados por Microsoft se han hecho cambios en el sistema de almacenamiento de datos de la terminal MetaTrader 4. Este sistema de almacenamiento de datos se implementó originalmente en MetaTrader 5, y muchos traders lo utilizan con éxito por el momento.
Los datos del terminal MetaTrader 4 se transfieren automáticamente al directorio de usuario. No se requieren acciones adicionales de los usuarios en la mayoría de los casos. La información sobre todas las operaciones de copia de datos se muestra en la revista de MetaTrader 4.
Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/1388





- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso