دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

بني وكونفيݣوري بوت ديال التداول بالنسخ فـ Polymarket باستعمال TypeScript

تعلّم كيفاش تكونفيݣوري بوت CodeX CopyTrading ديال Polymarket، تتبع بزاف ديال المحافظ، تختار حجم ثابت ولا مبني على النسبة المئوية، تجرّب الأوامر المحاكية، تفعّل التنفيذ الحقيقي، تطبّق حدود المخاطر، وتسير الحالة المحلية بأمان.

بني وكونفيݣوري بوت ديال التداول بالنسخ فـ Polymarket باستعمال TypeScript

شنو كيدير بوت CopyTrading ديال Polymarket CodeX

بوت CopyTrading ديال Polymarket CodeX هو تطبيق بـ TypeScript كيراقب النشاط ديال محفظة وحدة ولا كثر من المحافظ المتبوعة، وكينشئ أوامر مقابلة فـ Polymarket. كيقرا نشاط المحافظ باستعمال Data API العمومي، وكيستعمل @polymarket/clob-client-v2 للتداول المباشر عبر دفتر أوامر الحد المركزي ديال Polymarket.

البوت يقدر يقلد عمليات الشراء والبيع باستعمال مبالغ ثابتة بالدولار ولا تحديد الحجم بنسبة مئوية. وكيحتافظ حتى بسجل محلي للصفقات اللي تشافت، والأوامر اللي تخلقات، والأوامر اللي تنفذات ولا تحاكات، والمراكز التقريبية ديال التوكنات.

تحذير من المخاطر: هادي برمجية ديال التداول. الربح ماشي مضمون. ديما شغل المحاكاة الأول، وراجع كل قيمة فالإعدادات، واستعمل مبالغ صغيرة بزاف قبل ما تفكر فالتنفيذ المباشر.

الميزات الرئيسية

  • كيراقب عدة محافظ متبوعة.
  • كيدعم أوضاع التقليد بمبلغ ثابت ولا بنسبة مئوية.
  • كيوفر التنفيذ المحاكى عبر npm run test.
  • كيوفر التنفيذ المباشر فالسوق عبر npm start.
  • يقدر يتبع نشاط البيع باستعمال المركز اللي كيتتبعو البوت محلياً.
  • كيطبق حدود الطلب الأدنى، والطلب الأقصى، والمركز، والقيمة الاسمية اليومية.
  • كيدعم سلوك أوامر fill-and-kill و fill-or-kill.
  • كيوفر حماية اختيارية للسعر مقارنة مع سعر تنفيذ الصفقة المتبوعة.
  • كيخزن الحالة فملف JSON محلي.

المتطلبات

قبل ما تضبط البوت، ثبت البرامج التالية:

  • Node.js بالإصدار 20.10 ولا أحدث.
  • npm.

جيب مصدر المشروع، وحل التيرمينال فالمجلد ديالو، وثبت الاعتماديات ديال الحزمة:

npm install

البوت كيعتمد على الحزمة غير التجريبية @polymarket/clob-client-v2 لتنفيذ الأوامر، وعلى Polymarket Data API العمومي لاستطلاع نشاط المحافظ.

ضبط بيانات اعتماد التداول المباشر

أنشئ ولا عدل ملف .env ديال المشروع. زيد فيه مضيف CLOB، ومعرف سلسلة Polygon، ونوع التوقيع، والمفتاح الخاص، ومحفظة الإيداع:

POLYMARKET_CLOB_HOST=https://clob.polymarket.com
POLYMARKET_CHAIN_ID=137
POLYMARKET_SIGNATURE_TYPE=POLY_1271
POLYMARKET_PRIVATE_KEY=0x...
POLYMARKET_DEPOSIT_WALLET=0x...

ممنوع نهائياً تدير commit لمفتاح خاص حقيقي ولا لملف ديال بيانات الاعتماد فـ version control. اعتابر المفتاح الخاص وأي بيانات اعتماد ديال CLOB أسرار.

اختار نوع التوقيع الصحيح

POLYMARKET_SIGNATURE_TYPE كيقبل القيم التالية:

  • EOA
  • POLY_PROXY
  • POLY_GNOSIS_SAFE
  • POLY_1271

حسب توثيق المشروع، POLY_1271 كيكون غالباً مناسب للمستخدمين الجدد ديال محفظة الإيداع. إلا كنت كتتداول مباشرة عبر حساب مملوك خارجياً، اختار EOA؛ وفهاد الحالة، يمكن حذف POLYMARKET_DEPOSIT_WALLET.

استعمل بيانات اعتماد L2 الموجودة

