TimeCurrent

Restituisce l'ultima ora conosciuta del server, l'ora dell'ultima quotazione ricevuta per uno dei simboli selezionati nella finestra "Market Watch". Nell'handler OnTick(), questa funzione restituisce l'orario dell'ultimo tick handler ricevuto. In altri casi (ad esempio, la chiamata negli handlers OnInit(), OnDeinit(), OnTimer() e così via), questa è l' orario della ricezione dell' ultima quotazione per qualsiasi simbolo disponibile nella finestra "Market Watch", l'orario indicato nel titolo di questa finestra. Il valore dell'orario è formato su un trade server e non dipende dalle impostazioni di orario sul tuo computer. Ci sono due varianti della funzione.

Chiamata senza parametri

datetime  TimeCurrent();

Chiamata con parametro di tipo MqlDateTime

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // variabile di tipo struttura
   );

Parametri

dt_struct

[out] MqlDateTime variabile di tipo struttura.

Valore restituito

Valore di tipo datetime

Nota

Se la variabile MqlDateTime di tipo struttura è stata passata come parametro, viene riempita di conseguenza.

Per organizzare contatori e timers ad alta risoluzione, utilizzare la funzione GetTickCount(), che produce valori in millisecondi.

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

Esempio:

void OnStart()
  {
//--- dichiara la variabile MqlDateTime che deve essere riempita con i dati di data/ora e ottiene l'ora dell'ultima quotazione dalla finestra Market Watch
   MqlDateTime tm={};
   datetime    time1=TimeCurrent();    // prima forma di chiamata: ora dell'ultima quotazione per uno dei simboli nella finestra Market Watch
   datetime    time2=TimeCurrent(tm);  // seconda forma di chiamata: ora dell'ultima quotazione per uno dei simboli nella finestra Market Watch con riempimento della struttura MqlDateTime
   
//-- visualizzare nel log il risultato della ricezione della data/ora e il riempimento della struttura con i dati corrispondenti
   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));
  /*
  risultato:
   Tick time2024.04.18 15:40:06
   - Year2024
   - Month04
   - Day18
   - Hour15
   - Min40
   - Sec06
   - Day of Year108
   - Day of Week4 (THURSDAY)
  */
  }