Errores, fallos, preguntas - página 2671

 

Chicos, acepté un trabajo como autónomo. Un cliente me envió el archivo en el último momento. Parece que fue descompilado. Quiero asegurarme de que es verdad antes de quejarme. Adjunto un trozo de código.

int f0_0(string As_0, int &Ai_8, int &Aia_12[]) {
   string Ls_16;
   if (StringLen(As_0) == 0) return (-1);
   string Ls_24 = As_0;
   int Li_32 = 0;
   Ai_8 = 0;
   ArrayResize(Aia_12, Ai_8);
   while (StringLen(Ls_24) > 0) {
      Li_32 = StringFind(Ls_24, ",");
      if (Li_32 > 0) {
         Ls_16 = StringSubstr(Ls_24, 0, Li_32);
         Ls_24 = StringSubstr(Ls_24, Li_32 + 1, StringLen(Ls_24));
      } else {
         if (StringLen(Ls_24) > 0) {
            Ls_16 = Ls_24;
            Ls_24 = "";
         }
      }
      if (f0_2(Ls_16, Ai_8, Aia_12) == 0) return (-2);
   }
   return (1);
}

Una de las funciones. Todas las variables y funciones tienen este aspecto.

 
Excepto las variables de la configuración del indicador, pero puede que se hayan cambiado antes que yo.
 
Dmitri Custurov:

Chicos, acepté un trabajo como autónomo. Un cliente me envió el archivo en el último momento. Parece que fue descompilado. Quiero asegurarme de que es verdad antes de quejarme. Adjunto un trozo de código.

Una de las funciones. Todas las variables y funciones tienen este aspecto.

Descompilar inequívocamente.
 
¿Cómo me separo del cliente en este caso? Se ha señalado el incumplimiento, pero el acuerdo ya se ha hecho. ¿Será imposible anularlo si no es a través de un arbitraje?
 
Dmitri Custurov:
¿Cómo me separo del cliente en este caso? Se ha señalado el incumplimiento, pero el acuerdo ya se ha hecho. ¿Será imposible anularlo si no es a través de un arbitraje?

Escriba al arbitraje. Lo he notificado a la administración.

 
Sergey Dzyublik:

Bug MT5(build 2340) utiliza el mismo código dos veces: primera pasada - compilación exitosa, segunda pasada - error de compilación.
Aparentemente los problemas están relacionados con la caché del generador de funciones de plantilla.

El error desaparece si para la función de plantilla "
void run(const T &ff)" se sustituye la transferencia por referencia por la transferencia por valor"void run(const T ff)".

Gracias por el mensaje, arreglado

 

Gracias a los desarrolladores por proporcionar la funcionalidad del espacio de nombres.
Sin embargo, ¿por qué MT5 (build 2361) carece completamente de soporte de intellisense para los espacios de nombres, incluso para los globales a través de ::?

Al mismo tiempo, hay soporte para intellisense para los métodos de clases estáticas, para bien o para mal.
Por lo tanto, desde el punto de vista del usuario, es lógico preguntarse: "¿Por qué no reutilizar el código responsable del intellisense en las clases para implementar el intellisense para los espacios de nombres?".

 
Bug MT5 (build 2361) reejecuta el script en el mismo gráfico cuando la primera ejecución aún no se ha completado y hace que el terminal se cuelgue.

El problema se observa para el proyecto principal donde se realizan "cálculos matemáticos" - allí el terminal se cuelga muerto.
El siguiente código puede tomarse como ejemplo para reproducirlo:
#define  K 1000
   
void OnStart(){    
   uint start = GetTickCount();
   printf("Start");
   while(GetTickCount() - start < 10*K){
      Sleep(1*K);   
      printf("Progress bar...");
   };
   printf("End");
}


La ejecución de la secuencia de comandos propuesta de nuevo en el mismo gráfico, cuando la primera ejecución está todavía incompleta, se produce sin mensaje de confirmación.
Se produce un cuelgue durante unos segundos - no hay salida de "Barra de progreso...", luego se establece la bandera de salida del terminal yel Sueño ya no se activa.
Para el proyecto principal, después de un cuelgue de varios segundos, el terminal no se desarrolla en absoluto - tengo que matar el proceso.

 

¿es posible obtener el número de pase del agente probador?


ZS: o necesitamos un identificador único de cada pase durante las pruebas para el nombre del archivo - quiero guardar la configuración del EA durante las pruebas en un archivo, pero necesitamos algo único para formar un nombre de archivo con la configuración

 
Igor Makanu:

¿es posible obtener el número de pase del agente probador?

Sólo existen los datos que están en el archivo opt. El formato está disponible.