البوت يقدر يشتق بيانات الاعتماد وقت التشغيل. باش تتجاوز هاد الخطوة، زيد بيانات اعتماد L2 الموجودة فـ .env:

CLOB_API_KEY=...
CLOB_SECRET=...
CLOB_PASS_PHRASE=...

التنفيذ المباشر كيستعمل createAndPostMarketOrder. قبل ما تبدا التداول المباشر، تأكد باللي محفظة التداول ممولة وعندها الموافقات المطلوبة ديال Polymarket. البوت ما كينشئش المحافظ وما كيوافقش أوتوماتيكياً على صرف التوكنات.

ضبط حجم التقليد

التطبيق كيدعم جوج أوضاع للتقليد. اختار الوضع اللي كيناسب مقدار التعرض اللي بغيتي البوت ياخذو.

الوضع الثابت

الوضع الثابت كيخصص مبلغ محدد مسبقاً بالدولار لعمليات الشراء والبيع المقلدة:

COPY_MODE=fixed
FIXED_BUY_AMOUNT_USD=5
FIXED_SELL_AMOUNT_USD=5

فهاد المثال، عمليات الشراء والبيع المقلدة المؤهلة كيتم تحديد حجمها باستعمال قيمة مضبوطة قدرها خمسة دولارات أمريكية.

الوضع النسبي

الوضع النسبي كيحسب أحجام الأوامر انطلاقاً من نشاط المحفظة المتبوعة:

COPY_MODE=percentage
COPY_PERCENTAGE=0.10

فالشراء، البوت كينسخ النسبة المضبوطة من القيمة الاسمية بالدولار ديال الصفقة المتبوعة. فالبيع، كينسخ النسبة المضبوطة من الأسهم اللي باعتها المحفظة المتبوعة. والبيع كيكون محدود بالمركز اللي متتبع حالياً فالحالة المحلية ديال البوت.

مثلاً، 0.10 كتمثل عشرة فالمائة. ولكن خاص الأمر الفعلي يبقى داز من ضوابط المخاطر المضبوطة.

ضبط ضوابط المخاطر

حدد حدود الأوامر والتعرض فـ .env قبل ما تشغل التداول المحاكى ولا المباشر:

MIN_ORDER_USD=1
MAX_ORDER_USD=25
MAX_POSITION_USD_PER_TOKEN=100
DAILY_MAX_NOTIONAL_USD=250
ORDER_TYPE=FAK
PRICE_PROTECTION_BPS=0
  • MIN_ORDER_USD كيحدد القيمة الدنيا المسموح بها للأمر.
  • MAX_ORDER_USD كيحط سقف لقيمة الأمر الواحد.
  • MAX_POSITION_USD_PER_TOKEN كيحد التعرض التقريبي لكل توكن.
  • DAILY_MAX_NOTIONAL_USD كيحد مجموع النشاط ذي القيمة الاسمية اليومية.
  • ORDER_TYPE كيتحكم فسلوك التنفيذ.
  • PRICE_PROTECTION_BPS كيحدد بشكل اختياري التنفيذ مقارنة مع سعر تنفيذ الصفقة المتبوعة.

فهم أوامر FAK وFOK

مع ORDER_TYPE=FAK، يقدر الأمر يتنفذ جزئياً، ومن بعد كيتلغى الجزء اللي ما تنفذش. ومع ORDER_TYPE=FOK، خاص الأمر كامل يتنفذ؛ وإلا كيفشل الأمر.

FAK يقدر يكون مناسب إلا كان التنفيذ الجزئي مقبول. أما FOK فأكثر تشدداً، ولكن يقدر يخلي أوامر أكثر تفشل ملي ما كتكونش السيولة الكاملة متوفرة.

طبق حماية السعر

ملي كتكون PRICE_PROTECTION_BPS=0، عميل CLOB كيقدر أسوأ سعر قابل للتنفيذ فالسوق. وملي كتكون قيمة غير صفرية مضبوطة، البوت كيحسب حداً لأسوأ سعر فوق سعر التنفيذ المتبوع فالشراء، وتحتو فالبيع.

حماية الثمن تقدر تحدّ من حركة الثمن المقبولة، ولكن ملف README ما كيضمنش باللي الطلب غادي يتنفّذ ملي هاد الإعداد يكون مفعّل.

دير محاكاة اللّول

بدا بأمر الاختبار ديال المشروع:

npm run test

هاد الوضع كينتج طلبات محاكية بلاصت طلبات السوق الحقيقية. استعملو باش تتحقق من مراقبة المحافظ، وسلوك تحديد الحجم، وحدود المخاطر، وإعدادات البيئة، بلا ما ترسل صفقات حقيقية مباشرة.

