gpt4 book ai didi

python - 使用 API 请求在盈透证券下订单

转载 作者:行者123 更新时间:2023-12-05 04:45:57 25 4
gpt4 key购买 nike

首先,首先,我能够使用 TWS API 成功下单。然而,据我所知,为此我需要在后台运行 TWS 桌面版。但我需要在我的远程服务器上运行它。所以我用了 3rd party API called IBeam并在远程服务器中使用它创建了一个网关。现在它运行良好,可以处理我从 Interactive Brokers 请求的 GET 请求。

现在,我想在 Interactive Broker 中下订单,使用 API 请求并找到 this doc通过 IB。但是,对我来说,我不清楚每个参数的含义,所以到现在为止我都被困住了。即,从文档中,我需要使用请求正文将 POST 请求发送到 https://localhost:5000/v1/api/iserver/account/{accountId}/orders(IB 网关在 localhost:5000 中运行)

{
"orders": [
{
"acctId": "string",
"conid": 0,
"secType": "secType = 265598:STK",
"cOID": "string",
"parentId": "string",
"orderType": "string",
"listingExchange": "string",
"isSingleGroup": true,
"outsideRTH": true,
"price": 0,
"auxPrice": null,
"side": "string",
"ticker": "string",
"tif": "string",
"referrer": "QuickTrade",
"quantity": 0,
"fxQty": 0,
"useAdaptive": true,
"isCcyConv": true,
"allocationMethod": "string",
"strategy": "string",
"strategyParameters": {}
}
]
}

根据我从 TWS API 了解到的信息,这是下订单所需的所有信息:

    contract = Contract()
contract.symbol = "AAPL"
contract.secType = "STK"
contract.exchange = "SMART"
contract.currency = "USD"
contract.primaryExchange = "NASDAQ"

order = Order()
order.action = "BUY"
order.totalQuantity = 10
order.orderType = "MKT"

如果你能帮我提供一个示例代码来使用 Ineteractive Broker 的 REST API 下类似的订单,那就太好了

最佳答案

我找到了 this article有助于下订单。

即,这是您可以用来下订单的示例请求

{
"orders": [
{
"acctId": "DU4299134",
"conid": 8314,
"secType": "8314:STK",
"cOId": "testAlgoOrder",
"orderType": "LMT",
"price": 142,
"side": "BUY",
"tif": "DAY",
"quantity": 1,
"strategy": "Adaptive",
"strategyParameters": {"adaptivePriority": "Normal" }
}
]
}

您可以使用这些 URL 来查找有关策略的更多信息,

url = f"https://localhost:5000/v1/api/iserver/contract/{conid}/algos"
url_more_info = f"https://localhost:5000/v1/api/iserver/contract/{conid}/algos?addDescription=1&addParams=1&algos={algos}"

此外,当您像上面那样下订单时,IBKR 会要求您确认订单,您可以通过以下方式确认

url = f"https://localhost:5000/v1/api/iserver/reply/{replyid}"

data = '''{
"confirmed": true
}'''

response = requests.post(url, data=data, headers=headers, verify='path to .pem file')

请注意,如前所述here,您在向IBKR发送POST请求时必须使用正确的 header 。 .

关于python - 使用 API 请求在盈透证券下订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69005509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com