获取期货订单状态、数量、边 Binance
Get Futures order status, qty, side Binance
我正在尝试获取订单状态、数量和边;但是,我收到以下错误:
list indices must be integers or slices, not str
数据:
[{'orderId': 123xxx, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': xxx, 'updateTime': xxx}, {'orderId': 123xxx, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': xxx, 'updateTime': xxx}]
代码:
get_open_order = client.futures_get_open_orders(symbol=config.SYMBOL, orderID=123xxx)
get_status = get_open_order['status']
get_qty = get_open_order['origQty']
get_side = get_open_order['side']
print(f"STATUS: {get_status} | QUANTITY: {get_qty} | SIDE: {get_side}")
这里有什么错误?
看起来 get_open_order
是一个 list
,有两个 dict
项,每个都是一个订单。
这是您访问 list
中的订单的方法(我已将其重命名为 get_open_orders
以表明它包含多个订单,而不仅仅是一个)。
#get_open_order = client.futures_get_open_orders(symbol=config.SYMBOL, orderID=123xxx)
get_open_orders = [
{'orderId': 123001, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': 777, 'updateTime': 777},
{'orderId': 123002, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': 777, 'updateTime': 777}
]
for get_open_order in get_open_orders:
get_status = get_open_order['status']
get_qty = get_open_order['origQty']
get_side = get_open_order['side']
print(f"STATUS: {get_status} | QUANTITY: {get_qty} | SIDE: {get_side}")
输出为:
STATUS: NEW | QUANTITY: 0.001 | SIDE: BUY
STATUS: NEW | QUANTITY: 0.001 | SIDE: BUY
我正在尝试获取订单状态、数量和边;但是,我收到以下错误:
list indices must be integers or slices, not str
数据:
[{'orderId': 123xxx, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': xxx, 'updateTime': xxx}, {'orderId': 123xxx, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': xxx, 'updateTime': xxx}]
代码:
get_open_order = client.futures_get_open_orders(symbol=config.SYMBOL, orderID=123xxx)
get_status = get_open_order['status']
get_qty = get_open_order['origQty']
get_side = get_open_order['side']
print(f"STATUS: {get_status} | QUANTITY: {get_qty} | SIDE: {get_side}")
这里有什么错误?
看起来 get_open_order
是一个 list
,有两个 dict
项,每个都是一个订单。
这是您访问 list
中的订单的方法(我已将其重命名为 get_open_orders
以表明它包含多个订单,而不仅仅是一个)。
#get_open_order = client.futures_get_open_orders(symbol=config.SYMBOL, orderID=123xxx)
get_open_orders = [
{'orderId': 123001, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': 777, 'updateTime': 777},
{'orderId': 123002, 'symbol': 'BTCUSDT', 'status': 'NEW', 'clientOrderId': 'xxx', 'price': '32000', 'avgPrice': '0', 'origQty': '0.001', 'executedQty': '0', 'cumQuote': '0', 'timeInForce': 'GTC', 'type': 'LIMIT', 'reduceOnly': False, 'closePosition': False, 'side': 'BUY', 'positionSide': 'BOTH', 'stopPrice': '0', 'workingType': 'CONTRACT_PRICE', 'priceProtect': False, 'origType': 'LIMIT', 'time': 777, 'updateTime': 777}
]
for get_open_order in get_open_orders:
get_status = get_open_order['status']
get_qty = get_open_order['origQty']
get_side = get_open_order['side']
print(f"STATUS: {get_status} | QUANTITY: {get_qty} | SIDE: {get_side}")
输出为:
STATUS: NEW | QUANTITY: 0.001 | SIDE: BUY
STATUS: NEW | QUANTITY: 0.001 | SIDE: BUY