Перейти к основному содержимому

Графики и история

Intotes предоставляет исторические данные на основе снимков для пулов и рынков. Используйте эти эндпоинты для построения ценовых графиков, отслеживания движения вероятностей во времени и анализа рыночных тенденций.

График соотношений пула

Возвращает исторические соотношения вероятностей для рынков пула за заданный временной масштаб.

GET /api/v1/pools/{id}/ratio/chart

Параметры пути

ПараметрТипОписание
idstringID пула.

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

ПараметрТипОписание
scalestringОбязательно. Временной масштаб точек данных. Одно из: 1h, 1d, 1w, 1m.

Справочник масштабов

МасштабЗначениеТипичное использование
1hИнтервалы 1 часВнутридневное представление одной торговой сессии.
1dИнтервалы 1 деньМногодневное представление для событий длительностью от дней до недель.
1wИнтервалы 1 неделяНедельный тренд для долгосрочных событий.
1mИнтервалы 1 месяцОбщий тренд для событий, длящихся месяцы.

Ответ

Возвращает массив точек временных рядов, каждая из которых содержит временную метку и значения соотношений для рынков пула в этот момент времени.

[
{
"timestamp": "2026-03-15T10:00:00Z",
"ratios": {
"Yes": 6200,
"No": 3800
}
},
{
"timestamp": "2026-03-15T11:00:00Z",
"ratios": {
"Yes": 6450,
"No": 3550
}
}
]

Значения соотношений по шкале 0--10000, совпадающей с рыночными ценами. Они всегда в сумме дают 10000 по всем исходам в пуле.

Пример

# Почасовые данные соотношений для пула
curl "https://api.intots.com/api/v1/pools/pool_xyz/ratio/chart?scale=1h"

# Дневные данные соотношений
curl "https://api.intots.com/api/v1/pools/pool_xyz/ratio/chart?scale=1d"

Расширенные графики пула

Возвращает расширенные данные графиков для пула, включая объем и другие агрегатные метрики наряду с ценовой историей.

GET /api/v1/pools/{id}/charts

Параметры пути

ПараметрТипОписание
idstringID пула.

Ответ

Возвращает более богатый набор данных, чем эндпоинт соотношений, подходящий для построения детальных аналитических панелей. Включает ценовые снимки, столбцы объема и количество сделок за интервал.


График цен рынка

Возвращает исторические данные цен для одного рынка (один исход внутри пула).

GET /api/v1/markets/{id}/chart

Параметры пути

ПараметрТипОписание
idstringID рынка.

Ответ

[
{
"timestamp": "2026-03-15T10:00:00Z",
"price": 6200,
"volume": 350000
},
{
"timestamp": "2026-03-15T11:00:00Z",
"price": 6450,
"volume": 120000
}
]
ПолеТипОписание
timestampstringВременная метка ISO 8601 для точки данных.
priceintegerРыночная цена на момент снимка (шкала 0--10000).
volumeintegerОбъем торгов за данный интервал, в копейках.

Как работают снимки

Данные графиков Intotes основаны на снимках: система периодически записывает состояние каждого пула и рынка через фиксированные интервалы. Это означает:

  • Точки данных равномерно распределены согласно выбранному scale.
  • Каждая точка данных отражает цену/соотношение на момент снимка, а не среднее за интервал.
  • Значения объема представляют общую торговую активность между текущим и предыдущим снимками.
  • Если за интервал не было сделок, снимок все равно записывает текущую цену (которая совпадает с предыдущим снимком).

Выбор подходящего эндпоинта

Сценарий использованияЭндпоинт
Сравнение всех исходов пула во времениGET /pools/{id}/ratio/chart
Полная аналитическая панель для пулаGET /pools/{id}/charts
Ценовая история одного конкретного исходаGET /markets/{id}/chart
Обновления цен в реальном времени (без опроса)WebSocket-лента графиков

Комбинирование с данными реального времени

Для плавного отображения графиков загрузите исторические данные из этих эндпоинтов при загрузке страницы, а затем добавляйте живые обновления из WebSocket-ленты графиков событий (/api/v1/ws/events/{event_id}/chart). Это исключает необходимость опроса и поддерживает графики в актуальном состоянии в реальном времени.

// 1. Загрузить исторические данные
const history = await fetch('/api/v1/pools/pool_xyz/ratio/chart?scale=1h').then(r => r.json());

// 2. Подключиться к живым обновлениям
const ws = new WebSocket('wss://api.intots.com/api/v1/ws/events/evt_abc123/chart');
ws.onmessage = (event) => {
const update = JSON.parse(event.data);
if (update.type === 'chart_update') {
history.push(update);
renderChart(history);
}
};

Советы

  • Начните с масштаба 1d для большинства страниц событий -- он обеспечивает хороший баланс детализации и охвата.
  • Используйте 1h для активных торговых сессий, где пользователям нужно детальное движение цен.
  • Значения соотношений всегда в сумме дают 10000 внутри пула. При отображении в процентах они всегда дают в сумме 100%.
  • Объем в копейках. Разделите на 100 для отображения в основной валютной единице.