Errores, fallos, preguntas - página 341

 
Urain:

Es necesario enviar datos preprocesados a un indicador ya en funcionamiento. He decidido utilizar el texto del objeto gráfico como almacenamiento global de datos. Entiendo que la finalidad de los objetos gráficos es diferente y si hay alguna alternativa, me encantará escucharla.

Pero aquí me he encontrado con otra limitación de la lengua. La propia cadena admite una longitud casi infinita de caracteres. Bueno, probablemente la limitación se encuentra en algún lugar en el área de la limitación de las matrices en general. Y la cadena pasada como parámetro de un objeto gráfico está limitada a 63 caracteres. Como resultado, pasar un array como cadena requeriría un montón de objetos gráficos (sí, se me olvidó decir que uso encriptación, por eso la información en cadenas ocupa aproximadamente la misma cantidad de espacio que en el tipo original). Ahora, con los 63 caracteres actuales, sólo es posible pasar 15 pares de tiempo/precio a través de un objeto.

De ahí la pregunta: ¿podemos esperar que en el futuro el lenguaje elimine la limitación de la longitud del texto del objeto gráfico o habrá un mecanismo para pasar datos al hilo indicador?

Me he encontrado con el mismo problema, al generar un evento personalizado. Hay un límite de 63 símbolos, no toda la cadena....

Tuve que escribir una clase separada para pegar el mensaje de slices.... funciona ))))

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
AlexSTAL:

Me encontré con el mismo problema al generar un evento personalizado. Hay el mismo límite de 63 caracteres, no toda la cadena....

Tuve que escribir una clase separada para pegar el mensaje de slices.... funciona ))))

Sí, si no hubiera restricciones, también podrías usar eventos para enviar matrices de datos.
 
Urain:
Sí, si no hubiera restricciones, podrías usar eventos para enviar matrices de datos.

Todavía no soy capaz de intentar pasar un handle de objeto a través de un evento. Y el objeto contiene todos los datos necesarios.

Si es relevante en este momento, pruébalo e infórmate más tarde.

// Sería muy atractivo tener una memoria compartida controlable dentro del terminal. Al menos, sólo para objetos y matrices.

// Y al declarar dicho objeto, el modificador shared determinaría su ubicación a dicha memoria.

 
MetaDriver:

Todavía no consigo intentar pasar el handle del objeto a través de un evento. Y el objeto contiene todos los datos necesarios.

Si es relevante en este momento, pruébalo e infórmate más tarde.

El valor del handle se pasa correctamente, pero el hilo necesario carece de dicho handle. Por lo tanto, el valor no apunta a la manija requerida.
 
MetaDriver:

// Sería muy tentador tener una memoria compartida controlable-ficada dentro de la terminal. Al menos, sólo para objetos y matrices.

// Y al declarar dicho objeto, el modificador compartido definiría su ubicación en dicha memoria.

Algo así como una memoria terminal global disponible para todos los hilos.
 
Urain:
Algún tipo de memoria terminal global... disponible para todos los hilos.
Mm-hmm.
 
Urain:
El valor del manejador se pasa correctamente, pero no hay tal manejador en el hilo deseado. Por lo tanto, el valor ya no apunta a la manija correcta.
Lástima.
 
He descargado la compilación 420 de aquíhttps://www.mql5.com/ru/forum/23/page11 pero en realidad se instala la 412. ¿Tengo un problema o se han olvidado de cambiar el archivometaquotes.net?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Urain:
Algo así como una memoria de terminal global... disponible para todos los hilos.

La solución más sencilla para MQ sería dar los parámetros de la función

void OnChartEvent(const int id,const long &lparam[],const double &dparam[],const string &sparam[])

como parámetros de una función en lugar de variables, que existen ahora como parámetros. La solución, por supuesto, es unilateral, ya que seguirá sin haber forma de transferir datos entre EAs, pero sigue siendo mejor que nada.

 
Urain:

1. La solución más sencilla para MQ sería dar matrices de datos como parámetros de funciones en lugar de variables, que existen como parámetros ahora.

2. La solución es, por supuesto, unilateral, ya que seguirá sin haber posibilidad de transferir datos entre EAs, pero sigue siendo mejor que nada.

1. Sí, tal vez.

2. ¿Por qué no es posible? Cópialo para ti, consíguelo. Y lo que hay que transferir, se transfiere a través del siguiente mensaje.