symbols_get

Ottiene tutti gli strumenti finanziari dal terminale MetaTrader 5.

symbols_get(
   group="GROUP"      // filtro di selezione del simbolo 
)

group="GROUP"

[in] Il filtro per disporre un gruppo di simboli necessari. Parametro opzionale. Se viene specificato il gruppo, la funzione restituisce solo simboli che soddisfano un criterio specificato.

Valore di Ritorno

Restituisce i simboli sotto forma di una tupla. Restituisce Nessuna in caso di errore. Le informazioni sull'errore possono essere ottenute utilizzando last_error().

Nota

Il parametro group consente di ordinare i simboli per nome. '*' può essere usato all'inizio e alla fine di una stringa.

Il parametro group può essere utilizzato come uno named o unnamed. Entrambe le opzioni funzionano allo stesso modo. L'opzione named (group= "GROUP") semplifica la lettura del codice.

Il parametro group può contenere diverse condizioni separate da virgola. Una condizione può essere impostata come maschera usando '*'. Il simbolo di negazione logica "!" può essere utilizzato per un'esclusione. Tutte le condizioni vengono applicate in sequenza, il che significa che le condizioni di inclusione in un gruppo devono essere specificate prima, seguite da una condizione di esclusione. Per esempio, group= "*, !EUR" significa che tutti i simboli dovrebbero essere selezionati prima e quelli che contengono "EUR" nei loro nomi dovrebbero essere esclusi in seguito.

Diversamente da symbol_info(), la funzione symbols_get() restituisce i dati su tutti i simboli richiesti all'interno di una singola chiamata.

Esempio:

import MetaTrader5 as mt5
# visualizza i dati sul pacchetto MetaTrader 5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# stabilisce la connessione al terminale MetaTrader 5
if not mt5.initialize():
    print("initialize() fallito, error code =",mt5.last_error())
    quit()
 
# ottiene tutti i simboli
symbols=mt5.symbols_get()
print('Simboli: 'len(symbols))
count=0
# visualizza i primi cinque
for s in symbols:
    count+=1
    print("{}. {}".format(count,s.name))
    if count==5: break
print()
 
# ottiene simboli contenenti RU nei loro nomi
ru_symbols=mt5.symbols_get("*RU*")
print('len(*RU*): 'len(ru_symbols))
for s in ru_symbols:
    print(s.name)
print()
 
# ottiene simboli i cui nomi non contengono 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)
 
# interrompe la connessione al terminale MetaTrader 5
mt5.shutdown()
 
Risultato:
Autore del pacchetto MetaTrader5: MetaQuotes Software Corp.
Versione del pacchetto MetaTrader5: 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, ...

See also

symbols_total, symbol_select, symbol_info