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

Подтверждение входов в боте для фьючерсов Binance

Добавьте финальную проверку рыночного контекста в ваш бот для USDⓈ-M фьючерсов Binance: подтвердите направление с помощью потока китов и позиционирования деривативов, затем скорректируйте размер ордера по предложенному множителю.

Для кого это

Разработчики, запускающие бота для перпетуальных фьючерсов USDⓈ-M Binance, которые хотят независимый слой подтверждения перед каждым входом. Smart Money API — это поддержка решений, ваш бот сохраняет полный контроль над размещением ордеров и управлением рисками.

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

  • Python 3.9+ с pip install ccxt requests (CCXT поддерживает USDⓈ-M фьючерсы Binance).
  • API-ключи фьючерсов Binance с разрешением на торговлю (сначала протестируйте на testnet).
  • Ключ Smart Money API (бесплатный тариф включает BTC).

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

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

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

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

Настройка

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

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

Этот бот подтверждает покупку или продажу с помощью GET /v1/confirm?symbol=BTC&direction=long и открывает позицию в USDⓈ-M фьючерсах Binance только когда действие CONFIRM.

binance_futures_bot.py
import os
import ccxt
import requests

API_KEY = os.environ["SMA_API_KEY"]
SMA_BASE = "https://api.smartmoneyapi.com"

binance = ccxt.binance({
    "apiKey": os.environ["BINANCE_KEY"],
    "secret": os.environ["BINANCE_SECRET"],
    "options": {"defaultType": "future"},   # USDⓈ-M futures
})

def confirm(symbol: str, direction: str) -> dict:
    r = requests.get(
        f"{SMA_BASE}/v1/confirm",
        params={"symbol": symbol, "direction": direction, "source": "binance-fut"},
        headers={"X-API-Key": API_KEY},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()

def maybe_enter(symbol: str, direction: str, base_qty: float):
    sig = confirm(symbol, direction)
    print(sig["symbol"], direction, "->", sig["action"], sig["confidence"])

    if sig["action"] != "CONFIRM":
        print("Not confirmed -> no entry")   # REDUCE or SKIP
        return

    qty = round(base_qty * sig["size_mult"], 3)   # size by multiplier
    side = "buy" if direction == "long" else "sell"
    # binance.create_order("BTC/USDT", "market", side, qty)
    print(f"Would open {direction} {qty} BTC/USDT (futures)")

if __name__ == "__main__":
    # your strategy decided it wants a long here
    maybe_enter("BTC", "long", base_qty=0.02)

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

Успешный вызов /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

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

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

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

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