Market Oracle — что получилось, когда трейдер-разработчик устал от «битых» данных

Market Oracle — что получилось, когда трейдер-разработчик устал от «битых» данных

Зачем вообще это нужно

Если вы пишете торгового бота, AI-агента или сервис продажи сигналов — вы неизбежно упрётесь в данные. Биржевые API криво отдают свечи, индикаторы считают каждый по-своему, а WebSocket рвёт коннект в самый неподходящий момент. Market Oracle — это попытка решить эти проблемы в одном API

Инструмент для тех, кто уже пишет под SPOT-трейдинг: торговые системы, бэктесты, сигнальные сервисы, скринеры. Целевая аудитория — программисты и вайб-кодеры, которым нужна надёжная подложка из данных, чтобы не отвлекаться на инфраструктуру.

Что можно потрогать бесплатно

Бесплатный тариф существует и он бессрочный:

  • 2 000 запросов в день
  • 30 RPM (запросов в минуту)
  • 1 WebSocket-соединение
  • Без срока действия ключа

Для прототипа, обучения или небольшого проекта этого достаточно. Один вызов GET /v1/context/{symbol} возвращает бар с индикаторами, стакан, макро-контекст, деривативы и оценку качества данных — то, что обычно собираешь из 8–10 разных источников.

Поддерживаются основные пары: BTC, ETH, SOL, BNB, DOGE, XRP. Все индикаторы (EMA, RSI, ATR, ADX, VWAP, Bollinger, OBV, MFI, CVD) считаются на нативных таймфреймах и покрыты тестами. Сигнал формируется строго по закрытому бару (closed: true) — никаких «подсмотренных» данных из будущего.

Какие задачи решает

Главная боль, которую решает проект — согласованность данных. Когда ты строишь торговое решение, тебе нужно одновременно знать:

  • Закрытый бар с индикаторами
  • Текущее состояние стакана
  • Макро-фон (Fear&Greed, DXY, yields)
  • Деривативы (funding, OI, ликвидации)
  • Режим рынка (корреляция с BTC, волатильность)

Всё это в одном запросе, с оценкой data_quality.score. Если score < 70 — система сама говорит: «не торгуй сейчас, данные неполные». Это избавляет от необходимости писать кучу проверок в своём коде.

Кому это подойдёт

  • Разработчикам торговых ботов, которые хотят получать готовые данные вместо написания своей пайплайна
  • Создателям сигнальных сервисов — можно сосредоточиться на логике, а не на инфраструктуре данных
  • AI-агентам и LLM-интеграциям — один endpoint отдаёт всю картину рынка в машинно-читаемом формате
  • Вайб-кодерам, которые хотят быстро прототипировать торговую идею без глубокого погружения в биржевые API

Любой может построить своё торговое решение с ChatGPT + Oracle!

Подводные камни реализации

Проект от идеи до рабочего продукта за 6 месяцев. Вот основные проблемы, которые я решал:

1. Дыры в данных. Периодически биржи отваливались или отдавали неполные данные. Это приводило к некорректным индикаторам и ложным сигналам. Пришлось добавлять дополнительные источники котировок и делать консенсус цены (медиана по нескольким источникам с контролем расхождений). Появилось поле data_quality.score — оно показывает, насколько данные сейчас надёжны.

2 Потребление памяти. Первое, что начало «рвать» систему — это хранение исторических данных. JSON и обычные структуры съедали RAM при масштабировании. Решение — перевёл хранение в бинарный формат. Свечи и индикаторы стали занимать в разы меньше места, а скорость чтения выросла.

3. Тестирование индикаторов. Каждый индикатор покрыт тестами, чтобы быть уверенным в корректности расчётов. Особенно tricky моменты — это прогрев (warm-up period), когда индикатор ещё не накопил достаточно данных. Вместо нуля в таких случаях возвращается null, что заставляет разработчика явно обрабатывать это состояние.

Что дальше

Сейчас работаю над торговой платформой с AI, которая будет использовать Market Oracle в качестве источника данных.