Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Questrade API-下订单_Python_Api - Fatal编程技术网

Python Questrade API-下订单

Python Questrade API-下订单,python,api,Python,Api,这里没有问题,但我正在尝试使用Questrade API下订单。这是到目前为止我的python脚本: import requests uri = "https://api01.iq.questrade.com/v1/accounts/<id>/orders" headers = {'Authorization': 'Bearer <my_bearer>'} r = requests.post(uri, headers=headers, accountNumber=3

这里没有问题,但我正在尝试使用Questrade API下订单。这是到目前为止我的python脚本:

import requests

uri = "https://api01.iq.questrade.com/v1/accounts/<id>/orders"

headers = {'Authorization': 'Bearer <my_bearer>'}

r = requests.post(uri, headers=headers, accountNumber=31455565, symbolId=8049, quantity=10, icebergQuantity=1, limitPrice=10, isAllOrNone=True, isAnonymous=False, timeInForce="GoodTillCanceled", primaryRoute="Auto", secondaryRoute="Auto", orderType="Limit", action="Buy")

response = r.json()

print (response)
导入请求
uri=”https://api01.iq.questrade.com/v1/accounts//orders"
头文件={'Authorization':'Bearer'}
r=requests.post(uri,headers=headers,accountNumber=31455565,symbolId=8049,quantity=10,icebergQuantity=1,limitPrice=10,isAllOrNone=True,isAnonymous=False,timeinfonce=“GoodTillCancelled”,primaryRoute=“Auto”,secondaryRoute=“Auto”,orderType=“Limit”,action=“Buy”)
response=r.json()
打印(答复)
这是Questrade网页上的请求示例:

这就是我得到的错误:TypeError:request()得到了一个意外的关键字参数'quantity'
我们将非常感谢您的帮助。谢谢

您请求的所有参数(
accountNumber
symbol
quantity
,…)都是Questrade API的参数,而不是请求的post方法的参数。您需要在请求正文中以json格式设置它们:

导入请求
uri=”https://api01.iq.questrade.com/v1/accounts//orders"
头文件={'Authorization':'Bearer'}
有效载荷={'accountNumber':31455565,'symbolId':8049,'quantity':10,'IsibergQuantity':1,'limitPrice':10,'IsAllorOne':True,'isAnonymous':False,'TimeInformence':“GoodTillCancelled”、'primaryRoute':“Auto”、'orderType':“Limit”、'action':“Buy”}
r=requests.post(uri,headers=headers,json=payload)
response=r.json()
打印(答复)

我创建了一个简单的python包装器来访问questrade API

使用它,您将得到如下结果:

import questradeapi as qapi

sess = qapi.Session(<your_bearer>)
sess.post_order(31455565, 8049, 10, 1, 10, None, True, False, "Limit", 
"GoodTillCanceled", "Buy", "Auto", "Auto)
将questradeapi导入为qapi
sess=qapi.Session()
sess.邮政订单(31455565、8049、10、1、10、无、对、错,“限额”,
“购买”、“自动”、“自动”

@ FrasoCISMoCKS已经编辑了你的问题中的Auth-Trace.但是它们在编辑历史中仍然可见.既然问题已经被回答了,不要删除它.但是考虑立即更改你的AuthTebug .
import questradeapi as qapi

sess = qapi.Session(<your_bearer>)
sess.post_order(31455565, 8049, 10, 1, 10, None, True, False, "Limit", 
"GoodTillCanceled", "Buy", "Auto", "Auto)