Librerías: MultiTester - página 26

 
traveller00:

1. Yo cambiaría de GetTickCount() a GetTickCount64() en Sleep2. De lo contrario, el desbordamiento amenaza la lógica no del todo correcta. Y ocurre notablemente menos a menudo en la variante 64. En otros trabajos, podría valer la pena cambiar también.

Allí, incluso teóricamente, no puede haber amenaza de desbordamiento.

void OnStart()
{
  uint StartTime1 = UINT_MAX - 100;
  uint StartTime2 = UINT_MAX + 100;
  
  Print(StartTime2 - StartTime1); // 200 
}

2. El segundo ArrayResize plantea preguntas aquí

Lo más probable es que debería ser

No, todo es correcto allí. La documentación miente.

3. Y por último algunos tipos diferentes.

Arreglado, gracias.

 
fxsaber:

Ni siquiera teóricamente puede haber una amenaza de desbordamiento.

Sí, tienes razón, no estaba atento. En este caso no hay realmente ninguna diferencia.

Pero en ThirdPartyTicks -> Web.mqh parece haber una diferencia.

    ulong StartTime = ::GetTickCount();
...
    StartTime = ::GetTickCount() - StartTime;

Por eso uso la variante de 64 bits en todas partes por si acaso.


fxsaber:

No, todo es correcto allí. La documentación está mal.

Yo uso el siguiente código

    ushort Shorts[];
    MTTESTER::FileLoad(FileName,Shorts);

Dentro de FileLoad habrá Size=1000, tamaño del array 500 y después de leer Read=Size=1000. Y entonces mi variante es correcta. Aquí me basé en MSDN y este comportamiento está de acuerdo con ella.

 
traveller00:

Utilizo el siguiente código

Dentro de FileLoad será Size=1000, tamaño del array 500 y después de leer Read=Size=1000. Y entonces mi variante es correcta. Aquí me basé en MSDN y este comportamiento está de acuerdo con ella.

Tengo 500.

 
fxsaber:

Tengo 500.

Es extraño, acabo de comprobarlo y coincide con MSDN. Pero si nadie tiene ninguna pregunta y todo funciona, entonces bien, no veo el punto de cavar en los detalles.

 

Si alguien lo ha hecho, por favor comparta el esquema de organización del trabajo con los resultados de optimizaciones anteriores mientras el Probador está ocupado con la optimización actual.


Está claro que necesitamos copiar archivos opt y símbolos. Probablemente la forma más razonable es a través de mklink.

 
fxsaber:

Si alguien lo ha hecho, por favor comparta el esquema de organización del trabajo con los resultados de optimizaciones anteriores mientras el Probador está ocupado con la optimización actual.


Está claro que necesitamos copiar archivos opt y símbolos. Probablemente la forma más razonable es a través de mklink.

Yo uso un enlace a la carpeta caché. Sólo que no con mklink, sino en el gestor de archivos Far Commander. Pero es lo mismo.
Puedes organizar el acceso a los archivos fuera del sandbox y con WinAPI, pero es preferible usar enlaces.
En principio, no necesito nada más, pero si es necesario crear enlaces a otras carpetas.
¿Por esquema de organización del trabajo te refieres a algún otro detalle?
 
Edgar Akhmadeev:
¿Por esquema de organización del trabajo entiende algún otro detalle?

Observe los archivos opt y ejecute pases individuales a partir de ellos.

 

Personalmente, intento no utilizar varios terminales en una misma carpeta. Su fabricación es muy peculiar. Si se cae tranquilamente, lo descubrirás una semana después por accidente.

Y así funciona a través de vin api.

 
Hola. ¿Es posible cambiar uno de los parámetros de EA mediante programación y ejecutar una sola prueba?
 
pivomoe:
Hola. ¿Es posible cambiar uno de los parámetros de EA mediante programación y ejecutar una sola prueba?

MTTester biblioteca le permite hacer absolutamente todo lo que un usuario puede hacer a través de GUI.