Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Выдает ошибку #1

Closed
Liddel2019 opened this issue Oct 28, 2023 · 6 comments
Closed

Выдает ошибку #1

Liddel2019 opened this issue Oct 28, 2023 · 6 comments

Comments

@Liddel2019
Copy link

2023-09-29 15:21:50,121 - logging - ERROR - log_error: 50 - None MarketDataStream CANCELLED Received RST_STREAM with error code 8
2023-09-29 16:44:06,547 - logging - ERROR - log_error: 50 - None MarketDataStream CANCELLED Received RST_STREAM with error code 8
2023-09-29 17:07:30,233 - logging - ERROR - log_error: 50 - None MarketDataStream UNKNOWN Stream removed

Что пробывал - менял расположение папки для собранных данных , пересоздавал токены, пробывал запуск от имени администратора.
параметры settings -
[WATCHER]
MAX_SEC_API_SILENCE=15
DELAY_BETWEEN_API_ERRORS_SEC=10

[INVEST_API]
TOKEN=t.7DtLszx_-***
APP_NAME=bot1

[DATA_COLLECTION]
CANDLES=1
TRADES=1
LAST_PRICE=1

[STOCK_FIGI]
AQUA=BBG000W325F7
ABRD=BBG002W2FT69
AMEZ=TCS00A0B88G6

[STORAGE]
TYPE=FILES_CSV

[STORAGE_SETTINGS]
ROOT_PATH=C:\progect\raw_market_data
BUFFER_ROW_SIZE=10000000

@EIDiamond
Copy link
Owner

Похоже на все те же ошибки от API, где ребята из Tinkoff не гарантируют SLA:
Tinkoff/invest-python#160
Tinkoff/invest-python#210

У нас сделано так, что если во время дневной сессии происходит ошибка, то сборшик данных сам перезапускается через DELAY_BETWEEN_API_ERRORS_SEC секунд. Для уменьшения потери данных, можно поставить в 0 или 1.
В таком случае, должна быть запись в логе от этой строчки: "Try again after {self.__api_errors_delay} seconds"

Если работает как задумано, то на нашей стороне сделано все возможное и максимум могли потерять небольшую часть данных, до запрос данных сильно усложнит логику.

ПС. 3-й эшелон :) Опасненько.

@Liddel2019
Copy link
Author

Проблема в том что он вообще ничего не собирает, месяц назад все работало, сейчас я запускаю и происходит это, я пытался исправить проблему но ничего не помогает. Если вам не сложно то могли бы вы отправить бд на одну или несколько акций ( любых) тк у меня не достаточно данных а новые я собрать не могу, в понедельник я попробую ещё раз запустить только с логирование INFO (сейчас ERROR). В коде я ничего не менял кроме логгирования, поэтому не понимаю в чем проблема. У меня на 3 компьютерах запушенно в общей сложности 20 проектов ( с разными апи на разных счетах) и раньше все работало замечательно.

@Liddel2019
Copy link
Author

Так же по поводу ошибок MarketDataStream CANCELLED Received RST_STREAM with error code 8. Они происходят после каждого запроса. Я пробовал запускать по одному боту с одной акцией, не помогало. Возможно проблема в новой защите от ддос атак, но как тогда быть я не знаю.

@EIDiamond
Copy link
Owner

Да, было бы не плохо посмотреть на полный лог, лучше даже в DEBUG.
Мы сейчас данные не собираем, так что отправить не чего.

Касательно сбора информации в целом, есть один кардинальный метод.
Вообще исторические данные и без странных ошибок от Tinkoff можно получить из других источников.
Например: Официальное API от Московской биржи https://iss.moex.com/iss/reference/ .
Пару примеров запросов, которые входят в бесплатную часть на примере Аэрофлота (можно открывать прямо в браузере):

  1. https://iss.moex.com/iss/engines/stock/markets/shares/securities/AFLT/candleborders.xml
    Информация о храняшихся данных по свечам и интеравалам для них.
  2. https://iss.moex.com/iss/engines/stock/markets/shares/securities/AFLT/candles.xml?start=1530000&interval=1
    Свечи на интервал в 1 минуту. start=1530000 - это не совсем понятно, то ли страница, то ли номер интеравала начиная с самого начала периода (период описан в п1), ну в целом найти нужные данные можно.
  3. https://iss.moex.com/iss/engines/stock/markets/shares/securities/AFLT/trades.xml
    Список сделок. Вроде только за день, тут да можно просто один раз в день запускать и собирать за предыдущий день.
  4. https://iss.moex.com/iss/engines/stock/markets/shares/securities/AFLT/orderbook.xml
    Стакан - но это уже платно.

У нас получилось так, написали этот проект, а через какое-то вермя обнаружили API биржи, но времени на переработку как обычно нет.

@Liddel2019
Copy link
Author

Вроде можно из тинькофф апи вытащить в ЗИП файле за 1 год, буду пробовать, логи в понедельник отправлю

@Liddel2019
Copy link
Author

проблема исчезла

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants