symbols_get

获取MetaTrader 5程序端中的所有交易品种。

symbols_get(

   group="GROUP"      // 交易品种选择过滤器

)

group="GROUP"

[in]  用于跑了一组必要交易品种的过滤器。可选参数。如果指定了组,则函数只返回满足指定条件的交易品种。

返回值

以元组的形式返回交易品种。错误情况下返回None。可使用last_error()获取错误信息。

注意

group参数可以根据名称对交易品种进行分类。'*'可以用在字符串的开头和结尾。

group参数可被用作命名的参数或未命名的参数。两个选项工作方式相同。命名的选项(group="GROUP")使代码更易于阅读。

group参数可以包含多个逗号分隔条件。条件可以使用'*'设置为掩码。逻辑否定字符'!'可以用来表示排除条件。所有条件依序应用,这意味着应该先指定包含到组中的条件,然后再指定排除条件。例如,group="*, !EUR"意味着应该先选择所有交易品种,然后排除名称中包含"EUR"的交易品种。

不同于symbol_info(),symbols_get()函数在单个调用中返回所有请求交易品种的数据。

例如:

import MetaTrader5 as mt5

# 显示有关MetaTrader 5程序包的数据

print("MetaTrader5 package author: ",mt5.__author__)

print("MetaTrader5 package version: ",mt5.__version__)



# 建立与MetaTrader 5程序端的连接

if not mt5.initialize():

    print("initialize() failed, error code =",mt5.last_error())

    quit()



# 获取所有交易品种

symbols=mt5.symbols_get()

print('Symbols: ', len(symbols))

count=0

# 显示前五个交易品种

for s in symbols:

    count+=1

    print("{}. {}".format(count,s.name))

    if count==5: break

print()



# 获取名称中包含RU的交易品种

ru_symbols=mt5.symbols_get("*RU*")

print('len(*RU*): ', len(ru_symbols))

for s in ru_symbols:

    print(s.name)

print()



# 获取名称中不包含USD、EUR、JPY和GBP的交易品种

group_symbols=mt5.symbols_get(group="*,!*USD*,!*EUR*,!*JPY*,!*GBP*")

print('len(*,!*USD*,!*EUR*,!*JPY*,!*GBP*):', len(group_symbols))

for s in group_symbols:

    print(s.name,":",s)



# 断开与MetaTrader 5程序端的连接

mt5.shutdown()



结果:

MetaTrader5程序包作者:MetaQuotes Software Corp.

MetaTrader5程序包版本:5.0.29

交易品种:84

1. EURUSD

2. GBPUSD

3. USDCHF

4. USDJPY

5. USDCNH



len(*RU*):  8

EURUSD

USDRUB

USDRUR

EURRUR

EURRUB

FORTS.RUB.M5

EURUSD_T20

EURUSD4



len(*,!*USD*,!*EUR*,!*JPY*,!*GBP*):  13

AUDCAD : SymbolInfo(custom=False, chart_mode=0, select=True, visible=True, session_deals=0, session_buy_orders=0, session...

AUDCHF : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

AUDNZD : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

CADCHF : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

NZDCAD : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

NZDCHF : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

NZDSGD : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

CADMXN : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

CHFMXN : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

NZDMXN : SymbolInfo(custom=False, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, sessi...

FORTS.RTS.M5 : SymbolInfo(custom=True, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, ...

FORTS.RUB.M5 : SymbolInfo(custom=True, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, ...

FOREX.CHF.M5 : SymbolInfo(custom=True, chart_mode=0, select=False, visible=False, session_deals=0, session_buy_orders=0, ...

另见

symbols_totalsymbol_selectsymbol_info