SymbolInfoSessionTrade

Permet de recevoir le temps du début et le temps de la fin de la session commerciale indiquée pour le symbole et le jour de la semaine indiqués.

bool  SymbolInfoSessionTrade(
   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,                // le temps du début de la session
   datetime&         to                   // le temps de la fin de la session
   );

Les paramètres

name

[in]  Le nom du symbole.

ENUM_DAY_OF_WEEK

[in]  Le jour de la semaine, la valeur de l'énumération ENUM_DAY_OF_WEEK.

uint

[in]  Le numéro de série de la session, pour laquelle il est nécessaire de recevoir le temps du début et le temps de la fin. L'indexation des sessions commence par 0.

from

[out]  Le temps du début de la session de 00 heures 00 minutes, il faut ignorer la date dans la valeur reçue.

to

[out] Le temps de la fin de la session de 00 heures 00 minutes, il faut ignorer la date dans la valeur reçue.

La valeur rendue

Si les données sont reçues pour les sessions indiquées, le symbole et le jour de la semaine, on rend true, autrement rend false.

Example:

#define SYMBOL_NAME   Symbol()
#define SESSION_INDEX 0
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- print the header with a symbol and SESSION_INDEX and
//--- in a loop by day of the week from Mon to Fri, print the start and end times of the trading session in the journal
   PrintFormat("Symbol %s, Trade session %d:"SYMBOL_NAMESESSION_INDEX);
   for(int i=MONDAYi<SATURDAYi++)
      SymbolInfoSessionTradePrint(SYMBOL_NAME, (ENUM_DAY_OF_WEEK)iSESSION_INDEX);
   /*
   result:
   Symbol GBPUSDTrade session 0:
   - Monday     00:15 - 23:55
   - Tuesday    00:15 - 23:55
   - Wednesday  00:15 - 23:55
   - Thursday   00:15 - 23:55
   - Friday     00:15 - 23:55
   */
  }
//+------------------------------------------------------------------+
//| Send the start and end times of the specified trade session      |
//| for the specified symbol and day of the week to the journal      |
//+------------------------------------------------------------------+
void SymbolInfoSessionTradePrint(const string symbolconst ENUM_DAY_OF_WEEK day_of_weekconst uint session_index)
  {
//--- declare variables to record the beginning and end of the trading session
   datetime date_from;  // session start time
   datetime date_to;    // session end time
   
//--- get data from the trading session by symbol and day of the week
   if(!SymbolInfoSessionTrade(symbolday_of_weeksession_indexdate_fromdate_to))
     {
      Print("SymbolInfoSessionTrade() failed. Error "GetLastError());
      return;
     }
     
//--- create the week day name from the enumeration constant
   string week_day=EnumToString(day_of_week);
   if(week_day.Lower())
      week_day.SetChar(0ushort(week_day.GetChar(0)-32));
 
//--- send data for the specified trading session to the journal
   PrintFormat("- %-10s %s - %s"week_dayTimeToString(date_fromTIME_MINUTES), TimeToString(date_toTIME_MINUTES));
  }

Voir aussi

L'information sur l'instrument, TimeToStruct, La structure de la date