فوقت الاختبار، تأكد باللي:

  1. المحافظ اللي بغيتي هي اللي كتتراقب.
  2. أحداث الشراء والبيع كتتوحّد بالشكل الصحيح.
  3. وضع النسخ المختار كينتج الأحجام المتوقعة.
  4. الطلبات كتحترم الحدود الدنيا، والقصوى، وحدود المراكز، والحدود اليومية.
  5. أحجام البيع ما كتفوتش المركز المتتبع محلياً.
  6. الحالة كتتسجّل فـ ./data/state.json.

بدا التداول الحقيقي

من بعد ما تراجع نتائج المحاكاة، وتمويل المحفظة، والموافقات، وبيانات الدخول، وجميع إعدادات المخاطر، بدا التنفيذ الحقيقي بهاد الأمر:

npm start

هاد الأمر كيفعّل طلبات السوق الحقيقية. بدا بأحجام صغيرة بزاف وراقب مخرجات الطرفية وحساب Polymarket بجوج. ما تفترضش باللي نتائج المحاكاة غادي تطابق بالضبط التنفيذ الحقيقي، والسيولة، ولا حركة الثمن.

فهم الحالة المحلية

البوت كيخزّن الحالة المحلية ديالو فـ:

./data/state.json

هاد الملف كيتبع الصفقات اللي تشافت، والطلبات المحاكية ولا المنفذة، والمراكز التقريبية. كيساعد باش النشاط اللي تعالج من قبل ما يتحسبش كنشاط جديد، وكيعطي لمنطق متابعة البيع رؤية محلية للمراكز المتاحة.

المراكز غير تقريبية، حيث طلبات السوق تقدر تتنفّذ جزئياً. لذلك الحالة المحلية تقدر تختلف على الحيازات الفعلية فالحساب.

نصائح تشغيل متقدمة

زيد مطابقة المراكز

للاستعمال فالإنتاج، ملف README كيوصي بإضافة مهمة دورية لمطابقة المراكز. خاص هاد المهمة تستعلم على نقطة النهاية /positions ديال Data API باستعمال POLYMARKET_DEPOSIT_WALLET وتقارن المراكز الراجعة مع الحالة المحلية.

هاد الشي مهم بزاف من بعد التنفيذ الجزئي، والطلبات الفاشلة، والصفقات اليدوية، وإعادة التشغيل، ولا أي نشاط تدار خارج البوت.

حمي ملف الحالة

دير نسخة احتياطية من ./data/state.json قبل التحديثات ولا التغييرات التشغيلية. تجنب تعدلو والبوت خدام. حيث كيسجّل النشاط اللي تشاف والمراكز التقريبية، حذفو ولا إفسادو يقدر يأثر على اكتشاف التكرار وتحديد حجم البيع.

استعمل حدود محافظة

بدا بقيمة قليلة فـ MAX_ORDER_USD وMAX_POSITION_USD_PER_TOKEN وDAILY_MAX_NOTIONAL_USD. ما تزيدهمش حتى تراقب البوت فظروف سوق واقعية. حدود المخاطر كتحد من التعرض، ولكن ما كتزيلش مخاطر التنفيذ، والسيولة، والسوق، والبرمجيات.

راجع ملفات المصدر المهمة

المستودع كيقسم مسؤوليات الإعداد، والاستطلاع، والاستراتيجية، والتنفيذ، والحالة:

  • src/config.ts كيتكلف بتحليل متغيرات البيئة وفحوصات السلامة.
  • src/index.ts فيه الحلقة الرئيسية ديال الاستطلاع.
  • src/polymarket/dataApi.ts كينفذ قراءات عامة من Data API.
  • src/watchers/walletWatcher.ts كيراقب النشاط ديال محافظ متعددة.
  • src/polymarket/tradeParser.ts كيوحّد أحداث النشاط.
  • src/strategy/copyStrategy.ts كينفذ تحديد الحجم الثابت وبالنسبة المئوية.
  • src/strategy/riskManager.ts كيفرض حدود الطلبات، والحدود اليومية، وحدود المراكز.
  • src/polymarket/orderExecutor.ts كيتكلف بالتنفيذ المحاكي والحقيقي.
  • src/storage/stateStore.ts كيدير الحالة المحلية بصيغة JSON.

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

الخلاصة

Polymarket CodeX CopyTrading Bot كيوفر سير عمل بـ TypeScript لمراقبة محافظ متعددة ونسخ عمليات الشراء والبيع المؤهلة بأحجام ثابتة ولا مبنية على النسبة المئوية. ضبط بيانات الدخول بعناية، وفرض حدود محافظة للمخاطر، والتحقق من السلوك باستعمال npm run test، ومطابقة المراكز المحلية قبل الاعتماد على npm start فالتداول الحقيقي.