Быстрый старт
API xgbCrypto предоставляет торговые сигналы для криптовалют на основе модели XGBoost. С помощью простых REST API запросов вы можете получать сигналы в реальном времени по 20 основным монетам в трёх частотных диапазонах.
1. Зарегистрируйтесь и получите API Key
Войдите через аккаунт Google и создайте API Key в панели управления.
2. Отправьте запрос
Используйте API Key для вызова интерфейса сигналов:
curl -H "X-API-Key: YOUR_API_KEY" \
https://xgbcrypto.com/api/signals/latest/?symbol=BTCUSDT3. Интерпретация сигнала
Значение net_signal в ответе находится в диапазоне от -1 до +1:
- > 0.2 → Сильный рост
- 0 ~ 0.2 → Рост
- ≈ 0 → Нейтрально
- -0.2 ~ 0 → Снижение
- < -0.2 → Сильное снижение
Определения сигналов
xgbCrypto предоставляет три предустановленных таймфрейма сигналов, каждый из которых предназначен для определённого стиля торговли. Каждый сигнал генерируется моделью XGBoost, обученной на исторических данных свечей с использованием метода тройного барьера (Triple Barrier Method) — модель предсказывает, что вероятнее произойдёт первым в заданном временном окне: достижение тейк-профита или стоп-лосса.
Каждый сигнал выдаёт значение net_signal от -1 до +1. Оно рассчитывается как P(прибыль) - P(убыток), где модель использует метод тройного барьера: цена первой достигает тейк-профита → прибыль; первой достигает стоп-лосса → убыток; ни один барьер не достигнут в пределах окна → нейтральный.
Краткосрочный сигнал (высокочастотный)
| Источник данных | 1-минутные свечи Binance |
| Частота обновления | Каждую 1 минуту |
| Окно ретроспективы | 60 свечей (1 час ценовой истории) |
| Окно прогноза | Следующие 30 минут — изменится ли цена на ±0.5%? |
| Тейк-профит / Стоп-лосс | ±0.5% (тейк-профит и стоп-лосс) |
| Подходит для | Скальперы и дейтрейдеры. Захватывает минутные импульсные сдвиги. Типичный период удержания: от минут до часов. |
Среднесрочный сигнал (свинг)
| Источник данных | 1-часовые свечи Binance |
| Частота обновления | Каждый 1 час |
| Окно ретроспективы | 24 свечи (1 день ценовой истории) |
| Окно прогноза | Следующие 12 часов — изменится ли цена на ±1%? |
| Тейк-профит / Стоп-лосс | ±1% (тейк-профит и стоп-лосс) |
| Подходит для | Свинг-трейдеры. Фокусируется на часовых изменениях тренда. Типичный период удержания: от часов до дней. |
Долгосрочный сигнал (трендовый)
| Источник данных | 6-часовые свечи Binance |
| Частота обновления | Каждые 6 часов |
| Окно ретроспективы | 28 свечей (7 дней ценовой истории) |
| Окно прогноза | Следующие 2 дня — изменится ли цена на ±2%? |
| Тейк-профит / Стоп-лосс | ±2% (тейк-профит и стоп-лосс) |
| Подходит для | Трендовые трейдеры и позиционные трейдеры. Захватывает среднесрочное и долгосрочное направление рынка. Типичный период удержания: от дней до недель. |
Понимание net_signal
Значение net_signal — это основной выход каждого сигнала. Оно равно P(прибыль) - P(убыток) и находится в диапазоне от -1 до +1. Положительное значение означает, что модель считает более вероятным достижение тейк-профита раньше стоп-лосса, и наоборот.
net_signal = P(profit) - P(loss)- > 0.2 → Сильный рост
- 0 ~ 0.2 → Рост
- ≈ 0 → Нейтрально
- -0.2 ~ 0 → Снижение
- < -0.2 → Сильное снижение
Временные метки и часовые пояса
Все временные метки сигналов указаны в UTC, следуя отраслевому стандарту, используемому Binance, CoinGecko и другими крупными платформами. Ваше фронтенд-приложение может конвертировать UTC в локальный часовой пояс пользователя с помощью стандартных методов JavaScript Date.
Пользователи корпоративного плана могут запросить индивидуальную настройку сигналов — включая пользовательские таймфреймы, пороги барьеров и окна ретроспективы, адаптированные под вашу торговую стратегию. Свяжитесь с нами для подробностей.
Аутентификация
Все эндпоинты сигналов требуют аутентификации по API Key. Добавьте в заголовок запроса:
X-API-Key: your_api_keyПолучить последние сигналы
/api/signals/latest/Возвращает последние сигналы по указанной монете в трёх частотных диапазонах.
Параметры
symbol (необязательный) — торговая пара, например BTCUSDT. Если не указан, возвращаются все.
import requests
resp = requests.get(
"https://xgbcrypto.com/api/signals/latest/",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"symbol": "BTCUSDT"}
)
data = resp.json()
print(data)const resp = await fetch(
"https://xgbcrypto.com/api/signals/latest/?symbol=BTCUSDT",
{ headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await resp.json();
console.log(data);Пример ответа
{
"data": [
{
"symbol": "BTCUSDT",
"signals": {
"long": {
"time": "2025-02-17T12:00:00",
"prob_win": 0.53,
"prob_loss": 0.47,
"net_signal": 0.06
},
"mid": { ... },
"short": { ... }
}
}
]
}Получить исторические сигналы
/api/signals/history/Возвращает исторические данные сигналов по указанной монете и частотному диапазону.
Параметры
- symbol (обязательный) — торговая пара
- freq (необязательный) — диапазон: 1m / 1h / 6h, по умолчанию 1h
- limit (необязательный) — количество записей, по умолчанию 50, максимум 500
resp = requests.get(
"https://xgbcrypto.com/api/signals/history/",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"symbol": "ETHUSDT", "freq": "mid", "limit": 50}
)
print(resp.json())Пример стратегии
Ниже приведён простой пример стратегии на Python, автоматически исполняющей сделки на основе сигналов:
import requests
import numpy as np
API_KEY = "YOUR_API_KEY"
SYMBOL = "BTCUSDT"
BASE_URL = "https://xgbcrypto.com"
# 1. 获取 xgbCrypto 信号
signal_resp = requests.get(
f"{'{'}BASE_URL{'}'}/api/signals/latest/",
headers={"X-API-Key": API_KEY},
params={"symbol": SYMBOL}
)
signal_data = signal_resp.json()["data"][0]["signals"]["mid"]
net_signal = signal_data["net_signal"]
prob_win = signal_data["prob_win"]
# 2. 获取 Binance K 线(最近 30 根 1h K 线)
klines = requests.get(
f"https://api.binance.com/api/v3/klines",
params={"symbol": SYMBOL, "interval": "1h", "limit": 30}
).json()
closes = np.array([float(k[4]) for k in klines])
current_price = closes[-1]
# 3. 计算 EMA-20
ema_20 = closes[-20:].mean() # 简化 SMA 近似
# 4. 计算布林带
bb_mid = closes[-20:].mean()
bb_std = closes[-20:].std()
bb_upper = bb_mid + 2 * bb_std
bb_lower = bb_mid - 2 * bb_std
# 5. 综合决策
score = 0
reasons = []
if net_signal > 0.05:
score += 1
reasons.append(f"信号看涨 (net={'{'}net_signal:.3f{'}'})")
elif net_signal < -0.05:
score -= 1
reasons.append(f"信号看跌 (net={'{'}net_signal:.3f{'}'})")
if current_price > ema_20:
score += 1
reasons.append("价格在 EMA20 上方")
else:
score -= 1
reasons.append("价格在 EMA20 下方")
if current_price <= bb_lower:
score += 1
reasons.append("触及布林带下轨(超卖)")
elif current_price >= bb_upper:
score -= 1
reasons.append("触及布林带上轨(超买)")
# 输出
if score >= 2:
decision = "BUY"
elif score <= -2:
decision = "SELL"
else:
decision = "HOLD"
print(f"币种: {'{'}SYMBOL{'}'}")
print(f"当前价格: {current_price:,.2f{'}'}")
print(f"决策: {'{'}decision{'}'} (综合得分: {'{'}score{'}'})")
print(f"依据: {'{'}'; '.join(reasons){'}'}")Коды ошибок
| Code | Description |
|---|---|
401 | Не аутентифицирован — отсутствует или недействителен API Key |
403 | Доступ запрещён — API Key истёк или заблокирован |
429 | Слишком много запросов — превышен лимит частоты запросов |
500 | Ошибка сервера — повторите попытку позже |
Тарифы и ограничения
| Тариф | Диапазоны | Монеты | Лимит запросов |
|---|---|---|---|
| Бесплатный | 6h / 1h | Только BTCUSDT | 1/час |
| Базовый | 6h / 1h / 1m | Все 20 | 1 000/час |
| Профессиональный | 6h / 1h / 1m | Все 20 | 3 000/час |
| Премиум | 6h / 1h / 1m | Все 20 | 20 000/час |
| Корпоративный | Все | Все + индивидуальные | Безлимитно |
Онлайн-тестирование
Введите ваш API Key и протестируйте интерфейс сигналов прямо сейчас.
GET /api/signals/latest/?symbol=BTCUSDT