ChartOpen

打开指定交易品种和周期的新图表。

long  ChartOpen(
   string           symbol,     // 交易品种名称
   ENUM_TIMEFRAMES  period      // 周期
   );

参量

symbol

[in]  图表交易品种, NULL 意味着当前图表交易品种(附上EA交易)。

period

[in]  图表周期(时间表)。可以是ENUM_TIMEFRAMES值之一。0代表当前图表周期。

返回值

若成功,返回打开图表ID,否则返回0。

注释

程序端同时打开图表的最大值不能超过CHARTS_MAX值。

示例:

#define CHART_SYMBOL  NULL
#define CHART_PERIOD  PERIOD_CURRENT
 
//+------------------------------------------------------------------+
//| 脚本程序起始函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 设置新图表的交易品种和时间框架
   string symbol=CHART_SYMBOL;
   if(symbol==NULL)
      symbol=Symbol();
   ENUM_TIMEFRAMES timeframe = (CHART_PERIOD==PERIOD_CURRENT ? Period() : CHART_PERIOD);
   
//--- 使用指定的交易品种和周期打开新图表
   long chart_id=ChartOpen(symboltimeframe);
   if(chart_id==0)
     {
      Print("ChartOpen() failed. Error "GetLastError());
      return;
     }
 
//--- 在日志中打印打开图表的参数
   PrintFormat("A new chart of the %s symbol has been opened with a period of %s and ChartID %I64u",
               symbolStringSubstr(EnumToString(timeframe), 7), chart_id);
   /*
   结果:
   A new chart of the GBPUSD symbol has been opened with a period of M1 and ChartID 133346697706632016
   */
  }