Почему после совершения сделки в python приходят 2 уведомления?

Доброго,
Использую официльную SDK на тинькофф api

Ссылка на документацию и сразу на метод

использую метод portfoliostream чтобы подписаться на изменение позиций в портфеле.

with Client(TOKEN) as client:
    accounts = client.users.get_accounts()

    for response in client.operations_stream.portfolio_stream(accounts=[acc.id for acc in accounts.accounts]):
        a = []
        c = client.operations.get_portfolio(account_id=accounts.accounts[0].id)
        #print(c.positions)
        for i in c.positions:
            if (i.instrument_type == 'share'):
                a.append(i.figi)
        print(a)


код на выходе показывает мне список figi, которые находятся в портфеле, но есть одно НО
при, допустим, покупке актива в консоль приходят сразу ДВА! события, вместо одного.
В чем логика? или где я допускаю ошибку?
647f9b4ee7575453487587.jpeg
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Думаю, едва ли кто-нибудь захочет глубоко погружаться в чужой API - с этим вам придется, видимо, потеть самому. Если хотите в этом помощи - задавайте очень конкретный вопрос, причем отдельный, по API. А лучше в их поддержку, это прямее всего.

Что касается кода, разделите его на функции и отладьте каждую по-отдельности. Тогда будет легче найти место ошибки. Поставьте в каждой функции проверку входящих и исходящих типов. В идеале напишите для каждой функции тесты.

Ну и, вдогонку, не используйте однобуквенные и вообще короткие имена - совершенно же нечитаемо.
Пишите длинные понятные имена.
Вам что, выдали ограниченное количество буковок?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы