Cookbook
API Cookbook
Smart Money ticaret-onaylama API'sini bir bota entegre etmenin en yaygın yolları için pratik, kopyala-yapıştır tarifleri. Her tarif çağrı yapar GET /v1/confirm ve üzerinde işlem yapar action, confidence, ve size_multiplier. Anahtarınızı X-API-Key başlığında gönderin — bkz. tam dokümanlar.
Tarif 1
Giriş öncesi onay (Python)
Klasik döngü. Stratejiniz bir pozisyon açmadan önce, API'ye piyasa yapısının uygun olup olmadığını sorun. Sadece uygun olduğunda giriş yapın action == "CONFIRM".
import requests
API_KEY = sm_your_key
BASE = https://api.smartmoneyapi.com/v1
def onayla(symbol, direction):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key": API_KEY},5 timeout=raise_for_status()
return r.json() onayla =(BTC, uzun)
eğer sig[eylem] == ONAYLA:
sipariş_ver(BTC, uzun)
değilse:
yazdır(atla:, sig[sebepler])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "YÜKSEK",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Borsalarda fonlama pozitif", "Balinalar %67 long"]
}
Tarif 2
Freqtrade sinyalini kilitle
Geçersiz kıl confirm_trade_entry böylece Freqtrade yalnızca API'nin onayladığı girişleri alır. Başarısız açık API hatalarında, böylece bir zaman aşımı tüm işlemleri asla engellemez.
import requests
from freqtrade.strategy import IStrategy
class SmartMoneyStrategy(IStrategy): "sm_your_key"
"https://api.smartmoneyapi.com/v1" def
confirm_trade_entry (self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, **kwargs):splitif("/")[0]
symbol not in "BTC" ("ETH", "SOL", return True):
try
:get(f"{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},3,
).timeout=()
json r.al("eylem") == "ONAYLA"
hariç Exception:
return True
Tarif 3
Boyut size_multiplier'a göre
Pozisyon büyüklüğünü inanca göre ayarla. Temel büyüklüğünü size_mult (0.0–1.5) ile çarparak YÜKSEK güvenilir işlemlere daha fazla sermaye, zayıflara daha az ayır.
BASE_SIZE_USD = 1000
imza = onayla("ETH", longmult = sig.get("size_mult", 0.0boyut = BASE_SIZE_USD * çarpan
eğer boyut > 0:
sipariş_ver("ETH", "long", size_usd=boyut)
yazdır(f"${size:.0f} (çarp {mult}) girdi")
A size_mult 0.0, girme anlamına gelir — SKIP ile aynı sonucu verir. Kendi tabanınızın altındaki herhangi bir şeyi skip olarak değerlendirin.
Tarif 4
SKIP üzerinde atla / REDUCE üzerinde azalt
Her üç eylemi açıkça ele alın. CONFIRM tam boyutta girer, REDUCE (daha küçük) çarpanla girer, SKIP kenarda durur.
sig = onayla(sembol, yön)action = sig[]
"action" eğer action ==:
sipariş_ver(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
elif action == "REDUCE":
sipariş_ver(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
else:
log(f"skip {symbol} {direction}: {sig['reasons']}")
Tarif 5
402 / 429'u Yönet
A 402 sembol veya endpoint'in daha yüksek bir plana ihtiyacı olduğu anlamına gelir; bir 429 rate limit'e ulaştığınız anlamına gelir. 429/5xx'i geçici (geri çekil), 402/401/403'ü terminal (planı veya anahtarı düzelt) olarak değerlendirin.
import time, requests
def confirm_safe(symbol, direction, retries=3):
for attempt in range(yeniden denemeler):
r = requests.get(
f{BASE}/confirm,
params={"symbol": symbol, yön: direction},X-API-Key: API_KEY}, timeout=5,
)
eğer r.status_code == 200:
döndür r.json()
eğer r.status_code içinde (401, 402, 403):
yükselt RuntimeError(r.json())
eğer r.status_code == 429: reset =int(r.headers.(get, 2))zaman.(uykudakika 2 (sıfırla,
** deneme))
devam etzaman.(2 uyku
# 5xx / geçici
None döndür
Reçete 6
Bir kodlama ajanı ile kullanın /llms.txt Claude Code, Codex veya Cursor'a makine tarafından okunabilir referansları verin ve entegrasyonu kurmasını sağlayın. Genel bakış için ve tam şekiller için OpenAPI spesifikasyonuna yönlendirin.
https://smartmoneyapi.com/llms.txt ve github.com/tashiardit/smartmoneyapi-docs'daki OpenAPI spesifikasyonunu okuyun, ardından botuma bir ön işlem kontrolü ekleyin: X-API-Key'imle GET /v1/confirm'i çağırın ve action == "CONFIRM" olmadıkça herhangi bir girişi atlayın. Boyutu size_multiplier ile ölçeklendirin.
Kaynaklar: /llms.txt · OpenAPI spesifikasyonu · Python istemcisi.
İlk işleminizi kontrol etmeye hazır mısınız?
Ücretsiz bir anahtar alın ve tam endpoint referansını okuyun.
Karar desteği, işlem tavsiyesi değildir. Finansal tavsiye değildir. Kripto para ticareti önemli kayıp riski taşır.