公式に対し、 以下のように対応しています。
アカウント一覧を取得します。
response = api.account.list()
print(response.body)
accounts = response.body["accounts"]
for account in accounts:
print(account)
print(account.id)
{'accounts': [<v20.account.AccountProperties object at 0x7ffexampleff>,
...
<v20.account.AccountProperties object at 0x7ffexampleff>]}
id: 999-999-999999-005
tags:
- HEDGING
...
id: 999-999-999999-001
tags:
- []
999-999-999999-001
アカウントの詳細を取得します。
response = api.account.get(account_id)
print(response.body)
print(response.body["account"])
{'account': <v20.account.Account object at 0x7ffexampleff>, 'lastTransactionID': '999'}
# 相当量のため割愛
アカウント残高、現在の損益、現在のポジション、現在の注文等諸々の取得が可能です。
アカウントの概要を取得します。
response = api.account.summary(account_id)
print(response.body)
print(response.body["account"])
{'account': <v20.account.AccountSummary object at 0x7ffexampleff>, 'lastTransactionID': '999'}
# 割愛
アカウント残高、現在の損益等の取得が可能です。
# 取引可能な全通貨の情報について取得
response = api.account.instruments(account_id)
# 指定した通貨の情報を取得
response = api.account.instruments(account_id, instruments="USD_JPY,EUR_USD")
instruments = response.body["instruments"]
for instrument in instruments:
print(instrument)
name: USD_JPY
type: CURRENCY
displayName: USD/JPY
pipLocation: -2
displayPrecision: 3
tradeUnitsPrecision: 0
minimumTradeSize: 1.0
maximumTrailingStopDistance: 100.0
minimumTrailingStopDistance: 0.05
maximumPositionSize: 0.0
maximumOrderUnits: 100000000.0
marginRate: 0.04
...
pip位置や精度の取得が可能です。画面表示や丸め込みの際に使用します。
アカウント情報(口座名と必要証拠金率)の変更が可能です。 必要証拠金率の変更はできないと思われるため実質的に口座名変更用。
response = api.account.configure(account_id, alias="test")
print(response.body)
print(response.body["clientConfigureTransaction"])
{'clientConfigureTransaction': <v20.transaction.ClientConfigureTransaction object at 0x7ffexampleff>, 'lastTransactionID': '999'}
id: '999'
time: '2019-MM-DDT25:25:25.991330817Z'
userID: ********
accountID: 999-999-999999-001
batchID: '999'
requestID: '99999999999999999'
type: CLIENT_CONFIGURE
alias: test
指定トランザクション以降の変更(トランザクション)を取得します。
response = api.account.changes(account_id, sinceTransactionID=999)
print(response.body)
{'changes': <v20.account.AccountChanges object at 0x7ffexampleff>, 'state': <v20.account.AccountChangesState object at 0x7ffexampleff>, 'lastTransactionID': '999'}
Home > rest-live-v20 > account-ep