クックブック
APIクックブック
ボットにSmart Moneyの取引確認APIを組み込むための、実用的でコピペ可能なレシピ集。各レシピは GET /v1/confirm を呼び出し、 action, confidenceと size_multiplierに対して動作します。キーは X-API-Key ヘッダーで送信してください — 完全なドキュメント.
を置き換えてください。
レシピ1
エントリー前の確認 (Python) action == "CONFIRM".
コピー import requests
"sm_your_key" "https://api.smartmoneyapi.com/v1"
def confirm(symbol, direction):
r = requests.get({BASE}/confirm,
params={"symbol": symbol, "direction": direction},"X-API-Key": API_KEY}、
timeout=5,
)
r.raise_for_status()
return r.json() sig =
confirm(BTC, ロング)
もし sig[アクション] == CONFIRM:
注文を出す(BTC, ロング)
それ以外:
表示(スキップ:, sig[理由])
{
シンボル: BTC,
方向: ロング,
アクション: 確認,
信頼度: 高,
複合: 0.74,
サイズ倍率: 1.5,
理由: [各取引所で資金調達がポジティブ, クジラが67%ロング]
}
レシピ2
Freqtradeシグナルをゲートする
オーバーライド confirm_trade_entry APIが確認したエントリーのみをFreqtradeが取るようにする。失敗 オープン APIエラー時にタイムアウトが全取引をブロックしないようにする。
インポート requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy):
SM_KEY = "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
試す: r = requests.({self.SM_BASE}/confirm,"symbol": symbol "direction": "long"}, headers={X-API-Key: self.SM_KEY},
timeout=3,
).json()
return r.get("action") == "CONFIRM"
except Exception:
return True
レシピ3
size_multiplierによるサイジング
確信度に応じてポジションサイズを決定。ベースサイズに乗算することで、 size_mult (0.0~1.5)HIGH確信度トレードにはより多くの資金を、弱いトレードには少ない資金を割り当てます。
BASE_SIZE_USD = 1000
sig = 確認("ETH", "long")
mult = sig.取得("size_mult", 0.0size = BASE_SIZE_USD * mult
if size > 0:
place_order(ETH, ロング, size_usd=size)
print(f"${size:.0f} をエントリーしました(乗数 {mult})")
A size_mult 0.0 はエントリーしないことを意味します — SKIP と同じ結果になります。自身の下限値以下のものはスキップとして扱ってください。
レシピ4
SKIP時はスキップ / REDUCE時は削減
3つのアクションをすべて明示的に処理します。CONFIRMはフルサイズでエントリー、REDUCEは(小さい)乗数でエントリー、SKIPは待機します。
sig = confirm(symbol, direction)
action = sig["action"]
if action == "CONFIRM":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
elif action == "REDUCE":
place_order(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
else:
log(f"skip {symbol} {direction}: {sig['reasons']}")
レシピ5
402/429の処理
A 402 シンボルまたはエンドポイントにはより高いプランが必要であることを意味します;a 429 レート制限に達したことを意味します。429/5xxは一時的なものとして(バックオフ)、402/401/403は終了すべきものとして扱います(プランやキーの修正が必要)。
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(リトライ):get("{BASE}/confirm"、"symbol": symbol, direction: direction},X-API-Key: API_KEY}, timeout=5,
)
もし r.status_code == 200:
戻す r.json()
if r.status_code in (401, 402, 403):
raise RuntimeError(r.json())
if r.status_code == 429: reset =int(r.headers.(get, 2))時間。(スリープ分 2 (リセット,
** 試行))
続行時間。(2 スリープ
# 5xx / 一時的
None を返す
レシピ6
コーディングエージェントと併用 /llms.txt 機械可読リファレンスをClaude Code、Codex、またはCursorに渡し、統合を接続させます。概要にはこちらを、正確な形状にはOpenAPI仕様を参照させてください。
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 クライアント.
最初の取引をゲートする準備はできていますか?
無料キーを取得して、完全なエンドポイントリファレンスを読んでください。
意思決定サポートであり、実行アドバイスではありません。金融アドバイスではありません。仮想通貨取引には大きな損失リスクがあります。