Expert: Oh... Es demasiado grande para encontrar rápidamente la información necesaria
Y te tomas tu tiempo. )) Tienes que estudiarlo. Y entonces será muy rápido y fácil encontrar muchas respuestas a sus preguntas. Consulte la sección de funciones comerciales para su pregunta.
Las bibliotecas del sistema (DLL) se cargan mediante las reglas del sistema operativo. Si la biblioteca ya está cargada (por ejemplo, por otro Asesor Experto, o incluso desde otro terminal cliente, ejecutándose en paralelo), entonces la referencia es a la biblioteca ya cargada.
¿Cómo se cargan las bibliotecas de ex5?Si la biblioteca ya está cargada (por ejemplo, por otro Asesor Experto e incluso desde otro terminal cliente que se ejecuta en paralelo),
Y todavía: cómo hacer que sólo se cargue una instancia de la biblioteca ex5.
Y otros EAs se conectarán sólo a esta instancia.
He hecho una biblioteca.
#property librarystaticint i=0;
int lib[10 000 000]; /// разделил пробелами для наглядности
int Get(void) export {return(i++);}
He creado un Asesor Experto, que incluye la biblioteca.
1. No se carga ni un solo Asesor Experto. El proceso terminal.exe ocupa 91.000 KB.
2. Conectando un Asesor Experto a EURUSD. Proceso Terminal.exe -- 131 000 KB. (+41 MB).
3. Conecto el mismo Asesor Experto (adicionalmente) a GBPUSD. proceso terminal.exe - 171 000KB.(+41MB).
¿Cómo por medio de MT5 solamente (a través de clases o bibliotecas o scripts, EAs, etc.) crear acceso a datos específicos (que cambiarán dinámicamente) de forma conjunta?
PS// Intenté hacer ambas cosas
staticint lib[10000000]
De todos modos, se carga una instancia diferente de la biblioteca para cada EA.
Sigue cargando una instancia de biblioteca diferente para cada EA.
Puede ser posible implementar esto con variables globales de terminal. Es decir, ambas instancias utilizan las variables globales del terminal para los cálculos.
Aún así: ¿Cómo puedo hacer que sólo se cargue una instancia de ex5?
Y los siguientes EA sólo se conectarán a esta instancia.
He hecho una biblioteca.
He creado un Asesor Experto, que incluye esta biblioteca.
1. No se carga ni un solo Asesor Experto. El proceso terminal.exe ocupa 91.000 KB.
2. Conectando un Asesor Experto a EURUSD. Proceso Terminal.exe -- 131 000 KB. (+41 MB).
3. Conecto el mismo Asesor Experto (adicionalmente) a GBPUSD. proceso terminal.exe - 171 000KB.(+41MB).
¿Cómo por medio de MT5 solamente (a través de clases o bibliotecas o scripts, EAs, etc.) crear acceso a datos específicos (que cambiarán dinámicamente) de forma conjunta?
PS// Intenté hacer ambas cosas
Sigue cargando una instancia de biblioteca diferente para cada EA.
Creo que las variables globales del terminal pueden ayudarte, o escribir los datos en un archivo
tol64: Tal vez se pueda implementar con variables globales del terminal. Es decir, ambas instancias utilizan variables terminales globales para los cálculos.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Hola. ¿Puede decirme, por favor. ¿Por qué las órdenes y las operaciones tienen un ticket pero las posiciones no?
¿Y cuál es la diferencia entre un billete y un identificador?
RTFM
RTFM
Oh... Es demasiado grande para encontrar rápidamente la información necesaria
Llamada a funciones importadas de la biblioteca ex5.
Explíquese, por favor. Leer https://www.mql5.com/ru/docs/runtime/imports
¿Cómo se cargan las bibliotecas de ex5?Si la biblioteca ya está cargada (por ejemplo, por otro Asesor Experto e incluso desde otro terminal cliente que se ejecuta en paralelo),
Y todavía: cómo hacer que sólo se cargue una instancia de la biblioteca ex5.
Y otros EAs se conectarán sólo a esta instancia.
He hecho una biblioteca.
He creado un Asesor Experto, que incluye la biblioteca.
1. No se carga ni un solo Asesor Experto. El proceso terminal.exe ocupa 91.000 KB.
2. Conectando un Asesor Experto a EURUSD. Proceso Terminal.exe -- 131 000 KB. (+41 MB).
3. Conecto el mismo Asesor Experto (adicionalmente) a GBPUSD. proceso terminal.exe - 171 000KB.(+41MB).
¿Cómo por medio de MT5 solamente (a través de clases o bibliotecas o scripts, EAs, etc.) crear acceso a datos específicos (que cambiarán dinámicamente) de forma conjunta?
PS// Intenté hacer ambas cosas
De todos modos, se carga una instancia diferente de la biblioteca para cada EA.rlx:
Sigue cargando una instancia de biblioteca diferente para cada EA.Aún así: ¿Cómo puedo hacer que sólo se cargue una instancia de ex5?
Y los siguientes EA sólo se conectarán a esta instancia.
He hecho una biblioteca.
He creado un Asesor Experto, que incluye esta biblioteca.
1. No se carga ni un solo Asesor Experto. El proceso terminal.exe ocupa 91.000 KB.
2. Conectando un Asesor Experto a EURUSD. Proceso Terminal.exe -- 131 000 KB. (+41 MB).
3. Conecto el mismo Asesor Experto (adicionalmente) a GBPUSD. proceso terminal.exe - 171 000KB.(+41MB).
¿Cómo por medio de MT5 solamente (a través de clases o bibliotecas o scripts, EAs, etc.) crear acceso a datos específicos (que cambiarán dinámicamente) de forma conjunta?
PS// Intenté hacer ambas cosas
Sigue cargando una instancia de biblioteca diferente para cada EA.Tal vez se pueda implementar con variables globales del terminal. Es decir, ambas instancias utilizan variables terminales globales para los cálculos.
Creo que las variables globales del terminal pueden ayudarte, o escribir los datos en un archivo
Gracias por la sugerencia.
Tal vez haya otras formas.
Gracias por la sugerencia.
Tal vez haya otras formas.
Creo que no hay otras formas de utilizar los mismos datos por diferentes Asesores Expertos, scripts e indicadores
Ojalá pudiera.
Por ejemplo, me inventé una variante de este tipo. No se puede implementar a través de variables globales.
asesor.ex5
comerciante.ex5
Pasando el array!!! ¡¡¡Estructuras!!! a otro Asesor Experto que rellena este array.
Este código funciona correctamente. PERO trader.ex5 no se vincula a un advisor.ex5 ya en funcionamiento, sino que crea otra instancia deadvisor.ex5.