Files
raptor-trading/scan_accounts.py

48 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import os
from dotenv import load_dotenv
from t_tech.invest import Client
# Настройка SSL для российских сертификатов
os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
os.environ['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = '/etc/ssl/certs/ca-certificates.crt'
load_dotenv("tok.env")
TOKEN = os.getenv("TINKOFF_TOKEN")
SBER_UID = "a78b8349-a1dc-447d-9277-1d75826d089a"
print("\n--- ПОИСК РЕАЛЬНЫХ ТОРГОВЫХ СЧЕТОВ ---")
try:
with Client(TOKEN, target="invest-public-api.tbank.ru:443") as client:
# 1. Запрашиваем цену и ВРЕМЯ этой цены из общего потока
price_resp = client.market_data.get_last_prices(instrument_id=[SBER_UID])
lp = price_resp.last_prices[0]
actual_price = lp.price.units + lp.price.nano / 1e9
price_date = lp.time
print(f"🌍 ТЕКУЩАЯ ЦЕНА В API: {actual_price} руб.")
print(f"📅 ДАТА ЭТОЙ ЦЕНЫ: {price_date.strftime('%Y-%m-%d %H:%M:%S')} UTC")
if actual_price < 310:
print("\n🚨 ВНИМАНИЕ: Сервер все еще выдает СТАРУЮ цену (симуляция).")
else:
print("\n✅ API выдает АКТУАЛЬНУЮ рыночную цену!")
# 2. Получаем список всех доступных счетов
accounts = client.users.get_accounts().accounts
print("\n--- СПИСОК ВАШИХ СЧЕТОВ ---")
for acc in accounts:
try:
# Проверяем баланс каждого счета
portfolio = client.operations.get_portfolio(account_id=acc.id)
balance = portfolio.total_amount_currencies.units
except:
balance = "Ошибка доступа"
print(f"🔹 Имя: {acc.name:15} | ID: {acc.id}")
print(f" Тип: {acc.type.name:20} | Баланс: {balance} руб.")
print("-" * 50)
except Exception as e:
print(f"\n❌ ОШИБКА: {e}")