¡Necesito ayuda! No puedo resolver el problema, me encuentro con limitaciones de hardware - página 21

 
elugovoy:
¿Tal vez milisegundos? En los sistemas operativos basados en Windows en microsegundos, la medición simplemente no se puede hacer...

Lo siento, que no sepas cómo hacerlo no significa que no sea posible:

El código que usa Yurich, incluso en la terminal:

#import "kernel32.dll"
bool QueryPerformanceCounter(ulong &ticks);
bool QueryPerformanceFrequency(ulong &freq);
#import
//---
void OnStart()
{
   ulong t1, t2, st;
   QueryPerformanceFrequency(st);
   if(st>1000)
   {
      st=(ulong)1 e9/st;
      QueryPerformanceCounter(t1);
      Sleep(20);
      QueryPerformanceCounter(t2);
      Print("Tик таймера=",st," нс. // Sleep(20) = ",(t2-t1)*st," нс.");
   }else Print("Таймер высокого разрешения не поддерживается");
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dn553408

Acquiring high-resolution time stamps (Windows)
Acquiring high-resolution time stamps (Windows)
  • msdn.microsoft.com
QPC is independent of and isn't synchronized to any external time reference. To retrieve time stamps that can be synchronized to an external time reference, such as, Coordinated Universal Time (UTC) for use in high-resolution time-of-day measurements, use GetSystemTimePreciseAsFileTime. Time stamps and time-interval measurements are an...
 
Mikalas:

No estoy subestimando las habilidades y capacidades del terminal, pero

cuando hace un par de años necesité extraer datos de un archivo de 1,21Gb, con 21.345.728(!) líneas,

Inténtalo de nuevo. En dos años, el lenguaje MQL4 (si se hace en él) ha sido completamente reescrito y el funcionamiento de los archivos también.


El tiempo de búsqueda fue de 35-45 MICROSECUNDOS según el método que mencioné ,
¿Qué método exactamente?
 
Renat:
Inténtalo de nuevo. En dos años el lenguaje MQL4 (si es que se hizo en él) ha sido completamente reescrito y el trabajo de los archivos ha sido completamente reescrito.


¿Qué método exactamente?

El método de preparación de los datos.

En mi caso, se veía así:

 
Mikalas:

El método de preparación de los datos.

En mi caso, se veía así:

En tu caso sólo tienes que coger la MT5 x64 y leer todo en la memoria de una sola vez. A continuación, un rápido escaneo de una sola pasada a los bordes de la derecha para trazar los desplazamientos.

En 2014, un expediente de algún bolo no va a asustar a nadie.

 
Renat:

En tu caso solo toma MT5 x64 y lee todo en la memoria de una sola vez. A continuación, un rápido escaneo de una sola pasada a los bordes de la derecha para trazar los desplazamientos.

En 2014 un archivo de un bolo no asusta a nadie.

Gracias, pero yo no tengo un problema, el problema lo tiene komposter.

Ya te conté cómo lo resolví antes (sólo una vez, no hace falta más).

P/S Ni siquiera puedo encontrar mi código fuente en el archivo para dárselo a komposter

como ejemplo.

 
Mikalas:

Lo siento, que no sepas cómo hacerlo no significa que no sea posible:

El código que usa Yurich, incluso en la terminal:

http://msdn.microsoft.com/en-us/library/windows/desktop/dn553408

Gracias, realmente no lo sabía. Un día de estos echaré un vistazo a este reloj.