Książka kucharska
Książka kucharska API
Praktyczne, gotowe do skopiowania przepisy na najpopularniejsze sposoby integracji API potwierdzającego transakcje Smart Money z botem. Każdy przepis wywołuje GET /v1/confirm i działa na action, confidence, oraz size_multiplier. Wyślij swój klucz w nagłówku X-API-Key — zobacz pełną dokumentację.
Przepis 1
Potwierdź przed wejściem (Python)
Kanoniczna pętla. Zanim Twoja strategia otworzy pozycję, zapytaj API, czy struktura rynku jest zgodna. Wchodź tylko wtedy, gdy action == "CONFIRM".
import requests
API_KEY = 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, długa)
jeśli sig["akcja"] == "POTWIERDŹ":
złóż_zlecenie(BTC, długa)
w przeciwnym razie:
wyświetl("pomiń:", sig["powody"])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding dodatni na wszystkich platformach", "Wieloryby w 67% long"]
}
Przepis 2
Prześlij sygnał Freqtrade
Nadpisanie confirm_trade_entry aby Freqtrade wykonywał tylko wejścia potwierdzone przez API. Błąd otwarty przy błędach API, aby timeout nigdy nie blokował całego handlu.
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
spróbuj:r = requests.("{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},
headers={X-API-Key: self.SM_KEY},
timeout=3,
).json()
return r.pobierz("akcja") == "POTWIERDŹ"
z wyjątkiem Wyjątek:
zwróć True
Przepis 3
Rozmiar według size_multiplier
Niech przekonanie określa wielkość pozycji. Pomnóż swój rozmiar bazowy przez size_mult (0.0–1.5), aby transakcje o WYSOKIM zaufaniu otrzymywały więcej kapitału, a słabe mniej.
BASE_SIZE_USD = 1000
sig = potwierdź("ETH", "długa")pobierz("size_mult", 0.0rozmiar = BASE_SIZE_USD * mult
jeśli rozmiar > 0:
złóż_zlecenie(ETH, długa, size_usd=size)
print(fwprowadzono ${size:.0f} (mult {mult}))
A size_mult wartość 0.0 oznacza nie wchodź — ten sam efekt co SKIP. Traktuj wszystko poniżej własnego progu jako pominięcie.
Przepis 4
Pomiń przy SKIP / zmniejsz przy REDUCE
Obsłuż wszystkie trzy działania wyraźnie. CONFIRM wchodzi z pełnym rozmiarem, REDUCE wchodzi z (mniejszym) mnożnikiem, SKIP pozostaje z boku.
sig = potwierdź(symbol, kierunek)
action = sig["action"]
jeśli action == "CONFIRM":
złóż_zamówienie(symbol, kierunek, BASE_SIZE_USD * sig["size_mult"])
jeśli_natomiast action == "REDUCE":
złóż_zamówienie(symbol, kierunek, BASE_SIZE_USD * sig["size_mult"])
w_przeciwnym_razie:
zaloguj(f"pomiń {symbol} {kierunek}: {sig['reasons']}")
Przepis 5
Obsługa 402 / 429
A 402 oznacza, że symbol lub endpoint wymaga wyższego planu; 429 oznacza, że osiągnąłeś limit zapytań. Traktuj 429/5xx jako przejściowe (wycofaj się), a 402/401/403 jako końcowe (popraw plan lub klucz).
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(próby ponowne):get("{BASE}/confirm","symbol": symbol, "direction": direction},"X-API-Key": API_KEY}, timeout=5,
)
if r.status_code == 200:
return r.json()
jeśli r.status_code w (401, 402, 403):
zgłoś RuntimeError(r.json())
jeśli r.status_code == 429: reset =int(r.headers.(pobierz, 2))czas.(senmin 2 (reset,
** próba))
kontynuujsen(2 ** próba)
zwróć None
Przepis 6
Użyj z agentem kodującym
Podaj Claude Code, Codex lub Cursor maszynowo czytelne odniesienia i pozwól mu połączyć integrację. Wskaż go /llms.txt aby uzyskać przegląd i specyfikację OpenAPI dla dokładnych kształtów.
Przeczytaj https://smartmoneyapi.com/llms.txt oraz specyfikację OpenAPI na github.com/tashiardit/smartmoneyapi-docs, następnie dodaj wstępną kontrolę do mojego bota: wywołaj GET /v1/confirm z moim X-API-Key i pomiń każdą pozycję, chyba że action == "CONFIRM". Skaluj rozmiar przez size_multiplier.
Zasoby: /llms.txt · Specyfikacja OpenAPI · Klient Python.
Gotowy na zabezpieczenie pierwszej transakcji?
Zdobądź darmowy klucz i przeczytaj pełną dokumentację endpointów.
Wsparcie decyzyjne, nie porada wykonawcza. Nie jest to porada finansowa. Handel kryptowalutami wiąże się z dużym ryzykiem straty.