TimeTradeServer

Restituisce l'orario corrente calcolato del server di trade. A differenza di TimeCurrent(), il calcolo del valore dell'ora viene eseguito nel terminale cliente e dipende dalle impostazioni dell'ora del computer. Ci sono due varianti della funzione.

Chiamata senza parametri

datetime  TimeTradeServer();

Chiamata con parametro di tipo MqlDateTime

datetime  TimeTradeServer(
   MqlDateTime&  dt_struct      // Variabile di tipo struttura
   );

Parametri

dt_struct

[out]  Variabile di tipo struttura MqlDateTime.

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.

Durante il test nel tester di strategia, TimeTradeServer() è sempre uguale a TimeCurrent() ora del server simulata.

Esempio:

void OnStart()
  {
//--- dichiarare la variabile MqlDateTime che deve essere riempita con dati di data/ora e ottenere l'ora dell'ultima quotazione e l'ora corrente stimata del server di trade
   MqlDateTime tm={};
   datetime    time_current=TimeCurrent();                  // prima forma di chiamata: ora dell'ultima quotazione per uno dei simboli nella finestra Market Watch
   datetime    time_server =TimeTradeServer(tm);            // seconda forma di chiamata: ora corrente stimata del server di trade con il riempimento della struttura MqlDateTime
   int         difference  =int(time_current-time_server);  // differenza tra Time Current e Time Trade Server
   
//-- visualizza nel log l'ora dell'ultima quotazione e l'ora corrente stimata del server di trade con i dati della struttura MqlDateTime riempita
   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);
  /*
  risultato:
   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
  */
  }