symbols_get

Obtiene todos los instrumentos financieros del terminal MetaTrader 5.

symbols_get(
   group="GROUP"      // filtro para la selección de símbolos 
)

group="GROUP"

[in]  Filtro para seleccionar un grupo solo con los símbolos necesarios. Parámetro no obligatorio. Si el grupo ha sido establecido, la función retornará solo los símbolos que cumplan con el criterio establecido.

Valor retornado

Retorna los símbolos en forma de tupla (tuple). En caso de error, retorna None; la información sobre el error se puede obtener con la ayuda de last_error().

Observación

El parámetro group permite filtrar los símbolos por nombre. Está permitido usar '*' al inicio y el final de la línea.

El parámetro group se puede usar como parámetro nombrado, y también como parámetro no nombrado. Ambas variantes funcionan igual. El uso de la variante nombrada (group="GROUP") hace el código más comprensible.

El parámetro group puede contener varias condiciones separadas por comas. Las condiciones se pueden establecer como máscara con el uso de '*'. Para realizar exclusiones, se puede usar el símbolo de negación lógica '!'. En este caso, además, todas las condiciones se aplican de forma secuencial, es decir, primero se deben indicar las inclusiones en el grupo, y después las condiciones de exclusión. Por ejemplo, group="*, !EUR" significa que primero debemos seleccionar todos los símbolos y después excluir aquellos de ellos que contengan en el nombre "EUR".

Y diferencia de symbol_info(), la función symbols_get() retorna en una llamada la información de todos los símbolos solicitados.

Ejemplo:

import MetaTrader5 as mt5
# mostramos los datos sobre el paquete MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# establecemos la conexión con el terminal MetaTrader 5
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# obtenemos todos los símbolos
symbols=mt5.symbols_get()
print('Symbols: 'len(symbols))
count=0
# mostramos los 5 primeros
for s in symbols:
    count+=1
    print("{}. {}".format(count,s.name))
    if count==5: break
print()
 
# obtenemos los símbolos cuyos nombres contienen U
ru_symbols=mt5.symbols_get("*RU*")
print('len(*RU*): 'len(ru_symbols))
for s in ru_symbols:
    print(s.name)
print()
 
# obtenemos los símbolos cuyos nombres no contienen USD,EUR,JPY y 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)
 
# finalizamos la conexión con el 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, ...

Ver también

symbols_total, symbol_select, symbol_info