From bbc2069dadadc35216e386f3cd4d876ea2d58b5b Mon Sep 17 00:00:00 2001 From: oleg-dixon Date: Wed, 10 Dec 2025 18:33:36 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=83=D1=8E=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D1=83=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20mic=20=D0=B8=20si=20?= =?UTF-8?q?=D0=B2=20=D1=86=D0=B8=D0=BA=D0=BB=D0=B5=20for.=20=D0=9F=D1=80?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B5=20mic=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B8=D0=BA=D0=B5=D1=80=D0=B0=20SPB?= =?UTF-8?q?FUT.BRZ5,=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F=20None=20=D0=B8=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8F=20Ticker.py=20=D0=B7=D0=B0=D0=BA=D0=B0=D0=BD?= =?UTF-8?q?=D1=87=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D1=81=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=BE=D0=B9:=20AttributeError:?= =?UTF-8?q?=20'NoneType'=20object=20has=20no=20attribute=20'board'.=20?= =?UTF-8?q?=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B8,=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B0=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Examples/Ticker.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Examples/Ticker.py b/Examples/Ticker.py index 48523e2..8e4556c 100644 --- a/Examples/Ticker.py +++ b/Examples/Ticker.py @@ -19,7 +19,17 @@ for dataname in datanames: # Пробегаемся по всем тикерам finam_board, ticker = fp_provider.dataname_to_finam_board_ticker(dataname) # Код режима торгов Финама и тикер mic = fp_provider.get_mic(finam_board, ticker) # Биржа тикера + + if mic is None: # Проверяем, если MIC не найден (возвращается None) + logger.error(f'MIC не найден для {dataname}') + continue # Продолжаем + si = fp_provider.get_symbol_info(ticker, mic) # Спецификация тикера + + if si is None: # Проверяем, если спецификация тикера не найдена (возвращается None) + logger.error(f'Спецификация тикера не найдена для {dataname}') + continue # Продолжаем + logger.info(f'Информация о тикере {si.board}.{si.ticker} ({si.name}, {si.type}) на бирже {si.mic}') logger.info(f'- Лот: {int(float(si.lot_size.value))}') logger.info(f'- Шаг цены: {si.min_step / (10 ** si.decimals)}')