מדריך
מדריך API
מתכונים מעשיים להעתקה-הדבקה לדרכים הנפוצות ביותר לחבר את API אישורי העסקאות של Smart Money לבוט. כל מתכון כולל GET /v1/confirm ומגיב ל action, confidence, ו size_multiplier. שלח את המפתח שלך ב-header X-API-Key — ראה את תיעוד מלא.
מתכון 1
אשר לפני כניסה (Python)
הלולאה הקנונית. לפני שהאסטרטגיה שלך פותחת פוזיציה, שאל את ה-API האם מבנה השוק מסכים. היכנס רק כאשר action == "CONFIRM".
import requests sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def confirm(symbol, direction):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key": API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json()
sig = אשר(BTC, לונג)
אם sig["פעולה"] == "אשר":
place_order(BTC, לונג)
אחרת:
הדפס("דלג:", sig["סיבות"])
{
"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.
import 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
נסה:get("{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},
headers={X-API-Key: self.SM_KEY},
timeout=3,
).json()
return r.קבל("פעולה") == "אשר"
חוץ מ Exception:
return True
מתכון 3
גודל לפי size_multiplier
הרשה לרמת הבטחון לקבוע את גודל הפוזיציה. הכפל את גודל הבסיס שלך ב size_mult (0.0–1.5) כך שעסקאות ברמת בטחון גבוהה יקבלו יותר הון וחלשות פחות.
BASE_SIZE_USD = 1000
sig = אישור("ETH", longmult = sig.get("size_mult", 0.0גודל = BASE_SIZE_USD * mult
אם גודל > 0:
הזמנת_הזמנה(ETH, לונג, size_usd=size)
print(f"נכנס ${size:.0f} (כפל {mult})")
A size_mult של 0.0 משמעותו לא להיכנס — אותה תוצאה כמו SKIP. התייחס לכל דבר מתחת לרף שלך כ-SKIP.
מתכון 4
דלג על SKIP / צמצם על REDUCE
טפל בכל שלושת הפעולות במפורש. CONFIRM נכנס בגודל מלא, REDUCE נכנס במכפיל (הקטן יותר), SKIP נשאר בצד.
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"])
אחרת:
log(f"דלג {symbol} {direction}: {sig['reasons']}")
מתכון 5
טיפול ב-402 / 429
A 402 משמעותו שהסמל או נקודת הקצה דורשים תוכנית גבוהה יותר; 429 משמעותו שפגעת במגבלת קצב. התייחס ל-429/5xx כאל זמני (הפחת קצב), ו-402/401/403 כאל סופי (תקן תוכנית או מפתח).
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(ניסיונות חוזרים):get("{BASE}/confirm",
params={"symbol": symbol, כיוון: direction},
headers={X-API-Key: API_KEY}, timeout=5,
)
אם r.status_code == 200:
החזר r.json()
אם r.status_code ב (401, 402, 403):
העלה RuntimeError(r.json())
אם r.status_code == 429: reset =int(r.headers.(get, 2))זמן.(שינהדקה 2 (איפוס,
** ניסיון))
המשךשינה(2 ** ניסיון)
החזר None
מתכון 6
השתמש עם סוכן קידוד
תן לקלאוד קוד, קודקס, או קרסור את ההפניות הניתנות לקריאה על ידי מכונה ותן להם לחבר את האינטגרציה. הפנה אותם אל /llms.txt לסקירה הכללית ולמפרט OpenAPI לצורות המדויקות.
קרא את https://smartmoneyapi.com/llms.txt ואת מפרט OpenAPI ב-github.com/tashiardit/smartmoneyapi-docs, ואז הוסף בדיקה טרום-מסחר לבוט שלי: התקשר ל-GET /v1/confirm עם ה-X-API-Key שלי, ודלג על כל כניסה אלא אם action == "CONFIRM". קבע את הגודל לפי size_multiplier.
משאבים: /llms.txt · מפרט OpenAPI · לקוח Python.
מוכן לשער את המסחר הראשון שלך?
קבל מפתח חינם וקרא את התיעוד המלא של נקודות הקצה.
תמיכה בהחלטות, לא ייעוץ ביצוע. לא ייעוץ פיננסי. מסחר במטבעות קריפטוגרפיים כרוך בסיכון משמעותי להפסד.