עימוד, סינון ומיון
שלוט באחזור נתונים יעיל עם עימוד, סינון ומיון. למד כיצד לייעל שאילתות ולהפחית קריאות API באמצעות פרמטרי שאילתה.
Smart Money API משתמש בעימוד מבוסס סמן לאחזור נתונים יעיל. ציין מספר עמוד ומגבלת תוצאות לשליטה בסט התוצאות.
| פרמטר |
סוג |
ברירת מחדל |
מקסימום |
| page |
integer |
1 |
N/A |
| limit |
integer |
50 |
500 |
דוגמת עימוד
# קבל את 100 התוצאות הראשונות
curl "https://api.smartmoneyapi.com/v1/whales/events?page=1&limit=100"
# קבל את העמוד השני
curl "https://api.smartmoneyapi.com/v1/whales/events?page=2&limit=100"
מידע עימוד בתגובה
{
"success": true,
"data": {...},
"pagination": {
"page": 1,
"limit": 50,
"total": 420,
"total_pages": 9,
"has_next": true,
"has_prev": false
}
}
סינון
סנן תוצאות לפי סמל, בורסה, כיוון, וקריטריונים אחרים. מסננים משולבים בלוגיקת AND.
| מסנן |
ערכים |
דוגמה |
| symbol |
צמד מסחר |
BTCUSDT, ETHUSDT |
| exchange |
bybit, binance, hyperliquid |
bybit |
| direction |
long, short |
long |
| min_position_size |
מספר |
10.5 |
| min_pnl_percent |
מספר |
2.0 |
דוגמת סינון
# סנן לפי סמל וכיוון
curl "https://api.smartmoneyapi.com/v1/whales/events?symbol=BTCUSDT&direction=long"
# סנן לפי בורסה וגודל מינימלי של פוזיציה
curl "https://api.smartmoneyapi.com/v1/whales/events?exchange=bybit&min_position_size=15"
מיון
מיין תוצאות לפי גודל פוזיציה, P&L, או שדות אחרים. ציין שדה וכיוון (עולה/יורד).
# מיין לפי גודל פוזיציה יורד (הגדול ביותר ראשון)
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=position_sizeℴ=desc"
# מיין לפי P&L עולה
curl "https://api.smartmoneyapi.com/v1/whales/events?sort=pnl_percentℴ=asc"
דוגמאות מלאות
Python: איטרציה דרך כל העמודים
import requests
def get_all_whale_positions(api_key, symbol=None):
"""אחזר את כל פוזיציות הלווייתנים עם עימוד"""
all_positions = []
page = 1
while True:
params = {
"page": page,
"limit": 100, # גודל אצווה מקסימלי
"sort": "position_size",
"order": "desc"
}
if symbol:
params["symbol"] = symbol
response = requests.get(
"https://api.smartmoneyapi.com/v1/whales/events",
headers={"Authorization": f"Bearer {api_key}"},
params=params
)
data = response.json()
all_positions.extend(data["data"]["positions"])
# בדוק אם יש עוד עמודים
if not data["pagination"]["has_next"]:
break
page += 1
return all_positions
# שימוש
positions = get_all_whale_positions("sk_live_abc123xyz789", symbol="BTCUSDT")
print(f"נמצאו {len(positions)} פוזיציות לווייתנים")
שיטות עבודה מומלצות
1. השתמש במגבלה מקסימלית (100-500): פחות קריאות API לאחזור אותה כמות נתונים. אצווה תוצאות ביעילות.
2. סנן בצד השרת: השתמש בפרמטרי שאילתה כדי לסנן במקור, לא בקוד היישום שלך. מפחית העברת נתונים.
3. מיין בשרת: בקש תוצאות ממוינות מה-API. מיון בקנה מידה גדול יעיל יותר בשרת.
4. שמור במטמון ועמד: שמור תוצאות מקומית ועמד דרך הנתונים במטמון כדי למזער קריאות API.
5. עצור מוקדם אם אפשר: אל תאחזר תמיד את כל העמודים. עצור כשיש לך מספיק נתונים למקרה השימוש שלך.