Heim > Fragen und Antworten > Hauptteil
In der ersten Frage wurde es gelöst, die simulierte Handels-API von oanda zu verbinden, um den sofortigen Wechselkurs von EUR_USD zu erhalten. Nochmals vielen Dank an @prolifes für seine enthusiastische Hilfe. Das Verfahren ist wie folgt:
Anfragen importieren
json importieren
url = "https://api-fxpractice.oanda.com/v1/prices"
instruments = 'EUR_USD'
account_id = 'cawa11'
params = {'instruments':instruments,'accountId':account_id}
access_token = 'a554db3a48ac8180a6996a5547ba1663 -ac5947e64456 cc5842a34f4ce05e4380'
headers = {'Authorization ':'Bearer '+access_token} #Nach Bearer steht ein Leerzeichen
r = request.get(url, headers = headers, params=params)
print(r.json() )
Der resultierende JSON ist:
{'prices': [{'bid': 1.0926, 'time': '2017-05-03T05:45:25.737018Z', 'ask': 1.09274, 'instrument': 'EUR_USD '}]}
Jetzt möchte ich sowohl EUR_USD als auch USD_CAD erhalten. Der Echtzeit-Wechselkurs wird als JSON in der folgenden Form erhalten:
{'prices': [{'instrument': 'EUR_USD', 'ask': 1.09324 , 'time': '2017-05-03T04:44:38.200174Z', ' bid': 1.09311},{'instrument': 'USD_CAD', 'ask': 1.37270, 'time': '2017-05-03T04 :44:38.200174Z', 'bid': 1.37251}]}
大家讲道理2017-05-18 10:57:43
问题已解决,谢谢各位关注:
import requests
import json
url = "https://api-fxpractice.oanda.com/v1/prices"
instruments = 'EUR_USD,USD_CAD'
account_id = 'cawa11'
params = {'instruments':instruments,'accountId':account_id}
access_token = 'a554db3a48ac8180a6996a5547ba1663-ac5947e64456cc5842a34f4ce05e4380'
headers = {'Connection': 'Keep-Alive','Accept-Encoding': 'gzip,deflate','Authorization':'Bearer '+access_token}
r = requests.get(url,headers = headers, params=params)
price = r.json()
print(r.json())
print(price'prices'['instrument'].replace('_','/'),':',round((price'prices'['ask']+price'prices'['bid'])/2,4),' ',price'prices'['time'])
print(price'prices'['instrument'].replace('_','/'),':',round((price'prices'['ask']+price'prices'['bid'])/2,4),' ',price'prices'['time'])
输出:
{'prices': [{'bid': 1.09171, 'ask': 1.09184, 'instrument': 'EUR_USD', 'time': '2017-05-03T06:44:19.750556Z'}, {'bid': 1.37203, 'ask': 1.37219, 'instrument': 'USD_CAD', 'time': '2017-05-03T06:44:19.738338Z'}]}
EUR/USD : 1.0918 2017-05-03T06:44:19.750556Z
USD/CAD : 1.3721 2017-05-03T06:44:19.738338Z
漂亮男人2017-05-18 10:57:43
这个已经不是技术层次的问题了,你应该去了解一下他的api有没有提供这个功能,如果没有提供同时获取两个的功能,那你只能分开来取,然后再合并起来