方法用於獲取當前所有交易的狀態,包括成交、未成交以及取消的訂單。
api.Order.get_trades()
{'Y0012': Trade(
order=
Order(order_id='Y0012',
action=<Action.Buy: 'B'>,
symbol='1101',
quantity=5,
price=23.0,
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.LMT: 0>,
odd_lot=<OddLot.Common: 0>),
order_status=
OrderStatus(nid='00006873',
status=<Status.Submitted>,
modified_time='174501',
modified_quantity=5,
modified_price=23.0,
deals=[]),
operations=
[Operation(nid='00006873',
task=<Task.NewOrder>,
status=<Status.Success>,
op_time='174501')
]
)
}
api.Order.get_trades(True)
{'Y0012': Trade(
order=
Order(order_id='Y0012',
action=<Action.Buy: 'B'>,
symbol='1101',
quantity=5,
price=23.0,
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.LMT: 0>,
odd_lot=<OddLot.Common: 0>),
order_status=
OrderStatus(nid='00006873',
status=<Status.Submitted>,
modified_time='174501',
modified_quantity=5,
modified_price=23.0,
deals=[]),
operations=[
Operation(nid='00006873',
task=<Task.NewOrder>,
status=<Status.Success>,
op_time='174501')
]) ,
'Y000X': Trade(
order=
Order(order_id='Y000X',
action=<Action.Buy: 'B'>,
symbol='1234',
quantity=2,
price=0.0,
order_cond=<OrderCond.CASH: 0>,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.MKT>,
odd_lot=<OddLot.Common: 0>),
order_status=
OrderStatus(nid='00006857',
status=<Status.PartFilled_Cancelled>,
modified_time='171830',
modified_quantity=0,
modified_price='市價',
deals=[Deal(quantity=1,
price=44.1,
ts='171743',
reportseq='00006856')]),
operations=[
Operation(
nid='00006856',
task=<Task.NewOrder>,
status=<Status.Success>,
op_time='171704'),
Operation(nid='00006857',
task=<Task.UpdateQty>,
status=<Status.Success>,
op_time='171830',
msg='NewQty_0')
])
}
| 參數 | 資料型態 | 說明 |
|---|---|---|
| full | bool | 預設值為 `False`。 當設置為 `True` 時顯示所有交易;設置為 `False` 時僅顯示仍在市場上的交易。 |
字典結構,key 為 order_id(委託單號),value 為 Trade 物件,該物件包含該委託的完整資訊,包括訂單內容、狀態、操作紀錄。