Cookbook
API 食譜
實用、可直接複製貼上的程式碼範例,展示如何將 Smart Money 交易確認 API 接入自動交易機器人。每份範例都調用 GET /v1/confirm 並根據 action, confidence執行操作 size_multiplier。請在 X-API-Key 標頭中發送您的金鑰 — 參見 完整文檔.
策略 1
進場前確認 (Python)
標準流程。在您的策略開倉前,先詢問API市場結構是否同意。僅在符合條件時進場 action == "CONFIRM".
Python
import requests
API_KEY = sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def confirm(symbol, direction):
r = requests.get(
f{BASE}/confirmparams={"symbol": symbol, "direction": direction},"X-API-Key": API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json() sig =(BTC, 做多)
如果 信號[操作] == 確認:
下單(BTC, 做多) # 您的執行
否則:
打印(跳過:, 信號[原因])
Response
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding positive across venues", "Whales 67% long"]
}
Recipe 2
Gate a Freqtrade signal
Override confirm_trade_entry so Freqtrade only takes entries the API confirms. Fail open on API errors so a timeout never blocks all trading.
Python — Freqtrade
import requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy): "sm_your_key"
SM_BASE = "https://api.smartmoneyapi.com/v1"
def confirm_trade_entry(self, pair, order_type, amount, rate,
time_in_force, current_time, entry_tag, **kwargs):
symbol = pair.split("/")[0]
if symbol not in ("BTC", "ETH", "SOL"):
return True
嘗試:獲取({self.SM_BASE}/confirm,"symbol": symbol, "direction": "long"}, headers={X-API-Key: self.SM_KEY},
timeout=3,
).json()
return r.獲取("動作") == "確認"
除了 例外:
返回 True # API 錯誤時保持開放
配方 3
根據 size_multiplier 調整大小
讓信心決定部位大小。將你的基礎大小乘以 size_mult (0.0–1.5),讓高信心的交易獲得更多資金,而較弱的交易則減少。
Python
BASE_SIZE_USD = 1000
sig = 確認("ETH", "long") mult = sig.獲取("size_mult", 0.0)
size = BASE_SIZE_USD * mult if 0:
size >(place_order, "ETH""long"
, size_usd=size)
print(f「已輸入 ${size:.0f}(倍數 {mult})」)
A
size_mult 0.0 表示不輸入 — 與 SKIP 結果相同。將任何低於自身下限的值視為跳過。
配方 4
遇到 SKIP 時跳過 / 遇到 REDUCE 時減倉
明確處理所有三種操作。CONFIRM 以完整規模進場,REDUCE 以(較小的)倍數進場,SKIP 則保持觀望。
Python
sig = 確認(symbol, direction)
action = sig[「action」]
若 action == 「CONFIRM」:
place_order(symbol, direction, BASE_SIZE_USD * sig[「size_mult」])
或 action == 「REDUCE」:
# 結構混雜 — 以小規模進場,收緊止損
place_order(symbol, direction, BASE_SIZE_USD * sig[「size_mult」])
否則: # SKIP
log(f「跳過 {symbol} {direction}:{sig['reasons']}」)
策略 5
處理 402 / 429
A 402 表示該交易對或端點需要更高級的方案; 429 表示您觸發了速率限制。將429/5xx視為暫時性錯誤(稍後重試),402/401/403視為終端錯誤(需升級方案或檢查API金鑰)。
Python
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(重试):获取("{BASE}/confirm","symbol": symbol, "direction": direction},"X-API-Key": API_KEY}, timeout=5,
)
如果 r.status_code == 200:
返回 r.json()
如果 r.status_code 在 (401, 402, 403):
抛出 RuntimeError(r.json()) # terminal: 修復金鑰/方案
如果 r.status_code == 429: reset =int(r.headers.(get, 2))時間。(睡眠分鐘 2 (重置,
** 嘗試))
繼續時間。(2 睡眠 ** 嘗試)
# 5xx / 暫時性錯誤
返回 None
配方 6
與編碼代理一起使用 /llms.txt 將機器可讀的參考資料交給 Claude Code、Codex 或 Cursor,讓它來連接整合。指向
提示
# 貼入 Claude Code / Cursor / Codex
閱讀 https://smartmoneyapi.com/llms.txt 及 OpenAPI 規格於
github.com/tashiardit/smartmoneyapi-docs,然後為我的機器人添加交易前
檢查:使用我的 X-API-Key 呼叫 GET /v1/confirm,且僅當 action == "CONFIRM" 時
執行交易。交易規模按 size_multiplier 調整。
資源: /llms.txt · OpenAPI 規格 · Python 客戶端.
決策支援,非執行建議。非財務建議。加密貨幣交易存在重大損失風險。