API للمطورين

الحصول على بيانات تداول اللحظية خلال الجلسة باستخدام SAHMK ‏(SDK + MCP)

استخدم SAHMK Python SDK وSAHMK MCP لجلب شموع OHLCV خلال الجلسة (30m/60m)، والتعامل مع حدود الباقة، وبناء مسار تحليل واضح قبل الانتقال إلى البث الكامل في الوقت الفعلي.

خلال الجلسةSDKMCPPythonمتوسطقراءة 8 دقائق

1. أنشئ مخططاً للزخم خلال الجلسة (حالة استخدام)

الهدف: جلب شموع الجلسة لرمز, واحسِب متوسطاً متحركاً سريعاً وبطيئاً، ثم اعرض مخططاً بسيطاً يمكنك مشاركته مع متداول أو محلل.

intraday_plot.py
import os
import pandas as pd
import matplotlib.pyplot as plt
from sahmk import SahmkClient

client = SahmkClient(api_key=os.environ["SAHMK_API_KEY"])

series = client.historical(
    "2222",
    from_date="2026-05-01",
    to_date="2026-05-15",
    interval="60m",
)

rows = getattr(series, "data", None) or series.get("data", [])
df = pd.DataFrame(rows)
df["timestamp"] = pd.to_datetime(df["timestamp"])
df = df.sort_values("timestamp")
df["ma_fast"] = df["close"].rolling(5).mean()
df["ma_slow"] = df["close"].rolling(12).mean()

plt.figure(figsize=(10, 4))
plt.plot(df["timestamp"], df["close"], label="Close")
plt.plot(df["timestamp"], df["ma_fast"], label="MA(5)")
plt.plot(df["timestamp"], df["ma_slow"], label="MA(12)")
plt.title("2222 Intraday Momentum (60m)")
plt.legend()
plt.tight_layout()
plt.savefig("intraday-momentum.png", dpi=140)
Example intraday momentum chart with close, MA(5), و MA(12)

مثال لمخرجات مولدة من بيانات حقيقية خلال الجلسة.

2. متى تستخدم بيانات الجلسة بدلاً من اليومية

شموع الجلسة مثالية لفحص الإشارات قصيرة الأجل, وتتبع زخم الجلسة وتوقيت التنفيذ. إذا كنت تحتاج فقط إلى سياق متوسط أو طويل الأجل، فعادةً تكفي الشموع اليومية وتكون أقل كلفة في المعالجة.

  • فواصل الجلسة: 30m, 60m
  • الفواصل اليومية والمجمّعة: 1d, 1w, 1m
  • يعتمد توفر بيانات الجلسة على الباقة وحدود النطاق الزمني

3. إعداد حزمة Python SDK

ثبّت الحزمة أو حدّثها أولاً ليدعم العميل خيارات الفواصل الأحدث.

bash
pip install -U sahmk
client.py
import os
from sahmk import SahmkClient

client = SahmkClient(api_key=os.environ["SAHMK_API_KEY"])

4. جلب شموع الجلسة باستخدام SDK

ابدأ بنطاق زمني محدود ورمز واحد. ثم وسّع عدد الرموز ووتيرة التشغيل.

intraday_sdk.py
# 30m candles for Aramco in a fixed date range
series_30m = client.historical(
    "2222",
    from_date="2026-05-01",
    to_date="2026-05-15",
    interval="30m",
)

# 60m candles with same shape
series_60m = client.historical(
    "2222",
    from_date="2026-05-01",
    to_date="2026-05-15",
    interval="60m",
)

# Safe extraction for both typed and dict-like responses
rows = getattr(series_30m, "data", None) or series_30m.get("data", [])
latest = rows[-1] if rows else None
print("rows:", len(rows))
print("latest:", latest)
مثال على الاستجابة
rows: 78
latest: {'timestamp': '2026-05-15T14:30:00+03:00', 'open': 27.1, 'high': 27.2, 'low': 27.0, 'close': 27.15, 'volume': 452112}

إذا كان إصدار SDK المحلي يتوقع أسماء مختلفة لمعاملات التاريخ، فحدّثه أولاً ثم أعد التشغيل:pip install -U sahmk

5. جلب شموع الجلسة باستخدام Prompts عبر MCP

في Claude أو Cursor، حدّد بوضوح الفاصل والنطاق الزمني وشكل المخرجات.

Prompt

prompt
Use get_historical for symbol 2222 with interval 30m from 2026-05-01 to 2026-05-15.
Return count, first timestamp, last timestamp, and latest close.

Prompt

prompt
Fetch 60m candles for 2222 over the last 10 trading days.
If the plan limit blocks this interval/window, retry with the closest supported range and explain what changed.

Prompt

prompt
Compare last 5 completed 30m candles for 2222 and 1120.
Show symbol, candle timestamp, close, and volume in a compact table.

تستدعي هذه الـPrompts get_historical. أضف تعليمات رجوع احتياطي إلى الأمر كي يتعامل الوكيل بمرونة مع قيود الباقة.

6. ضوابط الباقة ونصائح الموثوقية

  • اجعل طلبات بيانات الجلسة محدودة (رمز ونطاق زمني ضيق).
  • عالج استجابات حدود الباقة وارجع تلقائياً إلى فاصل ونطاق مدعومين.
  • اعتبر الشمعة الأخيرة قيد التكوين قرب حدود الجلسة.
  • للاستجابة الفورية الشبيهة بالتكات، انتقل إلى بث WebSocket.

7. الخطوات التالية

المصادر

أنشئ أسرع باستخدام بيانات الجلسة

ابدأ بنطاقات محدودة لبيانات الجلسة عبر SDK أو MCP، ثم توسّع إلى مراقبة الإنتاج والبث الفوري عند الحاجة.

نشر بواسطة @sahmk_sa · مرخّص من تداول السعودية