Servicios. ¿Ya están en marcha? - página 16

 
Slava :

Con el Terminal GlobalVariable, puede transferir hasta 8 bytes de información en una variable.

Para diferenciar el acceso de diferentes programas MQL5, puede utilizar GlobalVariableSetOnCondition

¿Qué pasa cuando tienes 1 GB de datos para transferir?
 
Alain Verleyen:
¿Qué, cuando tienes 1GB de datos para transferir?

¿A dónde va esa cantidad?

Puedes usar piping para transferir 1 giga.

 
Slava :

¿A dónde va tanto?

Puedes usar piping para transferir 1 giga.

No puedo explicar aquí por qué. Si quieres, te puedo enviar un mensaje privado explicando mi problema.

Sé que hay una solución utilizando una DLL o herramienta de terceros (la tubería necesita un servidor con canales), pero sólo me gustaría una solución MT5 / mql5.

 
Alain Verleyen:

Sólo me gustaría una solución MT5 / mql5.

Recursos.

 
fxsaber :

Recursos.

Sí. ¿Funciona con grandes cantidades de datos (1 GB o más)? Todavía no lo he probado.
 
Alain Verleyen:
Sí. ¿Funciona con grandes cantidades de datos (1 GB o más)? Todavía no lo he probado.

Cuando hay un reto real, es lógico intentar resolverlo primero.

 
fxsaber :

Cuando hay un reto real, es lógico intentar resolverlo primero.

Yo nunca haría eso, tipo gracioso.
 
Alain Verleyen:
Yo nunca haría eso, tipo gracioso.

¿Por qué no una transferencia de 100 GB? Esta es una pregunta retórica.

El código de verificación tiene menos de una docena de líneas.

 
Slava :

¿A dónde va eso?

Las tuberías pueden utilizarse para transferir 1 giga.

Bueno, en realidad puedo explicarlo aquí. Estoy trabajando en un sistema con ticks en la historia (varios años). Trabajamos en las barras, luego tenemos que analizar los ticks en algunas barras filtradas.

Cuando se utiliza CopyTicks / CopyTicksRange barra por barra es muy lento, así que tengo que cargar grandes cantidades de datos en la memoria (como 1GB) y entonces es mucho más rápido (al menos 5 veces más rápido).

Ahora, incluso la carga de grandes trozos de datos (ticks) en la memoria consume mucho tiempo si tienes que hacerlo en cada inicio, así que he empezado a hacerlo con un servicio para mantener los datos en la memoria. Y ahí tienes nuevos problemas.

Idealmente, obtener ticks por 1 barra (o múltiples barras) usando CopyTicks / CopyTicksRange no debería ser tan lento, pero probablemente sea inevitable.

Espero que el traslado sea bueno.

 
fxsaber :

¿Por qué no una transferencia de 100 GB? Esta es una pregunta retórica.

El código de verificación tiene menos de una docena de líneas.

Por favor, no contestes si no tienes nada que decir.

No me importa una pregunta retórica, tengo una pregunta práctica que resolver.