Skip to content

Commit 94e228f

Browse files
author
方佳
committed
Merge branch 'main_merge_25081501' into 'main'
feat: updated HK market and JP asset interfaces See merge request webull/openapi-python-sdk!17
2 parents 66714ea + c059d88 commit 94e228f

File tree

26 files changed

+269
-62
lines changed

26 files changed

+269
-62
lines changed

webull-python-sdk-core/webullsdkcore/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.1.16"
1+
__version__ = "0.1.17"
22

33
import logging
44

webull-python-sdk-demos/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
LONG_DESCRIPTION = fp.read()
1616

1717
requires = [
18-
"webull-python-sdk-mdata==0.1.16",
19-
"webull-python-sdk-trade==0.1.16"
18+
"webull-python-sdk-mdata==0.1.17",
19+
"webull-python-sdk-trade==0.1.17"
2020
]
2121

2222
setup_args = {

webull-python-sdk-demos/tests/mdata/grpc/grpc_test.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,27 @@
8080
print('get_history_bar request end', '*' * 20)
8181
# Process results...
8282

83+
print('\nget_history_bar request', '*' * 20)
84+
trading_sessions = ['PRE', 'RTH']
85+
res = market_data.get_history_bar('AAPL', 'US_STOCK', 'M5', real_time_required="N", trading_sessions=trading_sessions)
86+
print(res.request_id)
87+
print(res.status_code)
88+
print(res.msg)
89+
print(res.json())
90+
print('get_history_bar request end', '*' * 20)
91+
time.sleep(2)
92+
# Process results...
93+
94+
print('\nget_history_bar request', '*' * 20)
95+
symbols = ['AAPL', 'F']
96+
res = market_data.get_batch_history_bar(symbols, 'US_STOCK', 'M1', count=1, real_time_required="N", trading_sessions=trading_sessions)
97+
print(res.request_id)
98+
print(res.status_code)
99+
print(res.msg)
100+
print(res.json())
101+
print('get_history_bar request end', '*' * 20)
102+
# Process results...
103+
83104
time.sleep(2)
84105
print('get_quote request', '*' * 20)
85106
res = market_data.get_quote('AAPL', 'US_STOCK')

webull-python-sdk-demos/tests/trade/test_api.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,21 @@ def test_api(self):
100100
)
101101
if res.status_code == 200:
102102
print('cn batch history bar:', res.json())
103+
trading_sessions = ['PRE', 'RTH', 'ATH', 'OVN']
104+
res = api.market_data.get_history_bar('AAPL', 'US_STOCK', 'M1', 200, 'N', trading_sessions)
105+
if res.status_code == 200:
106+
print('us stock history bar:', res.json())
107+
108+
res = api.market_data.get_batch_history_bar(
109+
symbols=['AAPL', 'TSLA'],
110+
category=Category.US_STOCK.name,
111+
timespan='M1',
112+
count=1,
113+
real_time_required='N',
114+
trading_sessions=trading_sessions
115+
)
116+
if res.status_code == 200:
117+
print('us batch history bar:', res.json())
103118
res = api.market_data.get_eod_bar(instrument_ids='913303964', count=10)
104119
if res.status_code == 200:
105120
print('eod bar quote:', res.json())

webull-python-sdk-demos/tests/trade/test_api_v2.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,4 +204,19 @@ def test_api(self):
204204
count=1
205205
)
206206
if res.status_code == 200:
207-
print('cn batch history bar:', res.json())
207+
print('cn batch history bar:', res.json())
208+
trading_sessions = ['PRE', 'RTH', 'ATH', 'OVN']
209+
res = api.market_data.get_history_bar('AAPL', 'US_STOCK', 'M1', 200, 'N', trading_sessions)
210+
if res.status_code == 200:
211+
print('us stock history bar:', res.json())
212+
213+
res = api.market_data.get_batch_history_bar(
214+
symbols=['AAPL', 'TSLA'],
215+
category=Category.US_STOCK.name,
216+
timespan='M1',
217+
count=1,
218+
real_time_required='N',
219+
trading_sessions=trading_sessions
220+
)
221+
if res.status_code == 200:
222+
print('us batch history bar:', res.json())

webull-python-sdk-mdata/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
LONG_DESCRIPTION = fp.read()
1616

