前提・実現したいこと
oanda デモ口座のapiを使用してPositionBookの情報を取得するプログラムを作成しています。
下記の作成したソースコードを実行すると、得たいPositionBookの情報が返ってくる時もあれば、下記に記載しているエラーメッセージが返ってくる時もあり安定して動作しない状況になっています。
これをいつ実行してもエラーが出ずにPositionBookの情報を得られるようにしたいです。
ご教示のほど、宜しくお願いいたします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/user1/oanda_test.py", line 22, in <module> api.request(io) File "/Users/user1/opt/anaconda3/lib/python3.7/site-packages/oandapyV20/oandapyV20.py", line 306, in request request_args, headers=headers) File "/Users/user1/opt/anaconda3/lib/python3.7/site-packages/oandapyV20/oandapyV20.py", line 243, in __request response.content.decode('utf-8')) oandapyV20.exceptions.V20Error: {"errorMessage":"The snapshot for USD_JPY does not exist at the given time 2020-09-05T12:00:00Z."}
該当のソースコード
Python
1# coding: utf-8 2import oandapyV20 3from oandapyV20 import API 4from oandapyV20.exceptions import V20Error 5from oandapyV20.endpoints.pricing import PricingStream 6import oandapyV20.endpoints.orders as orders 7import oandapyV20.endpoints.instruments as instruments 8import oandapyV20.endpoints.accounts as accounts 9import datetime 10from pytz import timezone 11import pandas as pd 12 13#oandaデモ口座アカウント情報(ID,TOKENは個人情報のため伏せてあります) 14ID = 'MY ID' 15token = 'MY TOKEN' 16 17#デモ口座のためenvironmentは'practice' 18api = API(access_token=token, environment='practice') 19 20#position Book 21io = instruments.InstrumentsPositionBook(instrument='USD_JPY') 22api.request(io) 23df = pd.DataFrame(io.response["positionBook"]["buckets"]) 24print(df.head())
試したこと
OrderBookの情報を取得するコードにした場合はいつでも情報は取得できてエラーは出ないので、口座に接続はできています。
補足情報(FW/ツールのバージョンなど)
- macOS Catalina 10.15.6
- Python3.7.6 64bit(anaconda)
あなたの回答
tips
プレビュー