Tinkoff / invest-python

Tinkoff Invest Python gRPC client
https://tinkoff.github.io/invest-python/
Apache License 2.0
303 stars 88 forks source link

В документации API не совсем понятно как подписаться сразу на несколько стримов #165

Closed qqStardy closed 1 year ago

qqStardy commented 1 year ago

Что случилось?

Не совсем понимаю как подписаться сразу на несколько стримов, в примерах не нашёл. Как это делать правильно? Попробовал так, не получилось:

Воспроизведение

async def request_iterator():
        yield MarketDataRequest(
            subscribe_candles_request=SubscribeCandlesRequest(
                waiting_close=True,
                subscription_action=SubscriptionAction.SUBSCRIPTION_ACTION_SUBSCRIBE,
                instruments=[
                    CandleInstrument(
                        figi="BBG004730RP0",
                        interval=SubscriptionInterval.SUBSCRIPTION_INTERVAL_ONE_MINUTE,
                    )
                    #for figi in figies
                ],
            ),
            subscribe_order_book_request=SubscribeOrderBookRequest(
                subscription_action=SubscriptionAction.SUBSCRIPTION_ACTION_SUBSCRIBE,
                instruments=[
                    OrderBookInstrument(
                        figi = "BBG004730RP0",
                        depth = 50
                    )
                    #for figi in figies
                ],
            )
        )
        while True:
            await asyncio.sleep(1)

Tinkoff Invest Version

0.2.0-beta43

Python Version

3.10

OS

Windows

Логи

No response

daxartio commented 1 year ago

Что значит несколько стримов? Например подписаться на:

qqStardy commented 1 year ago

image В документации написано что можно подписаться на несколько стримов market_data, но в примерах я не нашёл как это сделать, единственное что нашёл это одно stream-соединение image

irusland commented 1 year ago

Взгляните на пример https://github.com/Tinkoff/invest-python/blob/main/examples/easy_stream_client.py здесь подписка по осуществляется на разные типы данных, info и candles

daxartio commented 1 year ago

Да, или можно несколько раз передать Request через yield в генераторе