# 事件合约Combo询价

request_combo_quotes(combo_leg_list, mvc)

  • 介绍

    提交用户组合的合约腿(ComboLeg 列表)与 MVC 标的,对组合合约进行询价,返回该组合的买卖价(bid/ask)与报价 ID(下单时使用)。

  • 参数

    参数 类型 说明
    combo_leg_list ComboLeg 腿列表,元素须为 ComboLeg 对象,非空
    mvc str MVC 标的,从 get_valid_combo_list 返回值透传
  • 返回

    参数 类型 说明
    ret RET_CODE 接口调用结果
    data dict 当 ret == RET_OK,返回询价结果
    str 当 ret != RET_OK,返回错误描述
  • Example

from moomoo import *

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

# 1. 先获取可 Combo 事件与 mvc
ret, combo_data, mvc, _ = quote_ctx.get_valid_combo_list(category='Sports', count=1)
if ret != RET_OK:
    print('获取 combo 列表失败:', combo_data)
    quote_ctx.close()
    exit()

# 2. 构造腿并询价(两条腿可来自不同 event,pred_side 必填)
leg1 = ComboLeg()
leg1.code = 'EC.KXWCADVANCE-26JUL14FRAESP-FRA'
leg1.trd_side = TrdSide.BUY
leg1.qty_ratio = 1
leg1.pred_side = PredSide.YES

leg2 = ComboLeg()
leg2.code = 'EC.KXWCADVANCE-26JUL15ENGARG-ENG'
leg2.trd_side = TrdSide.BUY
leg2.qty_ratio = 1
leg2.pred_side = PredSide.YES

ret, data = quote_ctx.request_combo_quotes([leg1, leg2], mvc)
if ret == RET_OK:
    print('bid:', data['bid_price'], 'ask:', data['ask_price'])
    print('quote_id:', data['quote_id'])
    print('should_retry:', data['should_retry'])
    for leg in data['combo_leg_list']:
        print('  leg:', repr(leg))
else:
    print('error:', data)
quote_ctx.close()
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
27
28
29
30
31
32
33
34
  • Output
bid: N/A ask: 0.333
quote_id: 3fb44348-83e6-4179-a34a-efb09d7b80e6
should_retry: N/A
  leg: ComboLeg(code=EC.KXWCADVANCE-26JUL14FRAESP-FRA, trd_side=BUY, qty_ratio=1.0, pred_side=YES)
  leg: ComboLeg(code=EC.KXWCADVANCE-26JUL15ENGARG-ENG, trd_side=BUY, qty_ratio=1.0, pred_side=YES)
1
2
3
4
5

接口限制

  • 每 30 秒内最多请求 15 次事件合约 Combo 询价接口