Початок роботи
Увімкніть Local API, отримайте токен і зробіть перший запит із Python або TypeScript.
Ця сторінка проведе вас від запущеного термінала до живих даних у вашій
програмі. Ваша програма звертається лише до 127.0.0.1, а з біржами
працює термінал.
Увімкнути API
Відкрийте в терміналі Settings App → Загальні й увімкніть Local API. Перезапуск не потрібен.
У рядку показано порт. Це 48180, якщо термінал не запущено зі змінною
середовища SPECTRE_LOCAL_API_PORT. Якщо згодом вимкнути API, відкриті
стріми закриються з кодом 1001.
Отримати токен
Натисніть Копіювати токен у тому самому рядку й покладіть токен у середовище своєї програми. Значення нижче — зразок.
export SPECTRE_LOCAL_API_TOKEN=spt_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdefУ Windows setx діє у вікнах командного рядка, відкритих після неї.
Токен дозволяє все, що може вікно термінала, зокрема ставити заявки. Не додавайте його в репозиторій і не вставляйте у звіт про помилку. Перевипустити токен у тому самому рядку одразу замінює його.
Встановити клієнт
pip install spectre-terminalЗробити перший запит
from spectre_terminal import Terminal
terminal = Terminal.discover()
meta = terminal.meta()
print(meta.app_version, meta.scopes, meta.topics)discover() знаходить порт, читає токен із середовища й робить один
пробний запит. Неправильний токен або незапущений термінал дають помилку
тут, а не на першому виклику даних. Див.
Коли пошук не вдається.
Прочитати дані
for connection in terminal.connections():
print(connection.id, connection.exchange, connection.market, connection.status.state)
book = terminal.orderbook("binance:futures:BTCUSDT", depth=5)
for price, size in book.bids:
print(price, size)Інструмент має адресу: exchange:market:symbol. Символ пишеться так, як
його пише біржа. Див. Ринкові дані.
Стежити за живими даними
import asyncio
async def main():
async with terminal.stream() as stream:
await stream.subscribe("trades", "binance:futures:BTCUSDT")
async for frame in stream:
print(frame)
asyncio.run(main())Цикл друкує угоди в міру їх надходження. Див. Стрімінг.
Що недоступно
Відповідь торгового виклику не каже, що зробила біржа. accepted
означає, що термінал прийняв команду. Результат читайте з рахунку, див.
Торгівля.
Московська біржа (MOEX) не обслуговується: немає ні ринкових даних, ні торгівлі.
Запити зі сторінок браузера відхиляються.