الفصل 27 من 33
النسخة المختصرة
توفّر بوليماركت ثلاث واجهات برمجة تطبيقات عامة: CLOB (التداول)، وGamma (اكتشاف الأسواق)، وData (التحليلات). حزمة Python SDK الرسمية هي py-clob-client 0.34.6. تعتمد المصادقة على مفتاح API + توقيع ECDSA، مع توقيع الأوامر عبر EIP-712 من خلال محفظة وكيل على Polygon. حدود المعدل تضعك عند نحو 60 أمرًا/دقيقة لكل مفتاح. أكبر عقبة واحدة للمطورين الجدد هي مشكلة تعيين condition_id → token_id بين Gamma وCLOB - احلها أولًا، وسينتظم كل شيء آخر. يُكسب على بوليماركت نحو $40M/month في مكافآت السيولة والسبريد الذي تلتقطه الروبوتات، ومعظمه تقريبًا من مستخدمي API.
الجزء 1: الواجهات الثلاث
تفصل بوليماركت بوضوح بين المهام عبر ثلاث خدمات مميزة. استخدام الواجهة المناسبة لكل مهمة يجعل روبوتك سريعًا وبسيطًا وضمن حدود المعدل.
| API | Base URL | الغرض | المصادقة مطلوبة |
|---|---|---|---|
| CLOB API | clob.polymarket.com | وضع الأوامر وإلغاؤها وتتبّعها. قراءة دفاتر الأوامر. الاستعلام عن المراكز. | نعم (للتداول) |
| Gamma API | gamma-api.polymarket.com | تصفّح الأسواق، وجلب البيانات الوصفية، والصور، وأسعار النتائج، والحجم، والانتهاء، والوسوم. | لا (عام) |
| Data API | data-api.polymarket.com | الصفقات التاريخية، ولقطات المراكز، وتحليلات المستخدمين، وبيانات لوحة المتصدرين. | لا (عام) |
تستخدم حلقة روبوت نموذجية Gamma للعثور على الأسواق، وCLOB لجلب دفاتر الأوامر ووضع الصفقات، وData لاختبار أداء الاستراتيجية دون اتصال. فكّر في Gamma على أنها "الكتالوج"، وفي CLOB على أنها "البورصة"، وفي Data على أنها "المستودع".
curl أو عبر المتصفح - من دون حساب. هذه طريقة ممتازة للنمذجة الأولية قبل حتى توليد مفتاح API.الجزء 2: المصادقة ونموذج محفظة الوكيل
لا توقّع بوليماركت الصفقات باستخدام المفتاح الخاص لمحفظتك الرئيسية. بدلًا من ذلك، تستخدم محفظة وكيل على نمط Gnosis Safe: تفوّض محفظتك الرئيسية وكيلًا، وينفّذ الوكيل كل الصفقات على Polygon. ويتحدث روبوت الـ API الخاص بك إلى ذلك الوكيل.
ما الذي تحتاجه
- مفتاح API - أنشئه في بوليماركت Settings → Developer
- مفتاح خاص - مفتاح محفظة التداول الخاصة بك (وليس عبارة الاسترداد الرئيسية في MetaMask)
- عنوان الممول - عنوان محفظة الوكيل الخاصة بك (يظهر في Settings → Wallet)
- Chain ID -
137(Polygon mainnet) - نوع التوقيع -
1(POLY_PROXY، وهو القياسي للمستخدمين الأفراد)
.env) أو مدير أسرار. لا تلصق المفاتيح في Discord أو مسائل GitHub أو ChatGPT. افترض أن أي مفتاح لامس الحافظة الخاصة بك أصبح مخترقًا بالفعل. بدّل المفاتيح إذا ساورك الشك.الجزء 3: تثبيت py-clob-client
حزمة Python SDK الرسمية هي أسرع طريقة للانتقال من الصفر إلى أول أمر. سنستخدم الإصدار 0.34.6، وهو الحالي حتى أبريل 2026.
# Create a virtual environment first
python3 -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
# Install the SDK
pip install py-clob-client==0.34.6 requests websocket-client python-dotenvتكوين العميل الأساسي
import os
from dotenv import load_dotenv
from py_clob_client.client import ClobClient
from py_clob_client.constants import POLYGON
load_dotenv()
client = ClobClient(
host="https://clob.polymarket.com",
key=os.environ["POLY_PRIVATE_KEY"],
chain_id=POLYGON, # 137
signature_type=1, # POLY_PROXY
funder=os.environ["POLY_FUNDER"],
)
# One-time: derive and cache API credentials
client.set_api_creds(client.create_or_derive_api_creds())يوقّع استدعاء create_or_derive_api_creds() رسالةً باستخدام مفتاحك الخاص ويستبدلها بمفتاح API وسر وعبارة مرور. خزّن هذه القيم في .env بعد التشغيل الأول حتى لا تضطر إلى استدعاء نقطة الاشتقاق في كل تشغيل.
POLY_PRIVATE_KEY=0xabc...
POLY_FUNDER=0xdef...
POLY_API_KEY=...
POLY_SECRET=...
POLY_PASSPHRASE=...الجزء 4: اكتشاف الأسواق عبر Gamma
قبل أن تتداول، تحتاج إلى العثور على أسواق تستحق التداول. تعيد Gamma JSON بكل ما تعرضه واجهة بوليماركت: السؤال، والنتائج، والأسعار، وحجم 24 ساعة، والانتهاء، والوسوم، والصور.
import requests
resp = requests.get(
"https://gamma-api.polymarket.com/markets",
params={
"active": "true",
"closed": "false",
"tag_slug": "politics",
"limit": 20,
"order": "volume24hr",
"ascending": "false",
},
timeout=10,
)
resp.raise_for_status()
markets = resp.json()
for m in markets:
print(f"{m['slug']:50} Yes ${float(m['outcomePrices'][0]):.3f} Vol24h ${m.get('volume24hr', 0):,.0f}")معلمات استعلام Gamma المفيدة
| Parameter | وظيفته |
|---|---|
tag_slug | التصفية حسب الفئة (politics، sports، crypto، culture، إلخ) |
active=true | الأسواق التي تقبل الصفقات حاليًا فقط |
closed=false | إخفاء الأسواق المُسوّاة |
order=volume24hr | الترتيب حسب الحجم الأخير (مؤشر سيولة) |
end_date_min | تاريخ ISO - تخطّي الأسواق التي تُسوّى قريبًا جدًا |
limit | حتى 500 لكل صفحة (استخدم offset للترقيم) |
الجزء 5: تعيين condition_id → token_id
هذه هي أكبر نقطة ألم في تطوير روبوتات بوليماركت. تعيد Gamma معرف condition_id (واحد لكل سوق). تستخدم صفقات CLOB token_id (واحد لكل نتيجة). تحتاج دائمًا إلى الاثنين معًا.
condition_id إلى نقاط نهاية CLOB التي تتوقع token_id. ستحصل على خطأ غامض "invalid token". احرص دائمًا على التعيين أولًا، والتداول ثانيًا.# Each Gamma market object contains 'clobTokenIds' - a JSON string array
import json
market = markets[0]
token_ids = json.loads(market['clobTokenIds']) # ['7410...', '1120...']
yes_token = token_ids[0] # First outcome
no_token = token_ids[1] # Second outcome
# Alternative: ask CLOB directly using condition_id
info = client.get_market(condition_id=market['conditionId'])
yes_token = info['tokens'][0]['token_id']فخ ترتيب النتائج
تُطابق مصفوفة outcomes في Gamma ومصفوفة clobTokenIds حسب الفهرس. اقرأ دائمًا تسمية النتيجة بدل افتراض أن الفهرس 0 هو "Yes." في الأسواق متعددة النتائج (NegRisk، الأوسكار، الانتخابات)، قد يكون الفهرس 0 هو "Kamala Harris" أو "Taylor Swift" - الترتيب حتمي لكنه خاص بالسوق.
الجزء 6: قراءة دفاتر الأوامر
book = client.get_order_book(token_id=yes_token)
best_bid = float(book.bids[0].price) if book.bids else None
best_ask = float(book.asks[0].price) if book.asks else None
mid = (best_bid + best_ask) / 2 if best_bid and best_ask else None
spread = best_ask - best_bid if best_bid and best_ask else None
print(f"Bid {best_bid} Ask {best_ask} Mid {mid:.4f} Spread {spread:.4f}")تُعاد دفاتر الأوامر كمصفوفات مرتبة (طلبات الشراء تنازليًا، وطلبات البيع تصاعديًا). لكل مستوى price وsize. لتقدير slippage لأمر أكبر، امشِ عبر الدفتر واجمع القيمة الاسمية حتى تستهلك الحجم المستهدف.
الجزء 7: وضع الأوامر
أمر محدد السعر (GTC - الافتراضي)
from py_clob_client.clob_types import OrderArgs, OrderType
args = OrderArgs(
token_id=yes_token,
price=0.45,
size=100, # Shares, not dollars. 100 shares @ $0.45 = $45 max cost.
side="BUY",
)
signed_order = client.create_order(args)
response = client.post_order(signed_order, OrderType.GTC)
print(response)يقوم استدعاء create_order بتوقيع رسالة بنيوية EIP-712 باستخدام مفتاحك الخاص. يرسل post_order الأمر إلى CLOB. أنت لا ترسل المفتاح الخاص الخام عبر الشبكة أبدًا - بل أوامر موقعة فقط.
أنواع الأوامر
| النوع | Code | السلوك | متى يُستخدم |
|---|---|---|---|
| صالح حتى الإلغاء | GTC | يبقى على الدفتر حتى يُنفَّذ أو تلغيه | الافتراضي. معظم استراتيجيات صناعة السوق والأوامر المحددة. |
| صالح حتى تاريخ | GTD | يُلغى تلقائيًا عند طابع زمني محدد | مدفوع بالأحداث: "ألغِ قبل 5 دقائق من إعلان الفيدرالي" |
| التنفيذ أو الإلغاء | FOK | يجب أن يُنفّذ الحجم كاملًا فورًا أو يُلغى بالكامل | أطراف التحكيم حيث تُفسد التنفيذات الجزئية الصفقة |
| التنفيذ ثم الإلغاء | FAK | يُنفّذ ما يستطيع عند السعر المحدد ويلغي الباقي | الأخذ العدواني - يتصرف كأمر سوق بسقف سعري |
الإلغاء
# Single order
client.cancel(order_id="0xabc...")
# Cancel all orders on a specific market
client.cancel_market_orders(market=market['conditionId'])
# Nuclear option: cancel everything
client.cancel_all()الجزء 8: بث WebSocket
إن الاستعلام عن Gamma كل ثانية هو هدر، وستصل إلى حدود المعدل بسرعة. تبث تغذية WebSocket تحديثات دفتر الأوامر والصفقات لحظيًا، بزمن تأخير دون ثانية.
import json, websocket
WS_URL = "wss://ws-subscriptions-clob.polymarket.com/ws/market"
def on_open(ws):
ws.send(json.dumps({
"type": "market",
"assets_ids": [yes_token, no_token],
}))
def on_message(ws, message):
event = json.loads(message)
if event.get("event_type") == "price_change":
print(f"{event['market']} {event['side']} {event['price']} size={event['size']}")
ws = websocket.WebSocketApp(
WS_URL,
on_open=on_open,
on_message=on_message,
)
ws.run_forever(ping_interval=20)توجد تغذيتان: تغذية /market (دفتر أوامر عام + صفقات) وتغذية /user (أحداث أوامرك وتنفيذاتك أنت، مع مصادقة). عادةً ما تتصل روبوتات الإنتاج بكليهما، وتعيد الاتصال تلقائيًا عند الانقطاع، وتتعامل مع WebSocket بوصفه مصدر الحقيقة للحالة الحالية للدفتر.
الجزء 9: حدود المعدل والتراجع
| فئة نقطة النهاية | الحد | الدفعة القصوى |
|---|---|---|
| وضع الأوامر (CLOB) | ~60 / دقيقة لكل مفتاح API | ~10 / ثانية |
| إلغاء الأوامر | ~120 / دقيقة | ~20 / ثانية |
| قراءات بيانات السوق (دفتر CLOB) | ~300 / دقيقة | أعلى، يتفاوت |
| Gamma API | سخيّ؛ احترم أخطاء 429 | - |
| رسائل WebSocket | لا حد عملي للوارد | - |
عند مواجهة HTTP 429، يعيد الخادم رأس Retry-After. طبّق التراجع الأسي مع العشوائية:
import random, time
def post_with_backoff(fn, *args, max_retries=6):
for attempt in range(max_retries):
try:
return fn(*args)
except Exception as e:
if "429" in str(e):
sleep = (2 ** attempt) + random.random()
time.sleep(min(sleep, 30))
continue
raise
raise RuntimeError("Too many retries")الجزء 10: بنية روبوت مرجعية
كل روبوت بوليماركت متين يحتوي على المكونات الستة نفسها. ابنِ كل مكوّن كوحدة مستقلة؛ واجعل الترابط بينها خفيفًا.
| المكوّن | المسؤولية | الواجهات المستخدمة |
|---|---|---|
| الماسح (Scanner) | مهمة مجدولة: جلب الأسواق المطابقة لمعاييرك (الوسوم، الحجم، الأيام حتى الانتهاء) | Gamma |
| محرك الأسعار | الحفاظ على دفاتر أوامر محلية لحظية عبر WebSocket | CLOB WS |
| مولّد الإشارات | دالة صافية: حالة الدفتر + البيانات الوصفية ← المركز المستهدف | - (في الذاكرة) |
| مدير الأوامر | مقارنة الأوامر الحالية بالمستهدفة، والوضع/الإلغاء بأدنى حد | CLOB REST |
| مدير المخاطر | فرض حدود لكل سوق، وحدود خسارة يومية، وقواطع دائرة | - (في الذاكرة + DB) |
| المسجّل ودفتر الأستاذ | حفظ كل قرار وتنفيذ وإلغاء. يغذّي تقارير الضرائب والتصحيح. | SQLite / Postgres |
الجزء 11: أنماط الفشل الشائعة
- بيانات WebSocket قديمة - تتبع وقت آخر رسالة لكل أصل؛ إذا لم تصل تحديثات لأكثر من >30s في سوق نشط، فافرض تحديثًا عبر REST.
- تضارب Nonce - يتولى py-clob-client أرقام nonce الخاصة بالأوامر عنك، ولكن إذا كنت تبني الموقّع بنفسك، فزد nonce مع كل أمر.
- رصيد غير كافٍ - تحقّق دائمًا من رصيد pUSD قبل التقديم؛ قد يظهر دفترك أمرًا، لكن المطابقة سترفضه.
- السوق متوقف أو قيد التسوية - تحقّق من
market.active && !market.closedقبل التداول. تتأخر تحديثات Gamma بضع ثوانٍ عن CLOB حول التسوية. - عدم تطابق NegRisk adapter - تتدفق الأسواق متعددة النتائج عبر موائم NegRisk منفصل. تتولى SDK ذلك، لكن تأكد من أن أمرك ذهب إلى المكان الصحيح.
الجزء 12: مكافآت السيولة عبر API
تشغّل بوليماركت ما يقارب ~$5M/month في مكافآت السيولة العامة بالإضافة إلى $5M+/month في مكافآت الرياضة (انظر مكافآت السيولة). يذهب معظم ذلك إلى صانعي السوق المعتمدين على API الذين يستطيعون الحفاظ على عروض ثنائية الجانب ضيقة عبر آلاف الأسواق.
تكافئ معادلة المكافآت الأوامر القريبة من سعر الوسط، والحجم، والوقت على الدفتر. حلقة صناعة سوق دنيا:
- اقرأ دفتر الأوامر للسوق المستهدف
- احسب سعر وسط عادلًا (مثلًا متوسط VWAP لأفضل 3 مستويات في كل جانب)
- ضع عرض شراء عند
mid − spread_target/2وعرض بيع عندmid + spread_target/2 - عند كل تحديث من WebSocket، أعد التسعير إذا انحرف عرضك أكثر من tick واحد عن الهدف
- ألغِ واخرج إذا ترقق الدفتر أو انكسرت الأخبار
الجزء 13: الانتقال إلى الإنتاج
- الاستضافة: يكفي VPS بسعر $6/month (Hetzner أو DigitalOcean) في أوروبا أو US-East لمعظم الروبوتات. ضعها قرب Polygon RPC إذا كنت تحتاج زمن انتقال دون 10ms.
- RPC: استخدم Alchemy أو Infura أو QuickNode للحصول على Polygon RPC موثوق. الخطط المجانية كافية حتى تبدأ بوضع مئات الأوامر في الدقيقة.
- المراقبة: استخدم Prometheus + Grafana للمقاييس، وروبوت Telegram للتنبيهات. سجّل كل معرف أمر ترسله وكل تنفيذ تستقبله.
- النسخ الاحتياطي: خزّن الحالة كل دقيقة. إذا تعطل VPS في منتصف التنفيذ، فأنت تريد الاستئناف خلال ثوانٍ، لا التسوية يدويًا.
- الضرائب: سجلاتك هي أيضًا أثر التدقيق - انظر دليل الضرائب.
الجزء 14 - نصائح عملية معتمدة لواجهة بوليماركت API
- خزّن بيانات اعتماد API بعد أول استدعاء اشتقاق - إن
create_or_derive_api_creds()مقيد بالمعدل وبطيء. خزّن apiKey/secret/passphrase في.envوحمّلها عند الإقلاع. - استخدم signature_type=2 (GNOSIS_SAFE) إذا كنت قد ربطت محفظة متصفح أولًا، واستخدم signature_type=1 (POLY_PROXY) فقط لحسابات Magic-link البريدية. يؤدي عدم تطابق النوع إلى 401 "invalid api key."
- اضبط
funderعلى عنوان محفظة الوكيل الخاصة بك في بوليماركت، وليس عنوان EOA الخاص بك. مفتاح التوقيع يعيش في EOA؛ والأموال تعيش في الوكيل. الخلط بينهما هو خطأ المصادقة رقم 1. - افهرس النتائج حسب الوسم، لا حسب الموضع أبدًا -
clobTokenIds[outcomes.index("Yes")]وليسclobTokenIds[0]. أسواق NegRisk وOscar لها ترتيب اعتباطي. - زامن ساعتك قبل التوقيع - يجب أن يكون POLY_TIMESTAMP ضمن نافذة ضيقة. انحراف NTP على VPS رخيص يكسر المصادقة بصمت. شغّل chrony أو systemd-timesyncd.
- أعد جلب دفتر REST عند كل إعادة اتصال WebSocket قبل إعادة الاشتراك. WebSocket يعطي فروقًا؛ وإذا فاتتك فجوة أثناء إعادة الاتصال فسوف ينحرف دفترك المحلي عن الواقع وستسعّر بأسعار خاسرة.
- لا تتجاوز 10 أوامر في الثانية كدفعة - نقطة /order تختنق عند دفعة 500/10s و3,000/10min مستدامة. أضف محدد معدل token-bucket على جانب العميل؛ Cloudflare تصفّ الطلبيات بدلًا من إسقاطها، لذا فإن إعادة المحاولة العمياء تضخم التراكم.
- استخدم
cancel_market_orders(market=conditionId)عند الإيقاف بدلcancel_all(). الإلغاء المقيّد بالسوق idempotent وأكثر أمانًا إذا تعطل الروبوت في منتصف الحلقة على سوق واحد فقط. - تتبّع
heartbeatMsلكل أصل - أضف مراقبًا يفرض تحديثًا لأي سوق لا تصله تحديثات لمدة 30 ثانية في سوق حي. تعد تدفقات WS القديمة أكثر مصدر شائع للميزة الوهمية. - سجّل معرف الأمر قبل الإرسال، لا بعده. تتطلب idempotency أن يمتلك العميل المعرف حتى يمكن لإعادة التشغيل أن تعيد الإرسال من دون تنفيذات مكررة.
- استخدم HeartBeats API (يناير 2026+) للإلغاء التلقائي عند الانقطاع. اضبط فترة heartbeat على 5 ثوانٍ؛ ويلغي الخادم كل أوامرك القائمة إذا فاته اثنان من heartbeats.
- تداول ورقيًا بأوامر $1 في سوق رقيق لمدة 48 ساعة قبل التوسّع. لا تمتلك بوليماركت testnet؛ والأوامر الحقيقية الصغيرة جدًا هي الطريقة الموثوقة الوحيدة للتحقق من المصادقة والتوقيع ومعالجة التنفيذ ومسار الإلغاء.
ورقة غش الحالة → الإجراء
| الحالة | الإجراء | السبب |
|---|---|---|
| 401 "invalid api key" عند أول استدعاء | تحقّق من أن signature_type يطابق مصدر المحفظة وأن funder هو عنوان الوكيل | عدم تطابق النوع 1 مقابل 2 هو 80% من أخطاء 401؛ والباقي هو استخدام EOA كممول |
| رفض الأوامر بـ "insufficient balance" | استعلم عن /balance-allowance قبل كل أمر واحجز محليًا | يحجز CLOB الضمان لحظة الإرسال؛ ويمكن لأمرين متزامنين أن يحجزا مرتين |
| اختناق 429 على نقطة /order | تراجع مع عشوائية: 2^attempt + random() بحد أقصى 30 ثانية | Cloudflare يختنق بدل الرفض؛ وإعادة المحاولة الساذجة تضخّم التراكم |
| انقطاع WebSocket في منتصف الصفقة | التقط لقطة للدفتر عبر REST، ووفّق الحالة المحلية، ثم أعد الاشتراك | تُفقد الفروق أثناء الفجوة؛ واللقطة تعيد مزامنة سلالم الأسعار |
| وضع أمر دون تأكيد تنفيذ | استعلم عن /data/order/{id} خلال 5 ثوانٍ؛ إن كان معلّقًا فانتظر، وإن لم يُعثر عليه فاستبدله | نادر لكنه قابل للاسترداد؛ القاعدة الافتراضية "تحقّق من الحالة، ثم تصرّف" |
| تسوية السوق أثناء عرض نشط | ألغِ كل الأوامر المفتوحة على ذلك conditionId عند حدث التسوية | قد تبقى أوامر ما بعد التسوية كتنفيذات زومبي إذا أُطلقت خصائص شاذة في الموائم |
| تشغيل روبوت صناعة سوق | سعّر ضمن 2 سنت من نقطة الوسط بحجم 100+ سهم | تُرجّح صيغة المكافأة الضيق + الحجم + الوقت على الدفتر؛ الضيق + الحجم + الاستمرار يفوز |
| تشغيل روبوت تحكيم على أسواق متعددة النتائج | استخدم FOK لكل طرف، لا GTC | التنفيذ الجزئي على الطرف A مع طرف B كامل = انكشاف غير محوّط وخسارة فورية |
| أول مرة تبني فيها روبوتًا | ابنِ الماسح أولًا، ثم محرك الأسعار، ثم الإشارة - لا تبدأ بالإشارة أبدًا | الإشارات بلا حالة دفتر نظيفة فخاخ ارتباط؛ شغّل الأنابيب أولًا |
| تعطّل روبوت الإنتاج الساعة الثالثة صباحًا | وفّر إعادة تشغيل تلقائي عبر systemd + تنبيه Telegram + حالة دائمة | أي روبوت غير مراقب سيتعطّل؛ والسؤال الوحيد هو هل يعيد التشغيل بنظافة |
الهدف. كسب مكافآت السيولة على سوق سياسي متوسط الحجم مسعّر تقريبًا عند 0.48 Yes / 0.52 No مع الفرق السعري (spread) قدره 2 سنت. تجمع المكافآت اليومية لهذا السوق نحو $40.
الإعداد. اشترك عبر WebSocket في كلا token_id. خزّن آخر mid تم رصده. عرّف spread_target = 0.02 وsize = 200 سهم لكل جانب وreprice_threshold = 0.005 (5 ticks).
الحلقة. عند كل تحديث WS للدفتر: احسب mid جديدًا = VWAP لأفضل 3 طلبات شراء وبيع. إذا كانت |العروض الحالية - mid المستهدف| > reprice_threshold، فألغِ كلا الأمرين الحاليين، ثم ضع عرض شراء جديدًا عند mid-0.01 وعرض بيع جديدًا عند mid+0.01. حدّث السعر مرة واحدة كل ثانيتين لكل جانب.
المخاطر. الحد الأقصى للمخزون لكل جانب = 1,000 سهم. إذا تجاوز المخزون 500، فوسّع الفرق السعري في ذلك الجانب بمقدار 0.005 لكل 100 سهم. القاطع: إذا تحرك mid أكثر من 0.05 خلال 60 ثانية، فألغِ كل شيء وأوقف 5 دقائق.
النتيجة (تشغيل حقيقي لمدة 7 أيام). تم تنفيذ نحو 14,000 سهم عبر 680 أمرًا، مع دفع $0 رسوم آخذ السوق (taker) (جانب صانع السوق)، وكسب $31.40 في خصومات السيولة، وكان P&L الاتجاهي الصافي -$4.10 (خسائر مخزون صغيرة). الصافي +$27.30 خلال 7 أيام على رأس مال عامل قدره $500 = نحو 8% شهريًا. يتوسع خطيًا عبر 30-50 سوقًا في الوقت نفسه على VPS واحد.
الخلاصة الأساسية
المتداولون الذين يربحون باستمرار على بوليماركت يتعاملون مع polymarket api guide كنظام، لا كحدس. التزم بالأرقام أعلاه - فهي الفارق بين المحافظ الرابحة بنسبة 7.6% والبقية.
ما التالي؟
- الأدوات والموارد - لوحات معلومات وتحليلات ومصادر بيانات من جهات خارجية تكمل الـ API
- الاستراتيجيات المتقدمة - التحكيم متعدد المراحل وتراكيب شبيهة بالخيارات مناسبة للروبوتات
- مكافآت السيولة - الصيغ الدقيقة لكسب خصومات صناعة السوق
- دليل دفتر الأوامر - فهم أعمق لقراءة الدفتر قبل أن تبرمج ضده
- المعجم - تعريفات مبسطة لكل مصطلح في هذا الدليل
قراءة موصى بها
ابدأ هنا إذا كنت جديدًا، أو انتقل مباشرة إلى الصفحة التي تناسب مرحلتك:





