Skip to content

最新委託回報

在送出委託之後,可透過委託物件查詢回報,也可以透過註冊事件捕捉最新回報

透過委託物件,查詢最新回報

藉由委託物件 StockOrder 查詢,其中 order.reply 可以查詢到最新回報

python
from eskmo import api
from eskmo import User, Stock, StockOrder, StockOrders
api.logger.show = True
cst = api.const

@api.start
def main():
    user: User = api.login(userId="A123456789", password="*************", tag="me")

    stock: Stock = api.stocks["2897"]
    order: StockOrder = stock.order(cst.ORDER.ACTION.BUY, 9.13, 1).send(user.id)
    reply = order.reply
    print(reply)

除了從送出的委託中取得回報,也可以透過商品檔取出該檔今日委託 StockOrders

再從委託中檢索,取出最新回報 order.reply

python
from eskmo import api
from eskmo import User, Stock, StockOrder, StockOrders
api.logger.show = True
cst = api.const

@api.start
def main():
    user: User = api.login(userId="A123456789", password="*************", tag="me")
    stock: Stock = api.stocks["2897"]

    orders: StockOrders = stock.orders(user.id)
    for order in orders:
        print(order.reply)

註冊事件取得最新回報

另一個獲取最新回報的方式是透過註冊事件 @api.event.order.notify 來獲得回報

python
from eskmo import api
from eskmo import OrderNotifyResult
api.logger.show = True

@api.event.order.notify
def onOrderNotify(result: OrderNotifyResult):
    print(f"最新回報: {result}")

@api.start
def main():
    api.login(userId="A123456789", password="*************")