Errores, fallos, preguntas - página 2436

 
Slava:

Siempre hay que terminar de leer los cuadros en OnTesterDeinit. Es como nuestro Padre Nuestro.

¿Para qué?

Luego se quejan de que faltan cuadros.

No he perdido nada.


Un archivo mqd está perfectamente formado (sin pérdidas) incluso utilizando un Asesor Experto como este

input int Range = 1; // 1..10

double OnTester()
{
  uchar Data[];
  
  FrameAdd(NULL, 0, 0, Data);
  
  return(0);
}


Después lo leí a través de la tablatura añadida de un tirón.

 
fxsaber:

¿Por qué?

No pierdo nada.


El archivo mqd está perfectamente formado (sin pérdidas), incluso por un Asesor Experto de este tipo


Después lo he leído a través de la tabla añadida de un tirón.

Los fotogramas se pierden incluso en los cálculos matemáticos rápidos si no se leen después de la optimización.

La red no es perfecta
Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
 
Slava:

Los fotogramas desaparecen incluso en los cálculos matemáticos rápidos si no se termina de leer después de la optimización.

La red no es perfecta

Por lo visto, mis ideas sobre los marcos son erróneas, ya que parece que dices tonterías.

Los marcos no necesitan ser leídos para ser escritos. Dime entonces cómo funciona realmente. No he trabajado con marcos a través de la Nube.

Tal y como yo lo veo, un marco sólo está disponible si lo añades a un archivo mqd.

 
fxsaber:

Por lo visto, mis ideas sobre los marcos son erróneas, ya que parece que dices tonterías.

No es necesario leer los cuadros para escribirlos. Dime entonces cómo funciona realmente. No he trabajado con marcos a través de la Nube.

Tal y como yo lo veo, un marco sólo está disponible si se añade al archivo mqd.

Eso es correcto. El marco está disponible siempre que se añada al archivo mqd. Es a partir de ahí que se lee por las funciones del marco

 
Slava:

Esto es correcto. Un marco está disponible siempre que se añada al archivo mqd. Es a partir de ahí que se lee por las funciones del marco

Entonces, si entiendo bien, los que reclaman la pérdida de fotogramas deberían comprobar su presencia en OnTesterDeinit.

Yo no tuve ese problema. La biblioteca fue escrita para el acceso a los marcos en el modo normal del Asesor Experto en la Terminal.


No he entendido de qué son responsables los últimos 16 bytes.

struct FRAME
{
  ulong Pass;
  long ID;
  short String[64];
  double Value;
  int SizeOfArray;
  long Tmp[2];
 
Slava:

Siempre hay que terminar de leer los cuadros en OnTesterDeinit. Esto es como nuestra patria.

Luego la gente se queja de que faltan cuadros.

Es la primera vez que oigo hablar de esta "Oración del Padre Nuestro". ¿Dónde dice eso? ¿No se debería llamar a OnTesterDeinit después de recibir todas las tramas en el terminal? ¿O puede saltar por encima de otros eventos (en particular OnTesterPass) que están en la cola de eventos? Si es así, debería mencionarse en la documentación, porque es un comportamiento atípico.

Si te refieres a una detención forzada de las pruebas por parte de un usuario, entonces no tiene sentido hablar de la desaparición de los marcos en absoluto.

 
Alexey Navoykov:

Es la primera vez que oigo hablar de este "Padre Nuestro". ¿Dónde dice eso? ¿No se debería llamar a OnTesterDeinit después de recibir todas las tramas en el terminal? ¿O puede saltar sobre otros eventos (en particular OnTesterPass) en la cola de eventos? Si es así, debería mencionarse en la documentación, porque es un comportamiento atípico.

Si te refieres a una terminación forzada de las pruebas por parte de un usuario, no tiene sentido hablar de la desaparición de los marcos.

Se puede llamar fácilmente a OnTesterPass al final de un pase, pero en este punto, los datos de la trama pueden no llegar al pase debido a la imperfección de la red.

Cuando la gente dice que se pierden fotogramas, a menudo se refiere a que OnTesterPass no puede captarlo todo.

Siempre se puede obtener todo en OnTesterDeinit, porque el Optimizador en el lado de la Terminal detiene su trabajo no cuando los Agentes han contado todo, sino cuando espera hasta que lleguen todos los cuadros.

 
fxsaber:

OnTesterPass puede ser llamado fácilmente al final de un pase, pero los datos de la trama del pase pueden no llegar a este punto porque la red no es perfecta.

¿Así que se llama a OnTesterPass sin que haya fotogramas presentes? Pues entonces es un error evidente. Este evento significa recibir un fotograma, no el final de un pase.

Todos los cuadros deben llegar a OnTesterPass antes de que se llame al evento OnTesterDeinit. Es una lógica normal y saludable. A menos que, de nuevo, estemos hablando de una interrupción forzada de la prueba.

 
Alexey Navoykov:

¿Así que se llama a OnTesterPass sin que haya fotogramas presentes? Pues entonces es un error evidente. Este evento significa recibir un fotograma, no el final de un pase.

Todos los cuadros deben llegar a OnTesterPass antes de que se llame al evento OnTesterDeinit. Es una lógica normal y saludable. A menos que, de nuevo, estemos hablando de una interrupción forzada de la prueba.

Al parecer, me he equivocado. Pensaba que el evento TesterPass era la llegada de los datos del pase

Core 1  pass 0 returned result 100000.00 in 0:00:00.433
Core 1  pass 1 returned result 100000.00 in 0:00:00.001
Core 1  pass 2 returned result 100000.00 in 0:00:00.001
Core 1  pass 3 returned result 100000.00 in 0:00:00.001
 
Quién irrumpiría en el formato opt...
Razón de la queja: