Руководство по интеграции

Используйте Smart Money API вместе с CCXT

Читайте рыночные данные в реальном времени с помощью CCXT, спрашивайте Smart Money API, подтверждают ли поток китов и позиции на деривативах ваше направление, затем размещайте ордер на выбранной вами бирже.

Для кого это

Python-разработчики, создающие бирже-независимых ботов на CCXT которые хотят независимую проверку рыночного контекста перед каждым ордером. Smart Money API — это поддержка решений; он не размещает ордера за вас; CCXT остается под контролем исполнения.

Предварительные требования

  • Python 3.9+ с pip install ccxt requests.
  • API-ключами биржи, настроенными для CCXT (достаточно read-only для тестирования).
  • Ключ Smart Money API (бесплатный тариф включает BTC).

Получите ваш API-ключ

Каждый запрос аутентифицируется с помощью X-API-Key заголовка. Чтобы получить ключ:

  1. 1Создайте бесплатную учетную запись, затем откройте ваш дашборд.
  2. 2Скопируйте API-ключ, указанный под Доступ к API. Бесплатный тариф включает BTC с 20 запросами/день — достаточно, чтобы протестировать это руководство от начала до конца.
  3. 3Нужно больше символов или более высокие лимиты? Сравните тарифы на странице с ценами.

Храните ключ в секрете — сохраните его в переменной окружения, никогда не добавляйте его в систему контроля версий.

Настройка

  1. 1Установите библиотеки: pip install ccxt requests.
  2. 2Экспортируйте ваш ключ: export SMA_API_KEY="sm_your_key_here".
  3. 3Пусть ваша стратегия определит кандидата на направление из рыночных данных CCXT, затем вызовите /v1/confirm как финальную проверку контекста.
  4. 4Размещайте ордер с CCXT только когда действие CONFIRM, размер позиции по size_mult.

Рабочий пример

Этот скрипт читает тикер с CCXT, определяет кандидата на направление, затем вызывает GET /v1/confirm?symbol=BTC&direction=long перед принятием решения о размещении ордера.

ccxt_confirm.py
import os
import ccxt
import requests

API_KEY = os.environ["SMA_API_KEY"]            # never hard-code
SMA_BASE = "https://api.smartmoneyapi.com"

exchange = ccxt.binance()                       # any CCXT exchange

def confirm(symbol: str, direction: str) -> dict:
    """Ask Smart Money API for market-context confirmation."""
    r = requests.get(
        f"{SMA_BASE}/v1/confirm",
        params={"symbol": symbol, "direction": direction, "source": "ccxt-bot"},
        headers={"X-API-Key": API_KEY},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()

# 1. Read market data with CCXT and pick a candidate direction
ticker = exchange.fetch_ticker("BTC/USDT")
direction = "long" if ticker["percentage"] and ticker["percentage"] > 0 else "short"

# 2. Confirm with Smart Money API before acting
sig = confirm("BTC", direction)
print(sig["action"], sig["confidence"], "size_mult", sig["size_mult"])

# 3. Act on the recommendation (CCXT executes; the API only advises)
if sig["action"] == "CONFIRM":
    base_qty = 0.01
    qty = base_qty * sig["size_mult"]          # scale by suggested multiplier
    # exchange.create_order("BTC/USDT", "market", direction, qty)
    print(f"Would place {direction} {qty} BTC/USDT")
elif sig["action"] == "REDUCE":
    print("Context is mixed -> trade smaller or wait for a cleaner setup")
else:  # SKIP
    print("Context does not support this trade -> stand aside")

Ожидаемый ответ

Успешный вызов /v1/confirm возвращает JSON такого вида:

200 OK · application/json
{
  "ts": 1710940821,
  "symbol": "BTC",
  "direction": "long",
  "composite": 0.74,
  "confidence": "HIGH",
  "action": "CONFIRM",
  "size_mult": 1.5,
  "deriv_score": 0.81,
  "onchain_score": 0.68,
  "whale_score": 0.73,
  "reasons": [
    "Funding rate positive across all venues",
    "LSR favors longs: 1.42",
    "Whales: 67% long consensus",
    "MVRV above 1.0 — on-chain bullish"
  ]
}

composite колеблется от -1.0 (сильное противодействие) до +1.0 (сильное подтверждение), confidence имеет значение HIGH или MEDIUM, а size_mult это множитель размера позиции от 0.0 до 1.5. См. полное описание полей в документации API.

Как действовать по ответу

CONFIRM

Контекст поддерживает ваше направление. Продолжайте с вашими правилами входа и риска, опционально масштабируя размер по size_mult.

REDUCE

Сигналы смешанные. Рассмотрите меньшую позицию, более жесткие стопы или ожидание более четкой установки.

SKIP

Рыночный контекст не поддерживает эту сделку. Отступите и перепроверьте следующего кандидата.

Готовы к разработке?

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

Не является финансовой рекомендацией. Торговля криптовалютами связана с рисками.