Cookbook
API Cookbook
Πρακτικές, έτοιμες λύσεις για τους πιο συνηθισμένους τρόπους σύνδεσης του API επιβεβαίωσης συναλλαγών Smart Money σε ένα bot. Κάθε λύση καλεί GET /v1/confirm και ενεργεί βάσει action, confidence, size_multiplier . Στείλτε το κλειδί σας στην X-API-Key κεφαλίδα — δείτε τα πλήρη έγγραφα.
Λύση 1
Επιβεβαίωση πριν την είσοδο (Python)
Ο βασικός βρόχος. Πριν η στρατηγική σας ανοίξει μια θέση, ρωτήστε το API αν η δομή της αγοράς συμφωνεί. Εισέλθετε μόνο όταν action == "CONFIRM".
import requests "sm_your_key"
"https://api.smartmoneyapi.com/v1" def
confirm (symbol, direction):get(f"{BASE}/confirm","symbol": symbol, "direction": direction},"X-API-Key": API_KEY},5timeout=,()
raise_for_status returnjson() confirm("BTC", "long")
if sig["action"] == "CONFIRM":
place_order("BTC", "long")
else:
print("skip:", sig["reasons"])
{
σύμβολο: BTC,
κατεύθυνση: long,
ενέργεια: ΕΠΙΒΕΒΑΙΩΣΗ,
εμπιστοσύνη: ΥΨΗΛΗ,
σύνθετο: 0.74,
πολλαπλασιαστής μεγέθους: 1.5,
λόγοι: [Η χρηματοδότηση είναι θετική σε όλους τους χώρους, Οι φάλαινες είναι 67% long]
}
Συνταγή 2
Πύλη ενός σήματος Freqtrade
Παράκαμψη confirm_trade_entry έτσι ώστε το Freqtrade να λαμβάνει μόνο εισόδους που επιβεβαιώνει το API. Αποτυχία άνοιγμα σε σφάλματα API έτσι ώστε ένα timeout να μην εμποδίζει όλη την συναλλαγή.
εισαγωγή requests
από freqtrade.strategy εισαγωγή 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.get("{self.SM_BASE}/confirm",{"symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},3,
).timeout=()
return r.λάβετε(ενέργεια) == ΕΠΙΒΕΒΑΙΩΣΗ
εκτός Εξαίρεση:
επιστροφή True
Συνταγή 3
Μέγεθος ανά size_multiplier
Αφήστε την πεποίθηση να καθορίσει το μέγεθος της θέσης. Πολλαπλασιάστε το βασικό σας μέγεθος με size_mult (0.0–1.5) έτσι οι συναλλαγές ΥΨΗΛΗΣ εμπιστοσύνης λαμβάνουν περισσότερο κεφάλαιο και οι αδύναμες λιγότερο.
BASE_SIZE_USD = 1000
sig = επιβεβαίωση("ETH", "long")
mult = sig.λάβετε("size_mult", 0.0μέγεθος = BASE_SIZE_USD * πολλαπλασιαστής
αν μέγεθος > 0:
τοποθέτηση_παραγγελίας(ETH, long, size_usd=size)
print(f"εισήλθε ${size:.0f} (πολλαπλασιαστής {mult})")
A size_mult το 0.0 σημαίνει μην εισέλθετε — ίδιο αποτέλεσμα με το SKIP. Θεωρήστε οτιδήποτε κάτω από το δικό σας όριο ως skip.
Συνταγή 4
Skip στο SKIP / μείωση στο REDUCE
Χειριστείτε και τις τρεις ενέργειες ρητά. Το CONFIRM εισάγει πλήρες μέγεθος, το REDUCE εισάγει με τον (μικρότερο) πολλαπλασιαστή, το SKIP παραμένει εκτός.
sig = επιβεβαίωση(symbol, direction)
action = sig["action"]
αν 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"])
αλλιώς:
log(f"skip {symbol} {direction}: {sig['reasons']}")
Συνταγή 5
Χειρισμός 402 / 429
A 402 σημαίνει ότι το σύμβολο ή το endpoint χρειάζεται υψηλότερο πλάνο· ένα 429 σημαίνει ότι έχετε φτάσει το όριο ρυθμού. Αντιμετωπίστε τα 429/5xx ως προσωρινά (back off), τα 402/401/403 ως οριστικά (διορθώστε το πλάνο ή το κλειδί).
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(επανάληψη):
r = requests.get(
f{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.(πάρε, 2)) ώρα.ύπνος(λεπτό(επαναφορά, 2 ** προσπάθεια))
συνέχεια
ώρα.ύπνος(2 ** προσπάθεια)
επέστρεψε None
Συνταγή 6
Χρησιμοποιήστε με έναν παράγοντα κωδικοποίησης
Δώστε στον Claude Code, Codex ή Cursor τις αναφορές που μπορούν να διαβαστούν από μηχανή και αφήστε το να συνδέσει την ενσωμάτωση. Κατευθύνετέ το /llms.txt για την επισκόπηση και το OpenAPI spec για ακριβή σχήματα.
Διαβάστε το https://smartmoneyapi.com/llms.txt και το OpenAPI spec στο github.com/tashiardit/smartmoneyapi-docs, στη συνέχεια προσθέστε έναν έλεγχο πριν από τη συναλλαγή στο bot μου: καλέστε GET /v1/confirm με το X-API-Key μου και παραλείψτε οποιαδήποτε είσοδο εκτός αν action == "CONFIRM". Κλιμακώστε το μέγεθος με το size_multiplier.
Πόροι: /llms.txt · OpenAPI spec · Python client.
Έτοιμος να πραγματοποιήσεις την πρώτη σου συναλλαγή;
Πάρε ένα δωρεάν κλειδί και διάβασε την πλήρη αναφορά των endpoints.
Υποστήριξη αποφάσεων, όχι συμβουλές εκτέλεσης. Δεν είναι οικονομική συμβουλή. Η συναλλαγή κρυπτονομισμάτων περιλαμβάνει σημαντικό κίνδυνο απώλειας.