TimeTradeServer

Devuelve la hora actual de calculación del servidor comercial. A diferencia de la función TimeCurrent(), el cálculo del valor de la hora se realiza en el terminal de cliente y depende de las configuraciones de hora en el ordenador de usuario. Existen 2 variantes de la función.

Llamada sin parámetros

datetime  TimeTradeServer();

Llamada con el parámetro del tipo MqlDateTime

datetime  TimeTradeServer(
   MqlDateTime&  dt_struct      // variable del tipo de estructura
   );

Parámetros

dt_struct

[out]  Variable del tipo de estructura MqlDateTime.

Valor devuelto

Valor del tipo datetime

Nota

Si la variable del tipo de estructura MqlDateTime ha sido pasada como un parámetro, entonces ella se rellena de modo correspondiente.

Para organizar los contadores y temporizadores de alta resolución, se debe utilizar la función GetTickCount() que ofrece los valores en millisegundos.

Durante el trabajo en el Probador de Estrategias, TimeTradeServer() siempre es igual a la hora modelada del servidor TimeCurrent().

Ejemplo:

void OnStart()
  {
//--- declaramos la variable MqlDateTime para rellenarla con los datos de fecha/hora y obtenemos la hora de la última cotización y la hora actual estimada del servidor comercial
   MqlDateTime tm={};
   datetime    time_current=TimeCurrent();                  // forma de primera llamada: hora de la última cotización de uno de los símbolos en la ventana «Observación de Mercado».
   datetime    time_server =TimeTradeServer(tm);            // segunda forma de llamada: calculamos la hora actual del servidor comerciales rellenando la estructura MqlDateTime
   int         difference  =int(time_current-time_server);  // diferencia entre Time Current y Time Trade Server
   
//--- mostramos en el registro la hora de la última cotización y la hora actual estimada del servidor comercial con los datos de la estructura MqlDateTime rellenada
   PrintFormat("Time Current: %s\nTime Trade Server: %s\n- Year: %u\n- Month: %02u\n- Day: %02u\n"+
               "- Hour: %02u\n- Min: %02u\n- Sec: %02u\n- Day of Year: %03u\n- Day of Week: %u (%s)\nDifference between Time Current and Time Trade Server: %+d",
               (string)time_current, (string)time_servertm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_week,
               EnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week), difference);
   /*
  Resultado
   Time Current2024.04.18 16:10:14
   Time Trade Server2024.04.18 16:10:15
   - Year2024
   - Month04
   - Day18
   - Hour16
   - Min10
   - Sec15
   - Day of Year108
   - Day of Week4 (THURSDAY)
   Difference between Time Current and Time Trade Server: -1
   */
  }