統合ガイド

CCXTとSmart Money APIを併用する

CCXTでリアルタイム市場データを読み取り、Smart Money APIにクジラのフローやデリバティブポジションがあなたの方向性を裏付けているか確認してから、選択した取引所に注文を出します。

対象者

Python開発者で、取引所に依存しないボットを構築している方 CCXT 各注文前に独立した市場コンテキストチェックを希望する方。Smart Money APIは意思決定支援ツールであり、注文を代行しません。CCXTが実行を制御します。

前提条件

  • Python 3.9以上がインストールされていること pip install ccxt requests.
  • CCXT用に取引所APIキーを設定済み(テストには読み取り専用で可)。
  • Smart Money APIキー(無料枠でBTC対応)。

APIキーを取得

すべてのリクエストは X-API-Key ヘッダーで認証されます。キーを取得するには:

  1. 1無料アカウントを作成し、 ダッシュボード.
  2. 2APIキーをコピーします。表示場所は APIアクセス無料プランではBTCに対応し、20リクエスト/日まで可能です。このガイドを最初から最後までテストするのに十分です。
  3. 3より多くの銘柄や高い制限が必要ですか?各プランを 料金ページ.

APIキーは秘密にしてください。環境変数に保存し、ソース管理にコミットしないでください。

セットアップ

  1. 1ライブラリをインストール: pip install ccxt requests.
  2. 2キーをエクスポート: export SMA_API_KEY="sm_your_key_here".
  3. 3CCXTの市場データから戦略が候補となる方向性を決定したら、最終的なコンテキストゲートとして /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

市場のコンテキストがこのトレードを支持していません。待機し、次の候補で再確認してください。

準備はできましたか?

無料キーを取得して、1分以内に最初の確認呼び出しを行いましょう。

金融アドバイスではありません。暗号通貨取引にはリスクが伴います。