Programación asíncrona y multihilo en MQL - página 32

 
Реter Konow:

¿Y cómo se recuperan los resultados de los cálculos?

En principio, podría escribirlos en un recurso, ¿no?

¿Y si necesitas pasar un array de datos para los cálculos? Dale una orden a través de OnChartEvent(), accederá al recurso, leerá los datos, realizará el cálculo y luego escribirá el resultado en el recurso?

Pero, de todos modos, ¿el comando puede ser dado sólo a través del EventChartCustom()?

¿Y si lo ponemos en bucle después de la primera llamada, para que llame constantemente y lea el recurso y ejecute comandos desde él?

Disculpe el gran número de preguntas. ))

Le espera una interesante época de experimentación.

Yo delego toda la lógica de las operaciones. No tengo que informar de los resultados, se puede acceder a ellos desde cualquier parte del terminal.

 
Andrey Barinov:

Le espera una interesante época de experimentación.

Yo delego toda la lógica de las operaciones. Sus resultados no necesitan ser comunicados en ningún lugar en particular, ya están disponibles desde cualquier lugar del terminal.

Gracias por toda su ayuda. He aprendido muchas cosas nuevas. Voy a experimentar y publicaré los resultados en este hilo. Pero no será rápido, ya que todavía tengo muchas tareas que resolver de antemano.

Estoy pensando así. Si cuando OBJ_CHART se inicia, se pone en bucle para leer el recurso, entonces puedes comunicarte con él más adelante a través de él, y hará todas las tareas que se le pasen y que pueda hacer el original que lo inició.


Añadido: la documentación dice que la plantilla no puede ser colocada en el EA como un recurso. Así que hay un problema de portabilidad. Pero! el EA puede crear una plantilla de sí mismo cuando sea necesario y además, cargarla y obligar a su copia a realizar sólo las funciones requeridas, comunicándose con ella a través de los recursos después de que sea bucle. Me pregunto si esta opción no falla en ningún momento, se puede cerrar el tema del multihilo.

 
Реter Konow:

Añadido: la documentación dice que la plantilla no puede ser colocada en el EA como un recurso. Así que hay un problema de portabilidad. Pero! el EA puede crear una plantilla de sí mismo cuando sea necesario y además, cargarla y obligar a su copia a realizar sólo las funciones requeridas, comunicándose con ella a través de los recursos después de que sea bucle. Curiosamente, si esta opción no falla en ningún momento, se puede cerrar el tema del multihilo.

La plantilla no necesita ser migrada a ninguna parte. Debe crearse una vez al inicio del EA principal (mientras no se creen agentes)

 
Andrey Barinov:

No es necesario mover la plantilla a ningún sitio. Debe crearse una vez al iniciar el EA principal (mientras no se crean agentes)

Me refería a la portabilidad de los programas que utilizan las plantillas. Puede crear muchas plantillas con diferentes funcionalidades y ejecutarlas, si es necesario, desde el EA principal. Pero un Asesor Experto de este tipo debe ser transferido junto con todas las plantillas de un ordenador a otro, porque no se pueden colocar en él.
 
Реter Konow:

Gracias por su ayuda. He aprendido muchas cosas nuevas. Experimentaré e informaré de los resultados en este hilo. Pero no será rápido, ya que todavía hay muchas tareas que completar antes.

Estoy pensando así. Si cuando OBJ_CHART se inicia, se pone en bucle para leer el recurso, entonces puedes comunicarte con él más adelante a través de él, y hará todas las tareas que se le pasen y que pueda hacer el original que lo inició.


Añadido: la documentación dice que la plantilla no puede ser colocada en el EA como un recurso. Así que hay un problema de portabilidad. Pero! el EA puede crear una plantilla de sí mismo cuando sea necesario y además, cargarla y obligar a su copia a realizar sólo las funciones requeridas, comunicándose con ella a través de los recursos después de que sea bucle. Me pregunto si esta opción no falla en ningún momento, se puede cerrar el tema del multihilo.

Es una solución interesante, pero falta otra de pleno derecho.
Además, no olvides que con este método no puedes crear más de 98 hilos.
El terminal no le permitirá abrir más de 99 gráficos. Y esto ya es una limitación de posibilidades.
Para los programas GUI en los que no se necesitan tantos hilos, la solución funciona bien, pero no es una opción cuando se necesitan más de 98 hilos.
¿Alguien ha comprobado cuánto tiempo se tarda en lanzar el agente experto con este enfoque? Cuando crea una copia de una plantilla, etc.
¿Cuál es el tiempo de coste en esta solución?

 
Roman:

Es una solución interesante, pero falta otra de pleno derecho.
Además, no olvides que con este método no puedes crear más de 98 hilos.
El terminal no le permitirá abrir más de 99 gráficos. Y esto ya es una limitación de posibilidades.
Para los programas GUI en los que no se necesitan tantos hilos, la solución funciona bien, pero no es una opción cuando se necesitan más de 98 hilos.
¿Alguien ha comprobado cuánto tiempo se tarda en lanzar el Asesor Experto en este enfoque? Cuando crea una copia de una plantilla, etc.
¿Cuál es el tiempo de coste en esta solución?

Estoy de acuerdo. Es una solución de muleta y, aunque se cumplan todas las esperanzas, sólo está al alcance de mí y de otras pocas personas que han desarrollado la tecnología de interprogramación. No funcionará para otros. Es un hecho.
 
Roman:

Es una solución interesante, pero falta otra de pleno derecho.
También hay que tener en cuenta que con este método no se pueden crear más de 98 hilos.
El terminal no le permitirá abrir más de 99 gráficos. Y esto ya es una limitación de posibilidades.
Para los programas GUI en los que no se necesitan tantos hilos, la solución funciona bien, pero no es una opción cuando se necesitan más de 98 hilos.
¿Alguien ha comprobado cuánto tiempo se tarda en lanzar el agente experto con este enfoque? Cuando crea una copia de una plantilla, etc.
¿Cuál es el tiempo de coste en esta solución?

No te gusta todo, así que estás en tu propio camino hacia el dll. Te he dejado enlaces al libro de referencia con ejemplos, ¿lo has mirado? ¿O te lo has perdido?

 
Vict:

No te gusta todo, así que estás en tu propio camino hacia el dll. Te he dejado enlaces al libro de referencia con ejemplos, ¿lo has visto? ¿O te lo has perdido?

Te has adelantado a mí con la respuesta ) Ahora mismo lo estoy revisando, gracias por los enlaces, es el adecuado para el tema de C++ ))
Y el hecho de que sea difícil o no, eso es otra cosa, tengo una comprensión de lo que es))
Me gusta todo )) diferentes enfoques para entender, y luego elegir el que tiene más sentido para mí y cumple con los requisitos, todo es simple.

 
Roman:

Te has adelantado con la respuesta ) Ahora mismo los miro, gracias por los enlaces, es bueno el tema de C++ ))
Y el hecho de que sea difícil o no, eso es otra cosa, tengo una comprensión de lo que es el futuro ))
Me gusta todo )) diferentes enfoques para entender, y luego elegir el que tiene más sentido para mí, todo es simple.

ok, hazme saber si necesitas algo, vamos a esbozar tu euentloop, creo ))

 
Реter Konow:
Es una solución de muleta

No, es un buen filtro de competencia.

Razón de la queja: