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

 
Roman:

Me he puesto a releer el tema e Igor ya ha escrito sobre ello.

Eso es lo que intentaba decir, Yuri, que hay que asignar memoria y registrar el hilo.
Igor dice que hay que asignar y registrar, mientras que tú dices que no necesitas hacer nada.
Por eso estoy mareado. El resultado es un punto muerto.

Igor estudió en la universidad como especialista, y debería entender más que nosotros, los autodidactas.
Desde el principio me incliné por la misma idea: que la memoria debe ser asignada e inicializada.
La inicialización y la asignación de memoria es la clave para una codificación correcta, porque no debe fluir y no debe ser una basura.

Así que mi pregunta a Igor, es que me explique cómo hacerlo en C++.
No con palabras, con un ejemplo, no entiendo nada ))

Hombre, no se puede hacer multihilo en los profesionales, no te ofendas. Pero si te apetece, sigue leyendo y descúbrelo:

https://en.cppreference.com/w/cpp/thread

https://en.cppreference.com/w/cpp/atomic

Si necesita un ejemplo, vea a continuación:

https://en.cppreference.com/w/cpp/thread/thread/join

https://en.cppreference.com/w/cpp/thread/async


Una vez más, este es un tema complicado, fácil de nagoconcienciar (por ejemplo, desengancharse de un hilo generado que destruye más tarde que los datos compartidos, la optimización del compilador en ausencia de una sincronización adecuada y un montón de cosas más).

 
Реter Konow:
Propongo utilizar el indicador como un portador de GUI, y los recursos - para la comunicación con el Asesor de Expertos. Además, en MT4, podrá controlar el probador de Asesores Expertos desde un gráfico estándar utilizando el panel. Todos los controles funcionarán, no sólo los botones. Podrás enviar textos y cualquier otra cosa al EA en prueba. Ya lo he probado. Todo funciona.

Peter, no lo entiendes.

Hay UN asesor. También se ejecuta adicionalmente en un gráfico invisible, sólo en modo agente. NO hay eventos en ejecución en el agente. Es decir, el recurso no puede llamarlo, el temporizador no se inicia, los ticks no llegan.

Si el indicador activa un EA, se trata de dos entidades.

El Asesor Experto puede crear tantos de estos agentes como quiera. Cada uno se convierte en un hilo independiente.

 
Andrey Barinov:

Peter, no lo entiendes.

Hay UN asesor. También se ejecuta adicionalmente en un gráfico invisible, sólo en modo agente. NO hay eventos en ejecución en el agente. Es decir, el recurso no puede llamarlo, el temporizador no se inicia, los ticks no llegan.

Si el indicador activa un EA, se trata de dos entidades.

El Asesor Experto puede tener tantos de estos agentes como quiera. Cada uno se convierte en un hilo independiente.

¿Te refieres a lanzarte en modo agente en una carta invisible? Eso es algo nuevo. No lo sabía.
 
Реter Konow:
¿Te refieres a que se ejecute en modo agente en un gráfico invisible? Eso es algo nuevo. No lo sabía.

ChartApplyTemplate

 
Andrey Barinov:

Peter, no lo entiendes.

...

Un asesor puede tener tantos agentes como quiera. Cada uno sale como un flujo separado.

Entonces, ¿el multithreading ya existe? ¿Y nadie aquí lo sabe?

 
Andrey Barinov:

Hay UN asesor. También se ejecuta solo.

El probador KB tiene el mismo principio. ¿Pudiste resolver el problema de la depuración de un EA de este tipo? Cuando el probador se hizo sobre este principio, el inconveniente de escribirlo estaba en la dificultad de la depuración.

 
Реter Konow:

¿Entonces resulta que el multithreading ya existe? ¿Y nadie aquí lo sabe?

Esto se llama "no escuchar a su interlocutor".

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Programación asíncrona y multihilo en MQL

fxsaber, 2019.07.25 12:16

Sólo en MQL, ambas tareas se resuelven mediante la ejecución automática de un recuento de EA.

 
Реter Konow:

¿Significa esto que el multithreading ya existe? ¿Y nadie aquí lo sabe?

Es un truco muy conocido. No lo he inventado yo. Lo inventé yo en un foro hace varios años.

 
fxsaber:

El probador CB tiene el mismo principio. ¿Pudiste resolver el problema de la depuración de un EA de este tipo? Cuando hacía el probador según este principio, el inconveniente de escribirlo era la dificultad de depuración.

Imprimir, ASSERT, DEBUG. No uso el depurador estándar en este caso...

 
Andrey Barinov:

Es un truco muy conocido. No lo he inventado yo. Lo conseguí en un foro hace unos años.

¿En qué medida este "multithreading" se corresponde con su noción? ¿Es posible dividir las tareas de un programa en hilos mediante esta función?
Razón de la queja: