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

 
Andrey Barinov:

Imprimir, ASSERT, DEBUG. No uso el depurador interno en este caso...

Sí, es un inconveniente. Casi como en el antiguo MQL4.

 
Реter Konow:
¿Y cómo se corresponde ese "multithreading" con su noción? ¿Es posible dividir las tareas del programa en hilos mediante esta función?

Para ciertas tareas 100%. Por ejemplo, es necesario gestionar las operaciones - Arrastre o algo más.

Esta tarea puede realizarse en el agente en cada tic durante todo el tiempo que se quiera y la GUI seguirá funcionando.

 
Andrey Barinov:

Con este esquema, las protecciones se hacen

  • Contra alguien que cierra OBJ_CHART. Por ejemplo, el guión "inteligente" de alguien.
  • El mecanismo de la evicción amigo-enemigo no es sólo por ID.
Intercambio de datos a través de archivos: ¿no hay problemas físicos con el disco? Me parece que todos los copiadores del mercado están haciendo algo horrible debido a esta sincronización.


¿Qué bandera utiliza para identificar el modo EA esclavo/maestro? Si uso OBJ_CHART entonces es un esclavo. ¿Y en MT4? Mi entrada era datetime, así que lo resolví fácilmente usando un datetime negativo. Pero no lo he probado sin aportación.

 
Andrey Barinov:

Para ciertas tareas 100%. Por ejemplo, es necesario gestionar las operaciones - Arrastre o algo más.

Esta tarea puede realizarse en el agente en cada tic durante todo el tiempo que se quiera y la GUI seguirá funcionando.

Sigue siendo un bosque oscuro. La función guarda la plantilla del gráfico y luego, ¿puedo abrir un nuevo gráfico del EA y aplicarle la plantilla guardada, y al hacerlo, una copia del EA se ejecutará en ese gráfico?
 
fxsaber:

Con este esquema, las protecciones se hacen

  • Contra alguien que cierra OBJ_CHART. Por ejemplo, el guión "inteligente" de alguien.
  • El mecanismo de la evicción amigo-enemigo no es sólo por ID.
Intercambio de datos a través de archivos: ¿no hay problemas físicos con el disco? Me parece que todos los copiadores del mercado están haciendo algo horrible debido a esta sincronización.

Sí, la protección es necesaria, como siempre.

Los archivos deben utilizarse con prudencia. Sólo cuando sea necesario. Sólo se sincronizan los momentos de cambios significativos de entorno/estado que el propio agente no puede reconocer.

Los copiadores suelen trabajar en un VPS, así que no es un gran problema.

 
Andrey Barinov:

Los imitadores suelen trabajar en un VPS, así que no da mucho miedo.

Pobre VPS... arriba complementó la pregunta.

 
Реter Konow:
Sigue siendo un bosque oscuro. La función crea una copia guardada del gráfico y luego, ¿puedo abrir un nuevo gráfico desde el EA y ejecutar la plantilla guardada en él, y al hacerlo, la copia del EA se ejecutará en ese gráfico?

1.El usuario coloca el EA en un gráfico en blanco.

2. El EA crea una plantilla (con ella misma en el gráfico)

3. El Asesor Experto crea un nuevo gráfico (OBJ_CHART o un gráfico normal en el caso de MT4)

4. El Asesor Experto aplica la plantilla al nuevo gráfico.

5. Una copia del EA se inicia en el nuevo gráfico, ahora debería entender que este es el agente, no el EA principal :)

6. Empiezan a comunicarse.

Viven felices para siempre y mueren el mismo día :)

 
fxsaber:

Pobre VPS... arriba complementó la pregunta.

No se puede hacer una copia sin archivos (para el mercado). Y los archivos de sincronización del entorno comercial entre terminales requieren muchas más operaciones que la sincronización entre agentes.


El agente en MT4 está determinado por la presencia de variables globales apropiadas que son establecidas por el EA principal antes de aplicar una plantilla a un nuevo gráfico.

 
fxsaber:

Pobre VPS... arriba complementó la pregunta.

Hay que tener en cuenta que el sistema operativo no axe escribe en el disco, sino que sabe cómo cachear. No recuerdo dónde, pero incluso hay un ajuste en alguna parte del viento.

 
Andrey Barinov:

1.El usuario coloca el EA en un gráfico en blanco.

2. El EA crea una plantilla (con ella misma en el gráfico)

3. El Asesor Experto crea un nuevo gráfico (OBJ_CHART o un gráfico normal en el caso de MT4)

4. El Asesor Experto aplica la plantilla al nuevo gráfico.

5. Una copia del EA se inicia en el nuevo gráfico, ahora debería entender que este es el agente, no el EA principal :)

6. Empiezan a comunicarse.

Viven felices para siempre y mueren el mismo día :)

Impresionante!)) Gracias.

Sí, ese es el que tiene el multihilo. Es necesario ejecutar para cada tarea pesada una copia del EA en un gráfico separado a través de una plantilla y decirle a esa copia que sólo realice la función que usted quiere que realice. Las demás funciones de la copia pueden descansar.

¿Funcionará la comunicación a través de recursos con copias en gráficos normales (no OBJ_CHART)? ¿O hay alguna restricción?