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()関数は1回の呼び出しで、すべてのリクエストされた銘柄のデータを返します。

例:

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
# 初めの5銘柄を表示する
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 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, ...

参照

symbols_totalsymbol_selectsymbol_info