| 函数 | 说明 | 
|---|
| SymbolsTotal | 获取有效交易品种数量 | 
| SymbolExist | 检测指定名称的交易品种是否存在 | 
| SymbolName | 根据序号返回指定交易品种名称 | 
| SymbolSelect | 在交易品种窗口中显示或者隐藏指定交易品种 | 
| SymbolIsSynchronized | 检测行情数据是否和交易服务器数据是否一致 | 
| SymbolInfoDouble | 获取交易品种浮点型相关信息 | 
| SymbolInfoInteger | 获取交易品种整型相关信息 | 
| SymbolInfoString | 获取交易品种字符串型相关信息 | 
| SymbolInfoMarginRate | 根据指定订单方向获取交易品种1标准手的预付款比例 | 
| SymbolInfoTick | 获取指定交易品种的当前行情价格数据 | 
| SymbolInfoSessionQuote | 检测交易品种指定周期是否能接受行情数据 | 
| SymbolInfoSessionTrade | 检测交易品种指定周期是否可以进行交易 | 
 
void OnStart()
  {
     string symbol = _Symbol;
     // selected: true,表示交易品种可见数量, false 表示全部交易品种数量
     int len = SymbolsTotal(false);
     printf("当前窗口显示交易品种数量: %d", len);
     // 查询指定交易品种是否存在
     // is_custom: true自定义交易品种中是否存在, false 表示交易品种中是否存在
     string sym = "Hello"; bool is_custom = false;
     bool symbol_exist = SymbolExist(sym,is_custom);
     printf("当前交易品种: %s, 是否存在: %d", sym,symbol_exist);
     // 从交易品种窗口中添加或者而移除交易品种, 并返回是否成功
     bool select = SymbolSelect("AUS200",false);
     if(select == true)
     {
        printf("操作交易品种成功");
     }
     else
     {
        printf("操作交易品种失败");
     }
     
     bool symbol_sync = SymbolIsSynchronized("EURUSD");
     printf("交易品种是否和服务器数据同步: %d",symbol_sync);
     
     // 1标准手保证金占用
     double initial_margin = 100000.0;
     double maintenance_margin = 1000.0;
     SymbolInfoMarginRate(symbol, ORDER_TYPE_SELL, initial_margin, maintenance_margin);
     printf("初始保证金: %.2f, 追加保证金: %.2f", initial_margin, maintenance_margin);
     
     // 检测交易品种指定周期是否接受到行情数据
     datetime q_start_time; datetime q_stop_time;
     bool session_quote = SymbolInfoSessionQuote(symbol,MONDAY,0,q_start_time, q_stop_time);
     printf("当前选择的周期是否可以接受数据: %d \n" +
            "行情开始时间: %s \n" +
            "行情结束时间: %s \n"
            , 
            session_quote,
            TimeToString(q_start_time),
            TimeToString(q_stop_time)
            );
     
     // 检测交易品种指定周期是否可以交易
     datetime t_start_time; datetime t_stop_time;
     bool session_trade = SymbolInfoSessionTrade(symbol,SUNDAY,0,t_start_time,t_stop_time);
     printf("当前选择的周期是否可以交易: %d \n" +
            "行情开始时间: %s \n" +
            "行情结束时间: %s \n"
            , 
            session_trade,
            TimeToString(t_start_time),
            TimeToString(t_stop_time)
            );
     // 获取交易品种当前报价数据
     MqlTick tick;
     SymbolInfoTick(symbol,tick);
     printf("当前货币: %s \n" +
            "最后报价时间: %s \n" +
            "当前做多价: %.5f \n" +
            "当前做空价: %.5f \n" +
            "最后交易价格: %.5f \n" +
            "当前成交量: %d \n" +
            "最后报价毫秒数: %d \n" +
            "报价标识: %d \n" +
            "更精准当前成交量: %.2f \n"
            ,
            symbol,
            TimeToString(tick.time),
            tick.ask,
            tick.bid,
            tick.last,
            tick.volume,
            tick.time_msc,
            tick.flags,
            tick.volume_real
     );
     
     
  }