我想向oanda发送订单进行交易,我使用ipython笔记本来编译我的代码,这是我的代码:
import oandapy
trade_expire=datetime.now()+timedelta(days=1)
trade_expire=trade_expire.isoformat("T")+"Z"
oanda=oandapy.API(environment='practice',access_token='XXXX....')
account_id=xxxxxxx
response=oanda.create_order(account_id,instrument='USD_EUR',units=1000,side='buy',/
type='limit',price=1.105,expire=trade_expire)
但是错误是:
OandaError: OANDA API returned error code 4 (The access token provided does
not allow this request to be made)
我怎么解决这个问题?
最佳答案
我有同样的问题,但是通过curl命令发送订单时。
问题与您从哪个帐户使用哪个API有关。
我在您的python中注意到它上面写着“练习”,因此您需要确保生成的API令牌来自您的练习帐户。真实账户和实践账户各自使用自己的API令牌,并且您的命令将需要匹配。
您可能还会在python的其他地方查看它实际ping OandA服务器的位置。
例如,使用curl时,真实账户使用
“ https://api-fxtrade.oanda.com/v3/accounts//orders”
和一个练习帐户使用
“ https://api-fxpractice.oanda.com/v3/accounts//orders”
在练习帐户中使用在真实帐户中生成的API令牌会产生您要询问的错误。