Errores, fallos, preguntas - página 2763

 

¿Por qué el resultado del script es de 1-2 segundos en el informe, pero de más de un minuto?

#include <(MyLib)\CGraphicObjects\CMyButton.mqh>CMyButton but;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print("Начали");
// ===================================================================
   int total = 10000;
   for(int i = 0; i < total; i++)
      but.Create("Push" + (string)i, 32, 32, 30, 30);
// ===================================================================
   ulong mass[100];
   ArrayInitialize(mass, 0);
// ===================================================================
   for(int k = 0; k < 100; k++)
     {

      ulong  start = GetMicrosecondCount();

      for(int i = 0; i < total; i++)
         color col = but.ColorBG();

      mass[k] = GetMicrosecondCount() - start;
     }
// ===================================================================
   Print("Массив");
   ulong rez = 0;
   for(int i = 0; i < 100; i++)
      rez += mass[i];

   Print("Старый способ Итог: " + IntegerToString(rez / 100)+" Sec "+ IntegerToString(rez / 100/1000000));

  }
//+------------------------------------------------------------------+

El script funcionó y desde el inicio hasta la descarga tarda un minuto o más.

Pero el script escribe obstinadamente que funcionó durante 1 - 2 segundos, ¿qué puede ralentizar tanto el PC?

2020.06.01 11:34:26.680 Velocidad de prueba (EURUSD,M15) Inicio

2020.06.01 11:37:34.067 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:37:34.067 Velocidad de prueba (EURUSD,M15) Camino más antiguo Total: 1870971ms Sec 1

2020.06.01 11:39:32.283 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:42:24.664 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:42:24.664 Velocidad de la prueba (EURUSD,M15) Camino antiguo Totales: 1652839ms Sec 1


 
Vladimir Pastushak:

¿Por qué el resultado del script es de 1-2 segundos en el informe, pero de más de un minuto?

El script funcionó y desde el inicio hasta la descarga tarda un minuto o más.

Pero el script escribe obstinadamente que funcionó durante 1 - 2 segundos, ¿qué puede ralentizar tanto el PC?

2020.06.01 11:34:26.680 Velocidad de prueba (EURUSD,M15) Inicio

2020.06.01 11:37:34.067 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:37:34.067 Velocidad de prueba (EURUSD,M15) Camino más antiguo Total: 1870971ms Sec 1

2020.06.01 11:39:32.283 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:42:24.664 Velocidad de prueba (EURUSD,M15)

2020.06.01 11:42:24.664 Velocidad de la prueba (EURUSD,M15) Camino antiguo Total: 1652839ms Sec 1


Porque imprime el tiempo de una iteración del bucle, no el tiempo de ejecución del script.

 
Desarrolladores, hagan algo con las operaciones en el gráfico ya. Cuando hay muchos, no se puede ver el gráfico, hay que borrarlo cada vez con un nuevo trato.
 
Alexey Viktorov:

Porque imprime el tiempo por iteración del bucle, no el tiempo de ejecución del script.

El script procesa 10.000 objetos en un bucle 100 veces, para un total de 1.000.000

Utilizo mass[k] para registrar el tiempo de cada pasada del bucle

a continuación, calcular el pase medio

ulong rez = 0;

for(int i = 0; i < 100; i++)

rez += masa[i];

rez /100

No debes haber mirado de cerca el guión

 
¿Alguien tiene un enlace al archivo de la compilación 2470? Mi MT no quiere actualizarse - dice que hay una nueva compilación, crea una carpeta liveupdate/temp vacía en "roaming", pero luego el error "download 'MT5CLW64' failed" en el registro. Por lo general, google drive de Andrey Khatimlianskii viene al rescate ;-), pero hasta ahora sólo hay 2460.
 

¿Qué demonios es esto?

2020.06.01 12:20:03.695 Error de lectura del contenedor 'BR-7.20' [La operación se ha completado con éxito. (0)

Y en general, hay algún error con CopyTicks en la última versión.

 
Dmitriy Skub:

Y en general, en la última versión hay algún error con CopyTicks.

Antes de los cálculos siempre cargo todos los ticks, que se perdieron desde los últimos cálculos, a través de CopyTicksRange. No he notado ningún problema.

 
fxsaber:

Antes de los cálculos, siempre cargo todos los ticks que se han perdido desde el último cálculo, usando CopyTicksRange. No he notado ningún problema.

¿Cambiaron algo en los formatos de llamada de CopyTicks o alguna bandera?

El EA empezó a colgarse, que estaba copiando tranquilamente los ticks a un archivo en tiempo real durante los últimos 5 años.

 
Dmitriy Skub:

¿No cambiaron nada en los formatos de llamada de CopyTicks o alguna bandera allí?

Hace tiempo que me cambié a CopyTicksRange. Con ella el vuelo es normal.

 

En la compilación 2470, si aprendemos el Mango del indicador desde el propio indicador, entonces es imposible borrar el indicador.

El indicador se elimina de la lista de indicadores en ejecución, pero funciona en segundo plano.

No se llama a OnDeinit.