SymbolInfoSessionTrade

Permite obtener fecha y hora de apertura y de cierre de la sesión de compraventa especificada para el símbolo y el día de la semana especificados.

bool  SymbolInfoSessionTrade(
   string            name,                // nombre del símbolo
   ENUM_DAY_OF_WEEK  day_of_week,         // día de la semana
   uint              session_index,       // número de sesión
   datetime&         from,                // hora de apertura de la sesión
   datetime&         to                   // hora de cierre de la sesión
   );

Parámetros

name

[in]  Nombre del símbolo.

ENUM_DAY_OF_WEEK

[in]  Día de la semana, se coge el valor de la enumeración ENUM_DAY_OF_WEEK.

uint

[in]  Número ordinal de la sesión para la que hay que recibir la hora y fecha de apertura y de cierre. La indexación de las sesiones se empieza desde 0.

from

[out]  Hora de apertura de la sesión en segundos transcurridos desde las 00 horas y 00 minutos. En el valor obtenido hay que ignorar la fecha.

to

[out]  Hora de cierre de la sesión en segundos transcurridos desde las 00 horas y 00 minutos. En el valor obtenido hay que ignorar la fecha.

Valor devuelto

Si se obtienen los datos respecto a la sesión, símbolo y el día de la semana, entonces la función devuelve true. De lo contrario, se devuelve false.

Ejemplo:

#define SYMBOL_NAME   Symbol()
#define SESSION_INDEX 0
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- imprimimos el encabezado con el símbolo y el índice de sesión SESSION_INDEX y
//--- en un ciclo por los días de la semana de lunes a viernes, imprimimos las horas de inicio y finalización de la sesión comercial en el registro
   PrintFormat("Symbol %s, Trade session %d:"SYMBOL_NAMESESSION_INDEX);
   for(int i=MONDAYi<SATURDAYi++)
      SymbolInfoSessionTradePrint(SYMBOL_NAME, (ENUM_DAY_OF_WEEK)iSESSION_INDEX);
   /*
   resultado:
   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
   */
  }
//+------------------------------------------------------------------+
//| Mostramos en el registro la hora de inicio y finalización de     |
//| sesión comercial para el símbolo y el día indicado               |
//+------------------------------------------------------------------+
void SymbolInfoSessionTradePrint(const string symbolconst ENUM_DAY_OF_WEEK day_of_weekconst uint session_index)
  {
//--- declaramos las variables para registrar el inicio y el final de la sesión comercial
   datetime date_from;  // hora de inicio de la sesión
   datetime date_to;    // hora de finalización de la sesión
   
//--- obtenemos los datos de la sesión comercial del símbolo y el día de la semana
   if(!SymbolInfoSessionTrade(symbolday_of_weeksession_indexdate_fromdate_to))
     {
      Print("SymbolInfoSessionTrade() failed. Error "GetLastError());
ç      return;
     }
     
//--- creamos el nombre del día de la semana a partir de una constante de enumeración
   string week_day=EnumToString(day_of_week);
   if(week_day.Lower())
      week_day.SetChar(0ushort(week_day.GetChar(0)-32));
 
//--- mostramos en el registro los datos de la sesión comercial indicada
   PrintFormat("- %-10s %s - %s"week_dayTimeToString(date_fromTIME_MINUTES), TimeToString(date_toTIME_MINUTES));
  }

Véase también

Información sobre el instrumento, TimeToStruct, Estructura de fecha