![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No hay problema porque un EA sigue escribiendo en el archivo y el otro EA sigue leyendo del archivo y no importa en qué orden ocurra. Para comprobar la relevancia de los datos he utilizado la hora local, es decir, las citas se escriben cada 100 milisegundos y luego se comprueba su relevancia según la hora local.
A título informativo, si haces clic en terminal.exe 4 veces, se abrirán dos copias del mismo terminal, y las rutas deben ser las mismas.
¿Es posible reservar un espacio de memoria con derecho de acceso para 2 aplicaciones?
Es un conflicto claro también, con la provocación de errores de este tipo:
0009 0x0009 Dirección de gestión de memoria no válida
0998 0x03E6 Intento de acceso a dirección de memoria no válida
Una de las aplicaciones intentará acceder a una dirección de memoria a la que no tiene derechos de acceso
¿Es posible reservar un espacio de memoria con derecho de acceso para 2 aplicaciones?
Es un conflicto claro también, con la provocación de errores de este tipo:
0009 0x0009 Dirección de gestión de memoria no válida
0998 0x03E6 Intento de acceso a dirección de memoria no válida
Una de las aplicaciones intentará acceder a una dirección de memoria a la que no tiene derechos de acceso
Tal vez no se pueda, no lo sé con seguridad. Aquí, en este hilo https://forum.mql4.com/ru/3393 escribieron sobre GlobalAddAtom. Si lo he entendido bien, de esta manera se puede pasar una variable sin un archivo, es decir, a través de la memoria. Pero no sé cómo hacerlo(((
También has puesto un ejemplo, ¿puedes decirme cómo has intentado hacerlo?
Ah, se me ha vuelto a ocurrir una idea: ¡el portapapeles de Windows es de lectura-escritura accesible por las aplicaciones sin ninguna restricción de dirección de memoria!
Буфер обмена (clipboard)- набор функций и сообщений, который делает возможным передачу данных в прикладные программы, разработанные при помощи Microsoft ® Win32 ® прикладного программного интерфейса (API). Поскольку все прикладные программы имеют доступ к буферу обмена, данные могут быть легко перемещаемы между приложениями или внутри прикладной программы.
Pero aquí hay otro pequeño palo en la rueda:
El portapapeles es controlado por el usuario. La ventana sólo debe transferir datos hacia o desde el portapapeles en respuesta a un comando del usuario. La ventana no debe utilizar el portapapeles para transferir datos sin notificar al usuario.
Así que, sólo la API :^(
Se me ha vuelto a ocurrir una idea: ¡el portapapeles de Windows es de lectura-escritura accesible por las aplicaciones sin ninguna restricción de dirección de memoria!
Elportapapeles es un conjunto de funciones y mensajes que permite transferir datos a programas de aplicación diseñados con la interfaz de programación de aplicaciones( API) de Microsoft® Win32®. Como todos los programas de aplicación tienen acceso al portapapeles, los datos pueden moverse fácilmente entre aplicaciones o dentro de un programa de aplicación.
Pero aquí hay otro pequeño palo en la rueda:
El portapapeles es controlado por el usuario. La ventana sólo debe transferir datos hacia o desde el portapapeles en respuesta a un comando del usuario. La ventana no debe utilizar el portapapeles para transferir datos sin avisar al usuario.
Así que, sólo la API :^(
O bien aprendes tú mismo la API de Win 32 o buscas un codificador que se encargue del trabajo. Aquí no hay muchas opciones.
Pero en mi opinión, no vale la pena el coste.
Sólo para que conste, si haces clic en terminal.exe 4 veces, se abrirán dos copias del mismo terminal, y las rutas deberían ser las mismas.