我想向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令牌会产生您要询问的错误。

07-24 09:27