شنو كيدير بوت 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 كيقبل القيم التالية:
EOAPOLY_PROXYPOLY_GNOSIS_SAFEPOLY_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=0MIN_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هاد الوضع كينتج طلبات محاكية بلاصت طلبات السوق الحقيقية. استعملو باش تتحقق من مراقبة المحافظ، وسلوك تحديد الحجم، وحدود المخاطر، وإعدادات البيئة، بلا ما ترسل صفقات حقيقية مباشرة.
فوقت الاختبار، تأكد باللي:
- المحافظ اللي بغيتي هي اللي كتتراقب.
- أحداث الشراء والبيع كتتوحّد بالشكل الصحيح.
- وضع النسخ المختار كينتج الأحجام المتوقعة.
- الطلبات كتحترم الحدود الدنيا، والقصوى، وحدود المراكز، والحدود اليومية.
- أحجام البيع ما كتفوتش المركز المتتبع محلياً.
- الحالة كتتسجّل فـ
./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 فالتداول الحقيقي.
