TimeTradeServer

Retourne l'heure actuelle calculée du serveur de trading. Contrairement à TimeCurrent(), le calcul de l'heure est effectué dans le terminal client et dépend des paramètres d'heure de votre ordinateur.. Il existe 2 variantes de la fonction.

Appel sans paramètres

datetime  TimeTradeServer();

Appel avec un paramètre du type MqlDateTime

datetime  TimeTradeServer(
   MqlDateTime&  dt_struct      // variable du type de la structure
   );

Paramètres

dt_struct

[out]  Variable du type MqlDateTime.

Valeur de Retour

Valeur du type datetime

Note

Si la variable du type MqlDateTime a été transmise comme paramètre, elle est remplie de façon correspondante.

Pour utiliser les compteurs et la minuterie à haute précision, il faut utiliser la fonction GetTickCount() qui retourne la valeur en millisecondes.

Lors des tests dans le Testeur de Stratégie, TimeTradeServer() est simulé en fonction des données historiques et est toujours égal à TimeCurrent().

Exemple :

void OnStart()
  {
//--- déclare la variable MqlDateTime à remplir avec des données de date/heure et obtient l'heure de la dernière cotation et l'heure actuelle estimée du serveur de trading
   MqlDateTime tm={};
   datetime    time_current=TimeCurrent();                  // première forme de l'appel : heure de la dernière cotation d'un des symboles de la fenêtre du Market Watch 
   datetime    time_server =TimeTradeServer(tm);            // deuxième forme d'appel : heure actuelle estimée du serveur de trading avec le remplissage de la structure MqlDateTime
   int         difference  =int(time_current-time_server);  // différence entre Time Current et Time Trade Server
   
//--- affiche l'heure de la dernière cotation et l'heure actuelle estimée du serveur de trading avec les données de la structure MqlDateTime remplie dans le journal
   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);
  /*
  Résultat :
   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
  */
  }