1717
requires = [
18-
"webull-python-sdk-core==0.1.16",
19-
"webull-python-sdk-quotes-core==0.1.16"
18+
"webull-python-sdk-core==0.1.17",
19+
"webull-python-sdk-quotes-core==0.1.17"
2020
]
2121

2222
setup_args = {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# coding=utf-8
22

3-
__version__ = '0.1.16'
3+
__version__ = '0.1.17'

webull-python-sdk-mdata/webullsdkmdata/quotes/grpc/market_data.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def remove_subscription_rel(self, token, symbols, category, sub_types, unsubscri
7171
result = self.client.get_response(request.get_path(), request.serialize())
7272
return Response(result, quote_pb2.SubscribeResponse())
7373

74-
def get_history_bar(self, symbol, category, timespan, count='200'):
74+
def get_history_bar(self, symbol, category, timespan, count='200', real_time_required=None, trading_sessions=None):
7575
"""
7676
Returns to Instrument in the window aggregated data.
7777
According to the last N K-lines of the stock code, it supports various granularity K-lines such as m1 and m5.
@@ -82,12 +82,14 @@ def get_history_bar(self, symbol, category, timespan, count='200'):
8282
:param category: Security type, enumeration.
8383
:param timespan: K-line time granularity
8484
:param count: The number of lines: the default is 200, and the maximum limit is 1200
85+
:param real_time_required: Returns the latest trade quote data. By default, the most recent market data is returned.
86+
:param trading_sessions: Specify trading session, multiple selections are allowed
8587
"""
86-
request = GetHistoricalBarsRequest(symbol, category, timespan, count)
88+
request = GetHistoricalBarsRequest(symbol, category, timespan, count, real_time_required, trading_sessions)
8789
result = self.client.get_response(request.get_path(), request.serialize())
8890
return Response(result, quote_pb2.BarsResponse())
8991

90-
def get_batch_history_bar(self, symbols, category, timespan, count=200):
92+
def get_batch_history_bar(self, symbols, category, timespan, count=200, real_time_required=None, trading_sessions=None):
9193
"""
9294
Batch query K-line data for multiple symbols, returning aggregated data within the window.
9395
According to the last N K-lines of the stock code, it supports various granularity K-lines such as m1 and m5.
@@ -98,8 +100,10 @@ def get_batch_history_bar(self, symbols, category, timespan, count=200):
98100
:param category: Security type, enumeration
99101
:param timespan: K-line interval
100102
:param count: Number of K-lines to return, default is 200, maximum is 1200
103+
:param real_time_required: Returns the latest trade quote data. By default, the most recent market data is returned.
104+
:param trading_sessions: Specify trading session, multiple selections are allowed
101105
"""
102-
request = GetBatchHistoricalBarsRequest(symbols, category, timespan, count)
106+
request = GetBatchHistoricalBarsRequest(symbols, category, timespan, count, real_time_required, trading_sessions)
103107
result = self.client.get_response(request.get_path(), request.serialize())
104108
return Response(result, quote_pb2.BatchBarsResponse())
105109

webull-python-sdk-mdata/webullsdkmdata/quotes/grpc/pb/quote_pb2.py

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626

2727

28-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bquote.proto\x12\x07openapi\"6\n\x11InstrumentRequest\x12\x0f\n\x07symbols\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"9\n\x12InstrumentResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.openapi.Instrument\"j\n\nInstrument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06symbol\x18\x02 \x01(\t\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\x12\x15\n\rexchange_code\x18\x04 \x01(\t\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\"P\n\x0b\x42\x61rsRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08timespan\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\t\"S\n\x0c\x42\x61rsResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1c\n\x06result\x18\x03 \x03(\x0b\x32\x0c.openapi.Bar\"[\n\x03\x42\x61r\x12\x0c\n\x04time\x18\x01 \x01(\t\x12\x0c\n\x04open\x18\x02 \x01(\t\x12\r\n\x05\x63lose\x18\x03 \x01(\t\x12\x0c\n\x04high\x18\x04 \x01(\t\x12\x0b\n\x03low\x18\x05 \x01(\t\x12\x0e\n\x06volume\x18\x06 \x01(\t\"V\n\x10\x42\x61tchBarsRequest\x12\x0f\n\x07symbols\x18\x01 \x03(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08timespan\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x05\":\n\x11\x42\x61tchBarsResponse\x12%\n\x06result\x18\x01 \x03(\x0b\x32\x15.openapi.BarsResponse\"4\n\x0fSnapshotRequest\x12\x0f\n\x07symbols\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"5\n\x10SnapshotResponse\x12!\n\x06result\x18\x01 \x03(\x0b\x32\x11.openapi.Snapshot\"\xc6\x01\n\x08Snapshot\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x12\n\ntrade_time\x18\x03 \x01(\t\x12\r\n\x05price\x18\x04 \x01(\t\x12\x0c\n\x04open\x18\x05 \x01(\t\x12\x0c\n\x04high\x18\x06 \x01(\t\x12\x0b\n\x03low\x18\x07 \x01(\t\x12\x11\n\tpre_close\x18\x08 \x01(\t\x12\x0e\n\x06volume\x18\t \x01(\t\x12\x0e\n\x06\x63hange\x18\n \x01(\t\x12\x14\n\x0c\x63hange_ratio\x18\x0b \x01(\t\"\x1e\n\rTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\"p\n\x10SubscribeRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\x0f\n\x07symbols\x18\x02 \x03(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x11\n\tsub_types\x18\x04 \x03(\t\x12\x17\n\x0funsubscribe_all\x18\x05 \x01(\t\"\x13\n\x11SubscribeResponse\"0\n\x0cQuoteRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"t\n\rQuoteResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1d\n\x04\x61sks\x18\x03 \x03(\x0b\x32\x0f.openapi.AskBid\x12\x1d\n\x04\x62ids\x18\x04 \x03(\x0b\x32\x0f.openapi.AskBid\"e\n\x06\x41skBid\x12\r\n\x05price\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\x12\x1d\n\x05order\x18\x03 \x03(\x0b\x32\x0e.openapi.Order\x12\x1f\n\x06\x62roker\x18\x04 \x03(\x0b\x32\x0f.openapi.Broker\"#\n\x05Order\x12\x0c\n\x04mpid\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\"#\n\x06\x42roker\x12\x0b\n\x03\x62id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\">\n\x0bTickRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\r\n\x05\x63ount\x18\x03 \x01(\t\"T\n\x0cTickResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1d\n\x06result\x18\x03 \x03(\x0b\x32\r.openapi.Tick\"A\n\x04Tick\x12\x0c\n\x04time\x18\x01 \x01(\t\x12\r\n\x05price\x18\x02 \x01(\t\x12\x0e\n\x06volume\x18\x03 \x01(\t\x12\x0c\n\x04side\x18\x04 \x01(\tb\x06proto3')
28+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bquote.proto\x12\x07openapi\"6\n\x11InstrumentRequest\x12\x0f\n\x07symbols\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"9\n\x12InstrumentResponse\x12#\n\x06result\x18\x01 \x03(\x0b\x32\x13.openapi.Instrument\"j\n\nInstrument\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06symbol\x18\x02 \x01(\t\x12\x15\n\rinstrument_id\x18\x03 \x01(\t\x12\x15\n\rexchange_code\x18\x04 \x01(\t\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\"\x86\x01\n\x0b\x42\x61rsRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08timespan\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\t\x12\x1a\n\x12real_time_required\x18\x05 \x01(\t\x12\x18\n\x10trading_sessions\x18\x06 \x01(\t\"S\n\x0c\x42\x61rsResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1c\n\x06result\x18\x03 \x03(\x0b\x32\x0c.openapi.Bar\"[\n\x03\x42\x61r\x12\x0c\n\x04time\x18\x01 \x01(\t\x12\x0c\n\x04open\x18\x02 \x01(\t\x12\r\n\x05\x63lose\x18\x03 \x01(\t\x12\x0c\n\x04high\x18\x04 \x01(\t\x12\x0b\n\x03low\x18\x05 \x01(\t\x12\x0e\n\x06volume\x18\x06 \x01(\t\"\x8c\x01\n\x10\x42\x61tchBarsRequest\x12\x0f\n\x07symbols\x18\x01 \x03(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\x10\n\x08timespan\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x05\x12\x1a\n\x12real_time_required\x18\x05 \x01(\t\x12\x18\n\x10trading_sessions\x18\x06 \x03(\t\":\n\x11\x42\x61tchBarsResponse\x12%\n\x06result\x18\x01 \x03(\x0b\x32\x15.openapi.BarsResponse\"4\n\x0fSnapshotRequest\x12\x0f\n\x07symbols\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"5\n\x10SnapshotResponse\x12!\n\x06result\x18\x01 \x03(\x0b\x32\x11.openapi.Snapshot\"\xc6\x01\n\x08Snapshot\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x12\n\ntrade_time\x18\x03 \x01(\t\x12\r\n\x05price\x18\x04 \x01(\t\x12\x0c\n\x04open\x18\x05 \x01(\t\x12\x0c\n\x04high\x18\x06 \x01(\t\x12\x0b\n\x03low\x18\x07 \x01(\t\x12\x11\n\tpre_close\x18\x08 \x01(\t\x12\x0e\n\x06volume\x18\t \x01(\t\x12\x0e\n\x06\x63hange\x18\n \x01(\t\x12\x14\n\x0c\x63hange_ratio\x18\x0b \x01(\t\"\x1e\n\rTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\"p\n\x10SubscribeRequest\x12\r\n\x05token\x18\x01 \x01(\t\x12\x0f\n\x07symbols\x18\x02 \x03(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12\x11\n\tsub_types\x18\x04 \x03(\t\x12\x17\n\x0funsubscribe_all\x18\x05 \x01(\t\"\x13\n\x11SubscribeResponse\"0\n\x0cQuoteRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"t\n\rQuoteResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1d\n\x04\x61sks\x18\x03 \x03(\x0b\x32\x0f.openapi.AskBid\x12\x1d\n\x04\x62ids\x18\x04 \x03(\x0b\x32\x0f.openapi.AskBid\"e\n\x06\x41skBid\x12\r\n\x05price\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\x12\x1d\n\x05order\x18\x03 \x03(\x0b\x32\x0e.openapi.Order\x12\x1f\n\x06\x62roker\x18\x04 \x03(\x0b\x32\x0f.openapi.Broker\"#\n\x05Order\x12\x0c\n\x04mpid\x18\x01 \x01(\t\x12\x0c\n\x04size\x18\x02 \x01(\t\"#\n\x06\x42roker\x12\x0b\n\x03\x62id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\">\n\x0bTickRequest\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\r\n\x05\x63ount\x18\x03 \x01(\t\"T\n\x0cTickResponse\x12\x0e\n\x06symbol\x18\x01 \x01(\t\x12\x15\n\rinstrument_id\x18\x02 \x01(\t\x12\x1d\n\x06result\x18\x03 \x03(\x0b\x32\r.openapi.Tick\"A\n\x04Tick\x12\x0c\n\x04time\x18\x01 \x01(\t\x12\r\n\x05price\x18\x02 \x01(\t\x12\x0e\n\x06volume\x18\x03 \x01(\t\x12\x0c\n\x04side\x18\x04 \x01(\tb\x06proto3')
2929

3030
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
3131
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'quote_pb2', globals())
@@ -38,42 +38,42 @@
3838
_INSTRUMENTRESPONSE._serialized_end=137
3939
_INSTRUMENT._serialized_start=139
4040
_INSTRUMENT._serialized_end=245
41-
_BARSREQUEST._serialized_start=247
42-
_BARSREQUEST._serialized_end=327
43-
_BARSRESPONSE._serialized_start=329
44-
_BARSRESPONSE._serialized_end=412
45-
_BAR._serialized_start=414
46-
_BAR._serialized_end=505
47-
_BATCHBARSREQUEST._serialized_start=507
48-
_BATCHBARSREQUEST._serialized_end=593
49-
_BATCHBARSRESPONSE._serialized_start=595
50-
_BATCHBARSRESPONSE._serialized_end=653
51-
_SNAPSHOTREQUEST._serialized_start=655
52-
_SNAPSHOTREQUEST._serialized_end=707
53-
_SNAPSHOTRESPONSE._serialized_start=709
54-
_SNAPSHOTRESPONSE._serialized_end=762
55-
_SNAPSHOT._serialized_start=765
56-
_SNAPSHOT._serialized_end=963
57-
_TOKENRESPONSE._serialized_start=965
58-
_TOKENRESPONSE._serialized_end=995
59-
_SUBSCRIBEREQUEST._serialized_start=997
60-
_SUBSCRIBEREQUEST._serialized_end=1109
61-
_SUBSCRIBERESPONSE._serialized_start=1111
62-
_SUBSCRIBERESPONSE._serialized_end=1130
63-
_QUOTEREQUEST._serialized_start=1132
64-
_QUOTEREQUEST._serialized_end=1180
65-
_QUOTERESPONSE._serialized_start=1182
66-
_QUOTERESPONSE._serialized_end=1298
67-
_ASKBID._serialized_start=1300
68-
_ASKBID._serialized_end=1401
69-
_ORDER._serialized_start=1403
70-
_ORDER._serialized_end=1438
71-
_BROKER._serialized_start=1440
72-
_BROKER._serialized_end=1475
73-
_TICKREQUEST._serialized_start=1477
74-
_TICKREQUEST._serialized_end=1539
75-
_TICKRESPONSE._serialized_start=1541
76-
_TICKRESPONSE._serialized_end=1625
77-
_TICK._serialized_start=1627
78-
_TICK._serialized_end=1692
41+
_BARSREQUEST._serialized_start=248
42+
_BARSREQUEST._serialized_end=382
43+
_BARSRESPONSE._serialized_start=384
44+
_BARSRESPONSE._serialized_end=467
45+
_BAR._serialized_start=469
46+
_BAR._serialized_end=560
47+
_BATCHBARSREQUEST._serialized_start=563
48+
_BATCHBARSREQUEST._serialized_end=703
49+
_BATCHBARSRESPONSE._serialized_start=705
50+
_BATCHBARSRESPONSE._serialized_end=763
51+
_SNAPSHOTREQUEST._serialized_start=765
52+
_SNAPSHOTREQUEST._serialized_end=817
53+
_SNAPSHOTRESPONSE._serialized_start=819
54+
_SNAPSHOTRESPONSE._serialized_end=872
55+
_SNAPSHOT._serialized_start=875
56+
_SNAPSHOT._serialized_end=1073
57+
_TOKENRESPONSE._serialized_start=1075
58+
_TOKENRESPONSE._serialized_end=1105
59+
_SUBSCRIBEREQUEST._serialized_start=1107
60+
_SUBSCRIBEREQUEST._serialized_end=1219
61+
_SUBSCRIBERESPONSE._serialized_start=1221
62+
_SUBSCRIBERESPONSE._serialized_end=1240
63+
_QUOTEREQUEST._serialized_start=1242
64+
_QUOTEREQUEST._serialized_end=1290
65+
_QUOTERESPONSE._serialized_start=1292
66+
_QUOTERESPONSE._serialized_end=1408
67+
_ASKBID._serialized_start=1410
68+
_ASKBID._serialized_end=1511
69+
_ORDER._serialized_start=1513
70+
_ORDER._serialized_end=1548
71+
_BROKER._serialized_start=1550
72+
_BROKER._serialized_end=1585
73+
_TICKREQUEST._serialized_start=1587
74+
_TICKREQUEST._serialized_end=1649
75+
_TICKRESPONSE._serialized_start=1651
76+
_TICKRESPONSE._serialized_end=1735
77+
_TICK._serialized_start=1737
78+
_TICK._serialized_end=1802
7979
# @@protoc_insertion_point(module_scope)

webull-python-sdk-mdata/webullsdkmdata/quotes/grpc/proto/quote.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ message BarsRequest {
2424
string category = 2;
2525
string timespan = 3;
2626
string count = 4;
27+
string real_time_required = 5;
28+
string trading_sessions = 6;
2729
}
2830

2931
message BarsResponse {
@@ -46,6 +48,8 @@ message BatchBarsRequest{
4648
string category = 2;
4749
string timespan = 3;
4850
int32 count = 4;
51+
string real_time_required = 5;
52+
repeated string trading_sessions = 6;
4953
}
5054

5155
message BatchBarsResponse {

0 commit comments

Comments
 (0)