SymbolInfoSessionQuote

允许为规定交易样品和周期接收引用登陆的开始和结束时间。

bool  SymbolInfoSessionQuote(
   string            name,                // 交易品种名称
   ENUM_DAY_OF_WEEK  day_of_week,         // 一周中的每天
   uint              session_index,       // 期指
   datetime&         from,                // 期始时间
   datetime&         to                   // 期末时间
   );

参量

名称

[in]  交易品种名称

ENUM_DAY_OF_WEEK

[in] 每周日期,计算式 ENUM_DAY_OF_WEEK值、

 

无符号整型(uint)

[in]  登陆的序列号,接收开始和结束的时间,以0开始登陆

[out]  从00小时00分钟以短时间开始登陆,返回值的日期可以忽略不计

[out]  从00小时00分钟以短时间结束登陆,返回值的日期可以忽略不计

返回值

如果接收到规定登陆数据的交易品种和每周日期,返回真值,否则返回false

示例:

#define SYMBOL_NAME   Symbol()
#define SESSION_INDEX 0
 
//+------------------------------------------------------------------+
//| EA交易初始化函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 记录带有交易品种和SESSION_INDEX的标题
//--- 从周一到周五循环,在日志中记录报价时段的开始和结束时间
   PrintFormat("Symbol %s, Quote session %d:"SYMBOL_NAMESESSION_INDEX);
   for(int i=MONDAYi<SATURDAYi++)
      SymbolInfoSessionQuotePrint(SYMBOL_NAME, (ENUM_DAY_OF_WEEK)iSESSION_INDEX);
   /*
   result:
   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
   */
  }
//+------------------------------------------------------------------+
//| 发送指定报价时段的开始和结束时间                                      |
//| 到日志(指定交易品种,工作日)                                          |
//+------------------------------------------------------------------+
void SymbolInfoSessionQuotePrint(const string symbolconst ENUM_DAY_OF_WEEK day_of_weekconst uint session_index)
  {
//--- 声明变量来记录报价时段的开始和结束
   datetime date_from;  // 时段开始时间
   datetime date_to;    // 时段结束时间
   
//--- 从报价时段按交易品种和星期几获取数据
   if(!SymbolInfoSessionQuote(symbolday_of_weeksession_indexdate_fromdate_to))
     {
      Print("SymbolInfoSessionQuote() failed. Error "GetLastError());
      return;
     }
     
//--- 从枚举常量创建星期名称
   string week_day=EnumToString(day_of_week);
   if(week_day.Lower())
      week_day.SetChar(0ushort(week_day.GetChar(0)-32));
 
//--- 将指定报价时段的数据发送到日志
   PrintFormat("- %-10s %s - %s"week_dayTimeToString(date_fromTIME_MINUTES), TimeToString(date_toTIME_MINUTES));
  }

另见

交易品种属性 , TimeToStruct, 数据结构