symbols_get

Obtém todos os instrumentos financeiros do terminal MetaTrader 5.

symbols_get(
   group="GROUP"      // filtro para selecionar símbolos 
)

group="GROUP"

[in]  Filtro para selecionar apenas o grupo de símbolos necessários. Parâmetro opcional. Se um grupo for especificado, a função retornará apenas os símbolos que satisfazem os critérios especificados.

Valor retornado

Retorna símbolos como uma tupla (tuple). Em caso de erro, retorna None, enquanto informações sobre o erro podem ser obtidas usando last_error().

Observação

O parâmetro group permite filtrar símbolos por nome, é permitido usar '*' no início e no final da linha.

O parâmetro group pode ser usado como parâmetro nomeado e como não nomeado. Ambas as variantes funcionam da mesma maneira. O uso de uma variante nomeada (group="GROUP") torna o código mais compreensível.

O parâmetro group pode conter várias condições, separadas por vírgulas. A condição pode ser especificada como uma máscara usando '*'. Para exclusões, pode-se usar o símbolo de negação lógica '!'. Neste caso, todas as condições são aplicadas sequencialmente, ou seja, primeiro deve-se especificar as condições para inclusão no grupo e, em seguida, a condição de exclusão. Por exemplo, group="*, !EUR" significa que primeiro é necessário selecionar todos os símbolos e, em seguida, excluir os que contêm "EUR" no nome.

Ao contrário de symbol_info(), a função symbols_get() retorna informações sobre todos os símbolos solicitados numa chamada.

Exemplo:

import MetaTrader5 as mt5
# exibimos dados sobre o pacote MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# estabelecemos a conexão ao MetaTrader 5
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# obtemos todos os símbolos
symbols=mt5.symbols_get()
print('Symbols: 'len(symbols))
count=0
# exibimos os 5 primeiros
for s in symbols:
    count+=1
    print("{}. {}".format(count,s.name))
    if count==5: break
print()
 
# obtemos símbolos cujos nomes contêm RU
ru_symbols=mt5.symbols_get("*RU*")
print('len(*RU*): 'len(ru_symbols))
for s in ru_symbols:
    print(s.name)
print()
 
# obtemos símbolos cujos nomes não contêm USD, EUR, JPY e 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)
 
# concluímos a conexão ao terminal MetaTrader 5
mt5.shutdown()
 
Resultado:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
Symbols:  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, ...

Veja também

symbols_total, symbol_select, symbol_info