# イベントコントラクト K 線プッシュ

on_recv_rsp(self, rsp_pb)

  • 説明

    イベントコントラクト K 線プッシュコールバック。登録済みイベントコントラクトのリアルタイム K 線プッシュを非同期処理します。
    イベントコントラクト K 線データプッシュの受信時にこの関数がコールバックされます。派生クラスで on_recv_rsp をオーバーライドしてください。

  • パラメータ

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

    パラメータ 説明
    ret RET_CODE API呼び出し結果
    data pd.DataFrame ret == RET_OK の場合、イベントコントラクト K 線データを返します
    str ret != RET_OK の場合、エラーの説明を返します
    • K 線データの形式は以下の通りです:
      フィールド 説明
      code str コントラクトコード
      pre_side PredSide コントラクト方向(YES/NO)。コントラクト K 線时有値、イベント K 線はサーバー返却値準拠
      name str コントラクト名
      time_key str K 線時刻
      open float 始値
      high float 高値
      low float 安値
      close float 終値
      volume float 取引量
  • Example

import time
from moomoo import *

class EventContractKlineTest(EventContractKlineHandlerBase):
    def on_recv_rsp(self, rsp_pb):
        ret_code, data = super(EventContractKlineTest, self).on_recv_rsp(rsp_pb)
        if ret_code != RET_OK:
            print("EventContractKlineTest: error, msg: %s" % data)
            return RET_ERROR, data
        print("EventContractKlineTest ", data)  # EventContractKlineTest 独自処理
        return RET_OK, data

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
handler = EventContractKlineTest()
quote_ctx.set_handler(handler)  # イベントコントラクト K 線プッシュコールバック設定
ret, data = quote_ctx.subscribe_event_contract(
    code_list=['EC.KXODIMATCH-26JUL140600INDENG-IND'],
    subtype_list=[SubType.K_DAY],
    kline_source_list=[ECKlineSource.NONE],
    subscribe_push=True)  # K 線タイプを登録、OpenD がサーバーからの継続プッシュ受信を開始
if ret == RET_OK:
    print(data)
else:
    print('error:', data)
time.sleep(15)  # OpenD プッシュ受信時間を15秒に設定
quote_ctx.close()  # 接続を閉じる、OpenD は1分後に対応コントラクト対応タイプの登録を自動解除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  • Output
EventContractKlineTest                                   code pre_side                      name             time_key  open  high   low  close  volume
0  EC.KXODIMATCH-26JUL140600INDENG-IND      YES  England vs India Winner?  2026-07-13 00:00:00  0.51  0.52  0.48    0.5  7831.0
1
2