Cookbook
API Cookbook
Ricette pratiche da copiare e incollare per i modi più comuni di integrare l'API di conferma trade Smart Money in un bot. Ogni ricetta chiama GET /v1/confirm e agisce su action, confidence, size_multiplier. Invia la tua chiave nell' X-API-Key header — vedi la documentazione completa.
Ricetta 1
Conferma prima dell'entrata (Python)
Il loop canonico. Prima che la tua strategia apra una posizione, chiedi all'API se la struttura di mercato è d'accordo. Entra solo quando action == "CONFIRM".
import requests API_KEY =
"sm_your_key" BASE =
"https://api.smartmoneyapi.com/v1" defconfirm(symbol, direction):
r = requests.get(
f"{BASE}/confirm",
params={"symbol" : symbol,"direction": direction},
headers={"X-API-Key"5: API_KEY},
timeout=,
)
r.()
raise_for_status returnr.json ()(sig =, confirm)
"BTC" "long"if] == sig[:
"action"(] == "CONFIRM":
place_order(, "BTC")
# il tuo codice di esecuzione:
else:
print(("skip:", sig["reasons"])
{
"simbolo": "BTC",
"direzione": "lungo",
"azione": "CONFERMA",
"fiducia": "ALTA",
"composito": 0.74,
"moltiplicatore_dimensione": 1.5,
"motivi": ["Finanziamento positivo su tutte le piattaforme", "Balene 67% lunghe"]
}
Ricetta 2
Gate un segnale Freqtrade
Override confirm_trade_entry così Freqtrade prende solo le entrate confermate dall'API. Fallimento aperto in caso di errori dell'API, quindi un timeout non blocca mai tutto il trading.
importa requests
da freqtrade.strategy importa IStrategy
classe SmartMoneyStrategy(IStrategy): SM_KEY =
"sm_your_key" SM_BASE =
"https://api.smartmoneyapi.com/v1" defconfirm_trade_entry(self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, **kwargs):
symbol = pair.("/")[0]
split if symbol (not in, "BTC", "ETH"):
"SOL"
return True
prova:get("{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},3,
).timeout=()
return r.ottieni("azione") == "CONFERMA"
eccetto Eccezione:
restituisci True
Ricetta 3
Dimensione per size_multiplier
Lascia che la convinzione determini la dimensione della posizione. Moltiplica la tua dimensione base per size_mult (0.0–1.5) in modo che gli scambi ad ALTA fiducia ottengano più capitale e quelli deboli meno.
BASE_SIZE_USD = 1000
sig = conferma("ETH", longmult = sig.ottieni("size_mult", 0.0dimensione = BASE_SIZE_USD * mult
se dimensione > 0:
piazza_ordine("ETH", "long", size_usd=dimensione)
stampa(f"entered ${size:.0f} (mult {mult})")
A size_mult di 0.0 significa non entrare — stesso risultato di un SKIP. Considera qualsiasi valore inferiore al tuo minimo come un salto.
Ricetta 4
Salta su SKIP / riduci su REDUCE
Gestisci esplicitamente tutte e tre le azioni. CONFIRM entra con la dimensione completa, REDUCE entra con il (minore) moltiplicatore, SKIP rimane fuori.
sig = confirm(symbol, direction)action = sig[]
"action" if action ==:
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']}")
Ricetta 5
Gestisci 402 / 429
A 402 significa che il simbolo o l'endpoint richiede un piano superiore; un 429 significa che hai raggiunto un limite di frequenza. Considera 429/5xx come transitori (riduci la frequenza), 402/401/403 come terminali (correggi il piano o la chiave).
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(tentativi):get(f"{BASE}/confirm",{"symbol" "direction": direction},"X-API-Key": API_KEY}, timeout=5,
)
se r.status_code == 200:
restituisci r.json()
se r.status_code in (401, 402, 403):
solleva RuntimeError(r.json())
se r.status_code == 429: reset =int(r.headers.(get, 2)) tempo.dormire(min(reimposta, 2 ** tentativo))
continua
tempo.sleep(2 ** tentativo)
restituisce None
Ricetta 6
Utilizza con un agente di codifica
Fornisci a Claude Code, Codex o Cursor i riferimenti leggibili dalla macchina e lascia che gestisca l'integrazione. Indirizzalo verso /llms.txt per la panoramica e le specifiche OpenAPI per le strutture esatte.
Leggi https://smartmoneyapi.com/llms.txt e le specifiche OpenAPI su github.com/tashiardit/smartmoneyapi-docs, poi aggiungi un controllo pre-trade al mio bot: chiama GET /v1/confirm con il mio X-API-Key e salta qualsiasi entry a meno che action == "CONFIRM". Ridimensiona la dimensione tramite size_multiplier.
Risorse: /llms.txt · Specifiche OpenAPI · Client Python.
Pronto a proteggere il tuo primo trade?
Ottieni una chiave gratuita e leggi la documentazione completa degli endpoint.
Supporto decisionale, non consigli di esecuzione. Non è un consiglio finanziario. Il trading di criptovalute comporta un rischio significativo di perdita.