MQL5参考经济日历函数CalendarCountryById 

CalendarCountryById

根据ID获得国家描述。

bool  CalendarCountryById(
   const long           country_id,     //国家 ID
   MqlCalendarCountry&  country         // 用于接收国家描述的变量
   );

参数

country_id

[in]  国家ID (ISO 3166-1)。

country

[out] MqlCalendarCountry类型变量,用于接收国家描述。

返回值

如果成功返回true,否则返回false。若要获得有关错误的信息,请调用GetLastError()函数。可能错误:

  • 4001 – ERR_INTERNAL_ERROR(一般运行时错误)。
  • 5402 – ERR_CALENDAR_NO_DATA(国家未找到)。
  • 5401 – ERR_CALENDAR_TIMEOUT(超过请求时限)。

例如:

//+------------------------------------------------------------------+
//| 脚本程序起始函数                                                     |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 从经济日历中获得国家列表
   MqlCalendarCountry countries[];
   int count=CalendarCountries(countries);
//--- 检查结果
   if(count==0)
      PrintFormat("CalendarCountries() returned 0! Error %d",GetLastError());
//--- 如果有两个或两个以上的国家
   if(count>=2)
     {
      MqlCalendarCountry country;
      //--- 现在根据ID获得国家描述
      if(CalendarCountryById(countries[1].id, country))
        {
         //--- 准备国家描述
         string descr="id = "+IntegerToString(country.id)+"\n";
         descr+=("name = " + country.name+"\n");
         descr+=("code = " + country.code+"\n");
         descr+=("currency = " + country.currency+"\n");
         descr+=("currency_symbol = " + country.currency_symbol+"\n");
         descr+=("url_name = " + country.url_name);         
         //--- 显示国家描述
         Print(descr);
        }
      else
         Print("CalendarCountryById() failed. Error ",GetLastError());
     }
//---
  }
/*
  结果:
   id = 999
   name = European Union
   code = EU
   currency = EUR
   currency_symbol = �
   url_name = european-union
*/

另见

CalendarCountriesCalendarEventByCountry