SymbolInfoString

一个规定交易品种返回相对应的特性,该函数中有两个变体。

1. 立即返回属性值

string  SymbolInfoString(
   string                    name,       // 交易品种
   ENUM_SYMBOL_INFO_STRING   prop_id     // 属性标识符
   );

2. 返回true或者false,由该函数运行成功与否来决定,如果成功,在培育变量通过引用传递到最后常量中函数属性固定。

bool  SymbolInfoString(
   string                    name,       // 交易品种
   ENUM_SYMBOL_INFO_STRING   prop_id,    // 属性标识符
   string&                   string_var  // 这里假设属性值
   );

参量

名称

[in] 交易品种名称。

prop_id

[in] 一个交易品种属性标识符,值是 ENUM_SYMBOL_INFO_STRING 其中一个。

string_var

[out] 字符串类型变量接收需求属性的值。

返回值

字符串的值。如果执行失败,使用GetLastError()函数可以获得有关的错误信息:

  • 5040 – 指定交易品种名称的无效字符串参数,
  • 4301 – 未知交易品种(金融工具),
  • 4302 – 交易品种未选进“市场报价”(可用列表中未发现),
  • 4303 – 交易品种属性的无效标识符。

注意

如果函数用于获得最近订单号信息,推荐使用SymbolInfoTick()函数。由于程序端连接交易账户,那么很可能不会出现单引号。这种情况下,请求的值将不会确定。

在大部分情况下,使用 SymbolInfoTick() 函数足以允许用户接收买价,买价,收盘价,交易量的值和单次调用时最近订单号的到达时间。

示例:

#define SYMBOL_NAME "USDJPY"
 
//+------------------------------------------------------------------+
//| EA交易初始化函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 获取SYMBOL_NAME交易品种的字符串数据
   string currency_base   = SymbolInfoString(SYMBOL_NAMESYMBOL_CURRENCY_BASE);    // 交易品种的基础货币
   string currency_profit = SymbolInfoString(SYMBOL_NAMESYMBOL_CURRENCY_PROFIT);  // 盈利货币
   string currency_margin = SymbolInfoString(SYMBOL_NAMESYMBOL_CURRENCY_MARGIN);  // 预付款货币
   string symbol_descript = SymbolInfoString(SYMBOL_NAMESYMBOL_DESCRIPTION);      // 交易品种字符串描述
 
//--- 使用获得的数据创建消息文本
   string text=StringFormat("Symbol %s:\n"+
                            "- Currency Base: %s\n"+
                            "- Currensy Profit: %s\n"+
                            "- Currency Margin: %s\n"+
                            "- Symbol Description: %s",
                            SYMBOL_NAMEcurrency_base,
                            currency_profitcurrency_margin,
                            symbol_descript);
 
//--- 将获得的数据发送到日志
   Print(text);
   /*
   Symbol USDJPY:
   - Currency BaseUSD
   - Currensy ProfitJPY
   - Currency MarginUSD
   - Symbol DescriptionUS Dollar vs Yen
   */
  }