راهنمای یکپارچه‌سازی

تأیید ورودی‌های perpetuals در Bybit با Smart Money API

داده‌های زنده بازار swap در Bybit را با CCXT بخوانید، از Smart Money API بپرسید که آیا جریان نهنگ‌ها و موقعیت‌گیری مشتقات جهت شما را تأیید می‌کنند یا خیر، سپس ورودی perpetuals را با اندازه‌ ضریب پیشنهادی قرار دهید.

این راهنما برای چه کسانی است

توسعه‌دهندگان پایتون که یک ربات USDT-perpetuals در Bybit روی CCXT اجرا می‌کنند و می‌خواهند قبل از هر ورودی یک بررسی مستقل از شرایط بازار داشته باشند. Smart Money API یک ابزار پشتیبانی تصمیم‌گیری است — این ابزار سفارش‌ها را برای شما قرار نمی‌دهد؛ کد CCXT شما کنترل اجرا و ریسک را در دست دارد.

پیش‌نیازها

  • پایتون 3.9+ با pip install ccxt requests.
  • کلیدهای API Bybit که برای CCXT پیکربندی شده‌اند (حالت read-only برای تست کافی است).
  • یک کلید API Smart Money (نسخه رایگان شامل BTC می‌شود).

دریافت کلید API شما

هر درخواست با X-API-Key هدر احراز هویت می‌شود. برای دریافت کلید:

  1. 1یک حساب کاربری رایگان ایجاد کنید، سپس داشبورد خود را باز کنید.
  2. 2کلید API نمایش داده شده در بخش دسترسی API را کپی کنید. سطح رایگان شامل BTC با 100 درخواست/روز می‌شود — برای تست این راهنما از ابتدا تا انتها کافی است.
  3. 3به نمادهای بیشتر یا محدودیت‌های بالاتر نیاز دارید؟ سطوح مختلف را در صفحه قیمت‌گذاری مقایسه کنید.

کلید را محرمانه نگه دارید — آن را در یک متغیر محیطی ذخیره کنید و هرگز آن را در کنترل منبع قرار ندهید.

راه‌اندازی

  1. 1کتابخانه‌ها را نصب کنید: pip install ccxt requests.
  2. 2کلید خود را صادر کنید: export SMA_API_KEY="sm_your_key_here".
  3. 3سواپ‌های Bybit را با CCXT باز کنید (ccxt.bybit({"options":{"defaultType":"swap"}}))، اجازه دهید استراتژی شما یک جهت احتمالی را انتخاب کند، سپس /v1/confirm را به عنوان دروازه نهایی متن فراخوانی کنید.
  4. 4ورودی perpetuals را با CCXT فقط زمانی قرار دهید که عمل CONFIRM، اندازه‌گیری توسط size_mult.

مثال عملی

این اسکریپت یک تیکر سوآپ Bybit را با CCXT می‌خواند، جهت احتمالی را استخراج می‌کند، سپس فراخوانی می‌کند GET /v1/confirm?symbol=BTC&direction=long قبل از تصمیم‌گیری برای قرار دادن ورودی.

bybit_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.bybit({"options": {"defaultType": "swap"}})   # Bybit perpetuals

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": "bybit-bot"},
        headers={"X-API-Key": API_KEY},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()

# 1. Read Bybit swap market data with CCXT and pick a candidate direction
ticker = exchange.fetch_ticker("BTC/USDT: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:USDT", "market", direction, qty)
    print(f"Would place {direction} {qty} BTC/USDT:USDT perp")
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.

چگونه بر اساس پاسخ عمل کنیم

تأیید

متن از جهت شما حمایت می‌کند. با قوانین ورودی و ریسک خود ادامه دهید، به طور اختیاری اندازه را با size_mult.

کاهش

سیگنال‌ها مختلط هستند. یک موقعیت کوچکتر، استاپ‌های تنگ‌تر یا انتظار برای تنظیمات تمیزتر را در نظر بگیرید.

رد کردن

متن بازار از این معامله حمایت نمی‌کند. کنار بایستید و در نامزد بعدی دوباره بررسی کنید.

آماده ساخت هستید؟

یک کلید رایگان بگیرید و اولین فراخوانی تأیید خود را در کمتر از یک دقیقه انجام دهید.

مشاوره مالی نیست. معامله رمزارزها شامل ریسک است.