Cookbook
API Cookbook
Các công thức thực tế, copy-paste cho những cách phổ biến nhất để tích hợp API xác nhận giao dịch Smart Money vào bot. Mỗi công thức đều gọi GET /v1/confirm và thực hiện hành động dựa trên action, confidence, và size_multiplier. Gửi key của bạn trong X-API-Key header — xem tài liệu đầy đủ.
Công thức 1
Xác nhận trước khi vào lệnh (Python)
Vòng lặp chuẩn. Trước khi chiến lược của bạn mở một vị thế, hãy hỏi API xem cấu trúc thị trường có đồng ý không. Chỉ vào lệnh khi action == "CONFIRM".
import requests
API_KEY = "sm_your_key"
BASE = "https://api.smartmoneyapi.com/v1"
def confirm(symbol, direction):
r = requests.get({BASE}/confirm,
params={"symbol": symbol, "direction": direction},
headers={"X-API-Key"API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json() xác nhận(BTC, long)
nếu tín hiệu["hành động"] == "XÁC NHẬN":
đặt_lệnh("BTC", "long")
ngược lại:
in("bỏ qua:", tín hiệu["lý do"])
{
"symbol": "BTC",
"direction": "long",
"action": "CONFIRM",
"confidence": "HIGH",
"composite": 0.74,
"size_mult": 1.5,
"reasons": ["Funding positive across venues", "Whales 67% long"]
}
Công thức 2
Cổng tín hiệu Freqtrade
Ghi đè confirm_trade_entry để Freqtrade chỉ thực hiện giao dịch khi API xác nhận. Thất bại mở khi API gặp lỗi để tránh tình trạng timeout chặn tất cả giao dịch.
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
thử:get("{self.SM_BASE}/confirm","symbol": symbol, "direction": "long"},"X-API-Key": self.SM_KEY},
timeout=3,
).json()
return r.nhận("hành động") == "XÁC NHẬN"
ngoại trừ Ngoại lệ:
trả về True
Công thức 3
Kích thước theo size_multiplier
Để mức tin quyết định quy mô vị thế. Nhân kích thước cơ bản của bạn với size_mult (0.0–1.5) để các giao dịch có độ tin cậy CAO nhận nhiều vốn hơn và các giao dịch yếu nhận ít hơn.
BASE_SIZE_USD = 1000
sig = xác nhận("ETH", longmult = sig.get("size_mult", 0.0size = BASE_SIZE_USD * mult
nếu kích thước > 0:
đặt lệnh(ETH, long, size_usd=size)
print(f"đã vào ${size:.0f} (nhân {mult})")
A size_mult của 0.0 có nghĩa là không vào — kết quả giống như SKIP. Xem mọi giá trị dưới ngưỡng của bạn như một lần bỏ qua.
Công thức 4
Bỏ qua SKIP / giảm kích thước với REDUCE
Xử lý rõ ràng cả ba hành động. CONFIRM vào đủ kích thước, REDUCE vào với hệ số (nhỏ hơn), SKIP không tham gia.
sig = xác nhận(symbol, direction)
action = sig["action"]
nếu action == "CONFIRM":
đặt_lệnh(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
elif action == "REDUCE":
đặt_lệnh(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
else:
log(f"skip {symbol} {direction}: {sig['reasons']}")
Công thức 5
Xử lý 402 / 429
A 402 có nghĩa là biểu tượng hoặc điểm cuối cần một gói cao cấp hơn; 429 có nghĩa là bạn đã đạt đến giới hạn tốc độ. Xem 429/5xx là tạm thời (giảm tốc độ), 402/401/403 là kết thúc (sửa gói hoặc khóa).
nhập thời gian, yêu cầu
def xác nhận_an_toàn(biểu tượng, hướng, thử lại=3):
cho lần thử trong phạm vi(số lần thử lại):r = requests.get(f"{BASE}/confirm","symbol" direction: direction},X-API-Key: API_KEY}, timeout=5,
)
nếu r.status_code == 200:
trả về r.json()
nếu r.status_code trong (401, 402, 403):
nâng RuntimeError(r.json())
nếu r.status_code == 429: reset =int(r.headers.(get, 2))thời gian.(ngủphút 2 (đặt lại,
** thử lại))
tiếp tụcthời gian.(2 ngủ
# 5xx / tạm thời
trả về None
Công thức 6
Sử dụng với một đại lý mã hóa /llms.txt Đưa cho Claude Code, Codex, hoặc Cursor các tham chiếu có thể đọc được bằng máy và để nó kết nối tích hợp. Chỉ nó vào
Đọc https://smartmoneyapi.com/llms.txt và đặc tả OpenAPI tại github.com/tashiardit/smartmoneyapi-docs, sau đó thêm kiểm tra trước giao dịch vào bot của tôi: gọi GET /v1/confirm với X-API-Key của tôi, và bỏ qua mọi lệnh trừ khi action == "CONFIRM". Nhân kích thước với size_multiplier.
Tài nguyên: /llms.txt · Đặc tả OpenAPI · Python client.
Sẵn sàng kiểm soát giao dịch đầu tiên?
Lấy key miễn phí và đọc tài liệu endpoint đầy đủ.
Hỗ trợ quyết định, không phải tư vấn thực hiện. Không phải tư vấn tài chính. Giao dịch tiền mã hóa tiềm ẩn rủi ro thua lỗ đáng kể.