繁体   English   中英

Questrade API-下订单

[英]Questrade API - Placing Order

Noob在这里提出问题,但我试图使用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)

这是来自Questrade网页的示例请求:

http://www.questrade.com/api/documentation/rest-operations/order-calls/accounts-id-orders

这是我得到的错误:TypeError:request()获得了意外的关键字参数'quantity'。任何帮助将不胜感激。 Thankss!

您请求的所有参数( accountNumbersymbolIdquantity ,...)都是symbolId API的参数,而不是post的post方法。 您需要以json格式在请求的正文中设置它们: http : //docs.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests

import requests

uri = "https://api01.iq.questrade.com/v1/accounts/<id>/orders"
headers = {'Authorization': 'Bearer <my_bearer>'}

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

response = r.json()

print (response)

我创建了一个简单的python包装器来访问questrade API。 https://github.com/antoineviscardi/questradeapi

使用它,您将得到如下内容:

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM