For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tiger API

Документация по работе с Tiger Websocket API

Назначение

Tiger API — локальный сервер сигналов (WebSocket) для связи скринеров и других внешних сервисов с терминалом Tiger.com Windows.

В текущей версии принимает команду setLinkSymbol и мгновенно открывает переданный тикер в указанной группе линковки, чтобы инструмент на графике и/или стакане обновился без ручных действий.

Где включать в терминале

  1. Откройте меню: Настройки → Локальный сервер сигналов → Включить сервер сигналов → Сохранить.

  2. По умолчанию для WebSocket-сервера используется порт 7819.

Подключив тумблер, можно использовать команду setLinkSymbol и другие WS-сообщения, описанные ниже.

Поддерживаемые типы запросов

{ "type": "OpenMultiExSymbol", "e": "BINANCE", "m": "SPOT", "symbol": "BTCUSDT", }

{ "type": "setLinkSymbol", "e": "BINANCE", "m": "SPOT", "symbol": "BTCUSDT", "linkGroup": "A" }

Правила валидации

  • Все поля обязательные;

  • Регистр значений не важен (сервер нормализует и эхо-возвращает в каноническом виде, см. примеры ниже);

  • m: только SPOT или FUTURES (в ответе нормализуется в Spot/Futures);

  • linkGroup: строка (буква A–Z или цифра 0–11; словари групп см. справочник ниже);

  • Для команды OPENMULTIEXSYMBOL обязательными являются поля type, e, m, symbol. Поле linkGroup не требуется;

  • При обработке OPENMULTIEXSYMBOL система проверяет, что по e + m + symbol найден ровно один активный инструмент. Если найдено несколько → ошибка More than one symbol found;

  • Важно: В поле symbol всегда используйте код тикера конкретной биржи из поля e.

Примеры запросов и ответов

Успешный запрос

Пример

socket.send('{"type":"setLinkSymbol","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT","linkGroup":"A"}');

{ "title": "Successful request", "message": "Symbol linked successfully.", "request": { "e": "BINANCE", "m": "Spot", "symbol": "BTCUSDT", "linkGroup": "A", " type": "SetLinkSymbol" }, "response": { "type": "successfully", "timestamp": "2025-09-01T13:18:50.2327892+03:00" } }

Неверный тип команды или битый JSON

Пример 1: неизвестный тип (ключи валидные, но значение поля type неверно)

socket.send('{"type":"InvalidType","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT","linkGroup":"A"}');

{ "title": "Invalid JSON (syntax error)", "message": "Invalid JSON. Connection will close.", "request": { "type": "InvalidType", "e": "BINANCE", "m": "SPOT", "symbol": "BTCUSDT", "linkGroup": "A" }, "response": { "type": "error", "error": { "message": "Invalid JSON format", "code": 400 }, "timestamp": "2025-09-01T13:20:30.6586708+03:00" }, "connection_close": { "code": 1007, "reason": "Invalid JSON format" } }

Пример 2: невалидный JSON

socket.send('"type": "InvalidType", "e": "BINANCE", "m": "SPOT", "symbol": "BTCUSDT", "linkGroup": "A"}');

{ "title": "Invalid JSON (syntax error)", "message": "Invalid JSON. Connection will close.", "request": null, "response": { "type": "error", "error": { "message": "Invalid JSON format", "code": 400 }, "timestamp": "2025-09-01T13:21:21.996182+03:00" }, "connection_close": { "code": 1007, "reason": "Invalid JSON format" } }

Поведение соединения: при синтаксической ошибке JSON сервер присылает ошибку и закрывает соединение с кодом 1007.

Ошибка валидации полей (соединение не закрывается)

Пропущены обязательные поля

socket.send('{"type":"setLinkSymbol","e":"","m":"SPOT","symbol":"","linkGroup":""}');

{ "title": "Missing required fields", "message": "Some fields are missing.", "request": { "e": "", "m": "Spot", "symbol": "", "linkGroup": "", "type": "SetLinkSymbol" }, "response": { "type": "error", "error": { "message": "'e' is empty, 'symbol' is empty, 'linkGroup' is empty", "code": 400 }, "timestamp": "2025-09-01T13:26:53.6306133+03:00" } }

Несуществующий символ

socket.send('{"type":"setLinkSymbol","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT1","linkGroup":"A"}');

{ "title": "Symbol not found", "message": "Trading symbol not found.", "request": { "e": "BINANCE", "m": "Spot", "symbol": "BTCUSDT1", "linkGroup": "A", "type": "SetLinkSymbol" }, "response": { "type": "error", "error": { "message": "Symbol not found", "code": 400 }, "timestamp": "2025-09-01T13:28:10.9152168+03:00" } }

Некорректная группа линковки

socket.send('{"type":"setLinkSymbol","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT","linkGroup":"AX"}');

{ "title": "Invalid link group", "message": "Link group not found.", "request": { "e": "BINANCE", "m": "Spot", "symbol": "BTCUSDT", "linkGroup": "AX", "type": "SetLinkSymbol" }, "response": { "type": "error", "error": { "message": "linkedGroup not found", "code": 400 }, "timestamp": "2025-09-01T13:30:20.101782+03:00" } }

Примеры для OPENMULTIEXSYMBOL

Успешный запрос

{"type":"OPENMULTIEXSYMBOL","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT"}

{ "title": "MultiEx window opened", "message": "Symbol opened in MultiEx window successfully.", "request": {"e":"BINANCE","m":"Spot","symbol":"BTCUSDT","type":"OPENMULTIEXSYMBOL"}, "response": {"type":"successfully","timestamp":"2026-01-14T12:00:00.0000000+03:00"} }

Ошибка: инструмент не найден

{"type":"OPENMULTIEXSYMBOL","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT1"}

{ "title": "Symbol not found", "message": "Trading symbol not found.", "request": {"e":"BINANCE","m":"Spot","symbol":"BTCUSDT1","type":"OPENMULTIEXSYMBOL"}, "response": {"type":"error","error":{"message":"Symbol not found","code":400},"timestamp":"..."} }

Ошибка: найдено несколько инструментов

{"type":"OPENMULTIEXSYMBOL","e":"BINANCE","m":"SPOT","symbol":"BTCUSDT"}

{ "title": "More than one symbol found", "message": "More than one symbol found for the specified exchange, market, and symbol.", "request": {"e":"BINANCE","m":"Spot","symbol":"BTCUSDT","type":"OPENMULTIEXSYMBOL"}, "response": {"type":"error","error":{"message":"More than one symbol found","code":400},"timestamp":"..."} }

Ping/Pong

Поддерживаются два варианта пинга.

Текстовый

socket.send('ping');

ответ: 'pong'

JSON

socket.send('{"type":"ping","title":"some title","message":"some message"}');

{ "title": "Pong", "message": "Response 'pong' to 'ping'.", "request": { "title": "some title", "message": "some message", "type": "Ping" }, "response": { "type": "successfully", "timestamp": "2025-09- 01T13:35:34.0389026+03:00" } }

Справочник по значениям

Биржи (e)

Список поддерживаемых бирж и коннекторов:

  • Binance;

  • Binance-Fut;

  • Binance-Alpha;

  • BYBIT;

  • OKX;

  • MEXC;

  • BITMEX;

  • Bitfinex;

  • Gate.io;

  • Bitget;

  • TigerX;

  • AsterDEX;

  • Hyperliquid;

  • Kucoin;

  • Lighter.

Передаваемое значение регистронезависимо. 

Тип рынка (m)

SPOT или FUTURES (регистр не важен; в ответе нормализуется до Spot/Futures). 

Группы линковки (linkGroup)

Передаётся строка. Допустимые группы — буквенные A–Z и цифровые 0–11. Цветовые соответствия и полный справочник доступны в проектной заметке№

Буквенные группы

A: #FFF9C4

B: #93FF9D

C: #1DEAC5

D: #D380FF

E: #FFA5A9

F: #EFE95F

G: #30F74C

H: #01AC8D

I: #9CA6FF

J: #C2595B

K: #CFC937

L: #05D759

M: #0DB9D7

N: #7455F2

O: #A95A7D

P: #EBA14C

Q: #08DA8E

R: #2586E0

S: #1A46DF

T: #905BA0

U: #F56334

V: #05A964

W: #00879A

X: #4D23F5

Y: #6C26EE

Z: #3C3C3C

Цифровые группы

0: #FFAA00

1: #FF4E00

2: #CB3400

3: #87EA09

4: #31DA06

5: #178905

6: #00E0FF

7: #0A7AE0

8: #0A42D2

9: #9655F2

10: #A700FF

11: #6509D5

Поведение соединения и коды ошибок

  • Синтаксическая ошибка JSON (невозможность распарсить, либо некорректная команда type) → ошибка с code 400 и закрытие соединения с WebSocket-кодом 1007.

  • Ошибки валидации содержимого (пустые поля, несуществующий символ, неверная группа, а также для OPENMULTIEXSYMBOL — Symbol not found и More than one symbol found) → ошибка с code 400, соединение остаётся открытым.

Примеры push сообщений

Рекомендации клиенту

  • На синтаксические ошибки JSON (закрытие 1007) — переподключение с экспоненциальной задержкой и предварительной локальной валидацией JSON перед отправкой.

  • На ошибки валидации содержимого — исправление полей и повторная отправка без переподключения.

  • Поддерживать keep-alive через периодический ping (текстовый или JSON);

  • При использовании OPENMULTIEXSYMBOL обрабатывайте ошибки Symbol not found и More than one symbol found — они означают, что нужно проверить корректность e, m, symbol.

Last updated