MT5(MQL5) Python用MetaTrader関数のaccount_info
概要
現在の口座に関する情報を取得します。この関数では、AccountInfoInteger、AccountInfoDouble、AccountInfoStringを使用して取得できるすべてのデータを1回の呼び出しで取得できます。
呼び出し
account_info()
戻り値
名前付きタプル構造(namedtuple)の形式で情報を返します。
エラーの場合はNoneを返します。エラーに関する情報はlast_error()を使用して取得できます。
サンプルコード
口座情報を取得して出力します。要素それぞれの型も調べます。
import MetaTrader5 as mt5
mt5.initialize()
account_info = mt5.account_info()
print('# そのまま出力する')
print(account_info, '# account_info')
print('\n')
print('# 型(type)を調べる')
print(type(account_info), '# type(account_info)')
print('\n')
# namedtupleなので_asdict()で辞書型(dict)で取得できるようです。
account_info_dict = mt5.account_info()._asdict()
print('# タプルから要素を一つずつ取り出す')
for item in account_info_dict:
print(f'{item}: {account_info_dict[item]} type: {type(account_info_dict[item])}')
print('\n')
mt5.shutdown()
結果
namedtupleなので_asdict()で辞書型(dict)で取得できるようです。
# そのまま出力する
AccountInfo(login=58091308, trade_mode=0, leverage=100, limit_orders=200, margin_so_mode=0, trade_allowed=True, trade_expert=True, margin_mode=2, currency_digits=0, fifo_close=False, balance=100000.0, credit=0.0, profit=0.0, equity=100000.0, margin=0.0, margin_free=100000.0, margin_level=0.0, margin_so_call=50.0, margin_so_so=30.0, margin_initial=0.0, margin_maintenance=0.0,
assets=0.0, liabilities=0.0, commission_blocked=0.0, name='demo demo', server='MetaQuotes-Demo', currency='JPY', company='MetaQuotes Software Corp.') # account_info
# 型(type)を調べる
<class 'AccountInfo'> # type(account_info)
# タプルから要素を一つずつ取り出す
login: 58091308 type: <class 'int'>
trade_mode: 0 type: <class 'int'>
leverage: 100 type: <class 'int'>
limit_orders: 200 type: <class 'int'>
margin_so_mode: 0 type: <class 'int'>
trade_allowed: True type: <class 'bool'>
trade_expert: True type: <class 'bool'>
margin_mode: 2 type: <class 'int'>
currency_digits: 0 type: <class 'int'>
fifo_close: False type: <class 'bool'>
balance: 100000.0 type: <class 'float'>
credit: 0.0 type: <class 'float'>
profit: 0.0 type: <class 'float'>
equity: 100000.0 type: <class 'float'>
margin: 0.0 type: <class 'float'>
margin_free: 100000.0 type: <class 'float'>
margin_level: 0.0 type: <class 'float'>
margin_so_call: 50.0 type: <class 'float'>
margin_so_so: 30.0 type: <class 'float'>
margin_initial: 0.0 type: <class 'float'>
margin_maintenance: 0.0 type: <class 'float'>
assets: 0.0 type: <class 'float'>
liabilities: 0.0 type: <class 'float'>
commission_blocked: 0.0 type: <class 'float'>
name: demo demo type: <class 'str'>
server: MetaQuotes-Demo type: <class 'str'>
currency: JPY type: <class 'str'>
company: MetaQuotes Software Corp. type: <class 'str'>
【参考】MQL5公式ページ
コメント / Comments