集成指南

使用 Smart Money API 确认 Bybit 永续合约入场

使用 CCXT 读取 Bybit 永续合约市场数据,询问 Smart Money API 鲸鱼资金流和衍生品仓位是否确认您的方向,然后根据建议的乘数大小进行永续合约入场。

适用对象

在 CCXT 上运行 Bybit USDT 永续合约机器人的 Python 开发者 CCXT 希望在每次入场前进行独立市场环境检查的用户。Smart Money API 是决策支持工具 — 它不会为您下单;您的 CCXT 代码仍控制执行和风险。

先决条件

  • Python 3.9+ 并配置 pip install ccxt requests.
  • 为 CCXT 配置的 Bybit API 密钥(只读权限即可用于测试)。
  • 一个 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打开Bybit永续合约(ccxt.bybit({"options":{"defaultType":"swap"}})),让您的策略选择一个候选方向,然后调用 /v1/confirm 作为最终的上下文门。
  4. 4仅在操作时使用CCXT放置永续合约入场 CONFIRM,按规模调整 size_mult.

实际示例

该脚本通过CCXT读取Bybit永续合约行情,推导潜在方向后调用 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.

缩减

信号混杂。建议减小仓位、收紧止损或等待更明确信号。

跳过

市场环境不支持此交易。暂缓操作并等待下次机会。

准备构建?

获取免费密钥,一分钟内完成首次确认调用。

非财务建议。加密货币交易存在风险。