SymbolInfoSessionQuote

Permet d'obtenir l'heure de début et de fin des sessions de cotation spécifiées pour un symbole et un jour de la semaine spécifiés.

bool  SymbolInfoSessionQuote(
   string            name,                // le nom du symbole
   ENUM_DAY_OF_WEEK  day_of_week,         // le jour de la semaine
   uint              session_index,       // le numéro de la session
   datetime&         from,                // l'heure du début de la session
   datetime&         to                   // l'heure de fin de la session
   );

Paramètres

name

[in]  Le nom du symbole.

ENUM_DAY_OF_WEEK

[in]  Jour de la semaine, correspondant à l'une des valeurs de l'énumération ENUM_DAY_OF_WEEK.

uint

[in]  Le numéro de la session, pour laquelle vous souhaitez obtenir l'heure du début et de fin. L'indexation des sessions commence à 0.

from

[out]  L'heure de début de la session depuis 00:00. La date obtenue dans le résultat doit être ignorée.

to

[out] L'heure de fin de la session depuis 00:00. La date obtenue dans le résultat doit être ignorée.

Valeur de retour

Retourne true si les données pour la session indiquée, le symbole et le jour de la semaine ont été obtenue avec succès, sinon retourne false.

Exemple :

#define SYMBOL_NAME   Symbol()
#define SESSION_INDEX 0
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- affiche l'en-tête avec le symbole et le numéro de la session SESSION_INDEX et
//--- dans une boucle sur les jours de la semaine du lundi au vendredi, affiche les heures de début et de fin des sessions de cotations dans le journal
   PrintFormat("Symbol %s, Quote session %d:"SYMBOL_NAMESESSION_INDEX);
   for(int i=MONDAYi<SATURDAYi++)
      SymbolInfoSessionQuotePrint(SYMBOL_NAME, (ENUM_DAY_OF_WEEK)iSESSION_INDEX);
   /*
   résultat :
   Symbol RU000A103661Quote session 0:
   - Monday     06:45 - 00:00
   - Tuesday    06:45 - 00:00
   - Wednesday  06:45 - 00:00
   - Thursday   06:45 - 00:00
   - Friday     06:45 - 00:00
   */
  }
//+------------------------------------------------------------------+
//| Ajoute au journal les heures de début et de fin de la session    |
//| pour le symbole et le jour de la semaine spécifiés               |
//+------------------------------------------------------------------+
void SymbolInfoSessionQuotePrint(const string symbolconst ENUM_DAY_OF_WEEK day_of_weekconst uint session_index)
  {
//--- déclare les variables pour récupérer les heures de début et de fin de la session de cotations
   datetime date_from;  // heure de début de la session
   datetime date_to;    // heure de fin de la session
   
//--- récupère les données de la session de cotation par symbole et jour de la semaine
   if(!SymbolInfoSessionQuote(symbolday_of_weeksession_indexdate_fromdate_to))
     {
      Print("SymbolInfoSessionQuote() failed. Error "GetLastError());
      return;
     }
     
//--- crée le nom du jour de la semaine depuis la constante de l'énumération
   string week_day=EnumToString(day_of_week);
   if(week_day.Lower())
      week_day.SetChar(0ushort(week_day.GetChar(0)-32));
 
//--- envoie les données de la session de cotations spécifiée dans le journal
   PrintFormat("- %-10s %s - %s"week_dayTimeToString(date_fromTIME_MINUTES), TimeToString(date_toTIME_MINUTES));
  }

Voir aussi

Propriétés du Symbole, TimeToStruct, Structures de Date