# 約定プッシュレスポンスコールバック

on_recv_rsp(self, rsp_pb)

  • 概要

    約定プッシュのレスポンス。OpenD からプッシュされた約定ステータス情報を非同期処理します。
    OpenD からプッシュされた約定ステータス情報の受信時にこの関数がコールバックされます。派生クラスで on_recv_rsp をオーバーライドしてください。
    このAPIは本番取引のみ対応しており、デモ取引には非対応です。

  • パラメータ

    パラメータ 説明
    rsp_pb Trd_UpdateOrderFill_pb2.Response 派生クラスでは直接処理不要
  • 戻り値

    パラメータ 説明
    ret RET_CODE API呼び出し結果
    data pd.DataFrame 当 ret == RET_OK 时,返す取引約定リスト
    str 当 ret != RET_OK 时,返すエラー説明
    • 取引約定リストフォーマットは以下の通り:
      フィールド タイプ 説明
      trd_side TrdSide 取引方向
      deal_id str 約定号
      order_id str 注文番号
      code str 銘柄コード
      stock_name str 銘柄名
      qty float 約定数量
      price float 約定価格
      create_time str 作成時刻
      counter_broker_id int 対手ブローカー号
      counter_broker_name str 相手方ブローカー名称
      status DealStatus 約定ステータス
  • Example

from moomoo import *
from time import sleep
class TradeDealTest(TradeDealHandlerBase):
    """ order update push"""
    def on_recv_rsp(self, rsp_pb):
        ret, content = super(TradeDealTest, self).on_recv_rsp(rsp_pb)
        if ret == RET_OK:
            print("TradeDealTest content={}".format(content))
        return ret, content

trd_ctx = OpenSecTradeContext(filter_trdmarket=TrdMarket.US, host='127.0.0.1', port=11111, security_firm=SecurityFirm.FUTUINC)
trd_ctx.set_handler(TradeDealTest())
print(trd_ctx.place_order(price=595.0, qty=100, code="US.AAPL", trd_side=TrdSide.BUY))

sleep(15)
trd_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • Output
TradeDealTest content=  trd_env      code stock_name              deal_id             order_id    qty  price trd_side              create_time  counter_broker_id counter_broker_name trd_market status
0    REAL  US.AAPL        苹果  2511067564122483295  8561504228375901919  100.0  518.0      BUY  2021-11-04 11:29:41.595                  5                   5         US     OK
1
2