TimeTradeServer

Returna a hora corrente calculada do servidor de negociação. Diferentemente de TimeCurrent(), o cálculo do valor da hora é realizado no terminal cliente e depende das configurações de hora em seu computador. Existem 2 variantes da função.

Chamar sem parâmetros

datetime  TimeTradeServer();

Chamar com parâmetro de tipo MqlDateTime

datetime  TimeTradeServer(
   MqlDateTime&  dt_struct      // Variável de tipo estrutura
   );

Parâmetros

dt_struct

[out]  Variável de tipo estrutura MqlDateTime.

Valor do Retorno

Valor de tipo datetime

Observação

Se uma variável de tipo estrutura MqlDateTime for passada como parâmetro, ela é preenchida de acordo.

Para obter contadores e timer de alta-resolução, use a função GetTickCount(), que produz valores em milissegundos.

Durante o teste no testador de estratégia, o tempo do servidor simuladoTimeGMT() é sempre igual ao TimeCurrent().

Exemplo:

void OnStart()
  {
//--- declaramos a variável MqlDateTime a ser preenchida com dados de data/hora e obtemos a hora da última cotação e a hora atual estimada do servidor de negociação
   MqlDateTime tm={};
   datetime    time_current=TimeCurrent();                  // primeria forma de chamada: hora da última cotação de um dos símbolos na janela Observação do mercado.
   datetime    time_server =TimeTradeServer(tm);            // segunda forma de chamada: hora atual calculada do servidor de negociação com o preenchimento da estrutura MqlDateTime
   int         difference  =int(time_current-time_server);  // diferença entre Time Current e Time Trade Server
   
//--- exibimos no log a hora da última cotação e a hora atual estimada do servidor de negociação com os dados da estrutura MqlDateTime preenchida.
   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
  */
  }