TimeCurrent

Retourne la dernière heure connue du serveur, l'heure d'arrivée de la dernière cotation pour l'un des symboles sélectionnés dans la fenêtre du "Market Watch". Dans la fonction OnTick(), cette fonction retournera l'heure du dernier tick traité. Dans les autres cas (par exemple, un appel depuis les gestionnaires OnInit(), OnDeinit(), OnTimer(), etc.) c'est l'heure de réception de la dernière cotation de n'importe quel symbole disponible dans la fenêtre du "Market Watch", l'heure affichée dans le titre de cette fenêtre. La valeur de l'heure est formée sur le serveur de trading et ne dépend pas des paramètres de l'ordinateur de l'utilisateur. Il existe 2 variantes de la fonction.

Appel sans paramètres

datetime  TimeCurrent();

Appel avec un paramètre du type MqlDateTime

datetime  TimeCurrent(
   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.

Pendant les tests dans le Testeur de Stratégie, TimeCurrent() est simulée en fonction des données de l'historique.

Exemple :

void OnStart()
  {
//--- déclare la variable MqlDateTime devant être remplie avec la date et l'heure, et récupère l'heure de la dernière cotation depuis la fenêtre du Market Watch
   MqlDateTime tm={};
   datetime    time1=TimeCurrent();    // première forme de l'appel : l'heure de la dernière cotation de l'un des symboles de la fenêtre du Market Watch
   datetime    time2=TimeCurrent(tm);  // deuxième forme d'appel : l'heure de la dernière cotation de l'un des symboles dans la fenêtre du Market Watch avec la structure MqlDateTime remplie
   
//--- affiche le résultat de la réception de la date/heure et remplit la structure avec les données correspondantes dans le journal
   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));
  /*
  Résultat :
   Tick time2024.04.18 15:40:06
   - Year2024
   - Month04
   - Day18
   - Hour15
   - Min40
   - Sec06
   - Day of Year108
   - Day of Week4 (THURSDAY)
  */
  }