TimeCurrent

Retorna a última hora conhecida do servidor, hora da última cotação recebida para um dos ativos selecionados na janela "Observação de Mercado". No handler OnTick(), esta função retorna a hora do tick recebido, que está sendo tratado. Em outros casos (por exemplos, chamar nos handlers OnInit(), OnDeinit(), OnTimer() e assim por diante), esta função retorna a hora da última cotação recebida para qualquer ativo disponível na janela "Observação de Mercado", a hora exibida no cabeçalho desta janela. O valor da hora é formado em servidor de negociação e não depende das configurações de hora em seu computador. Existem 2 variantes da função.

Chamar sem parâmetros

datetime  TimeCurrent();

Chamar com parâmetro de tipo MqlDateTime

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // variável de tipo estrutura
   );

Parâmetros

dt_struct

[out] MqlDateTime variável de tipo estrutura.

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.

During testing in the strategy tester, TimeCurrent() is simulated according to historical data.

Exemplo:

void OnStart()
  {
//--- declaramos a variável MqlDateTime a ser preenchida com dados de data/hora e obter a hora da última cotação da janela Observação do mercado
   MqlDateTime tm={};
   datetime    time1=TimeCurrent();    // primeiro formato de chamada: hora da última cotação de um dos símbolos na janela Observação do mercado.
   datetime    time2=TimeCurrent(tm);  //segunda forma de chamada: hora da última cotação de um dos símbolos na janela Observação do mercado com o preenchimento da estrutura MqlDateTime
   
//--- exibimos no log o resultado da obtenção da data/hora e do preenchimento da estrutura com os dados correspondentes
   PrintFormat("Tick time: %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)",
               (string)time1tm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_weekEnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week));
  /*
  Resultado
   Tick time2024.04.18 15:40:06
   - Year2024
   - Month04
   - Day18
   - Hour15
   - Min40
   - Sec06
   - Day of Year108
   - Day of Week4 (THURSDAY)
  */
  }