دليل Polymarket Bot · الفصل 31 من 32

إطلاق bot Polymarket الخاص بك بشكل حي: إيداع أولي 25-50 USD، قواعد جني الأرباح ووقف الخسارة، عتبات التنبيه (Telegram/email)، وتيرة المراجعة reconciliation، وخطة التدرج في الأسبوع الأول.

ما الذي يتناوله هذا الفصل

الانتقال من paper إلى live هو المرحلة التي يخسر فيها معظم المطورين أول إيداع لهم عن طريق الخطأ. هذا الفصل هو قائمة التحقق قبل الإطلاق بالإضافة إلى انضباط الأسبوع الأول الذي يلتقط الأخطاء قبل أن تتحول إلى خسائر.

  • قائمة التحقق قبل الإطلاق
  • الإيداع الأول: 25-50 USD
  • قواعد TP/SL من بيئة الإنتاج
  • المراقبة: Telegram، email، ولوحات التحكم
  • وتيرة reconciliation: كل دورة fire_exits
  • الأسبوع الأول: ابقَ قريبًا، وابقَ صغيرًا
  • التوسّع: متى تُودِع المزيد

قائمة التحقق قبل الإطلاق

القائمة الدقيقة، بالترتيب، قبل تحويل bot من paper إلى live.

  1. 30 صفقة paper مغلقة. تم تحقيق معايير النجاح المكتوبة أو تجاوزها.
  2. صيغة السجل متطابقة بين paper وlive. نفس مخطط JSONL.
  3. تم نشر VPS. الـ bot هو العملية الوحيدة؛ وتم إعداد وحدة systemd.
  4. تم اختبار آلية ملف HALT. touch /opt/pmt/HALT يوقف bot خلال 30 ثانية.
  5. تم إعداد تنبيهات Telegram. تم إرسال تنبيه تجريبي بنجاح.
  6. تم اختبار قاطع الخسارة اليومية. حاكِ تراجعًا بنسبة 10%؛ وتحقق من أن الإيقاف يعمل.
  7. تم اختبار reconciliation على السلسلة. أنشئ عدم تطابق يدويًا في السجل؛ وتحقق من أن الإيقاف يعمل.
  8. عنوان الإيداع هو الـ proxy wallet - أي محفظة العقد الذكي التي تتداول منها Polymarket نيابةً عنك (POLY_FUNDER_ADDRESS) - وليس حسابك الشخصي، أي الـ externally-owned account أو EOA. تم التحقق عبر SDK باستخدام wallet show.
  9. تم ضبط approvals الخاصة بـ USDC/pUSD. لكل من exchange القياسي وNegRisk exchange.
  10. تم الاتفاق كتابةً على مبلغ الإيداع الأولي: 25-50 USD لاختبار smoke.

إذا كانت أي نقطة غير مكتملة، فلا تنتقل إلى live. كل واحدة من هذه النقاط كلّفت أحد المطورين أموالًا حقيقية في قصص الإنتاج السابقة.

الإيداع الأول: 25-50 USD

إيداع اختبار smoke صغير عمدًا. الهدف هو التحقق من أن مسار live يعمل، وليس تحقيق الربح.

ما الذي تختبره: هل يتطابق تنفيذ الأوامر لدى bot مع رؤية Polymarket للصفقة. هل يُسجَّل السجل بشكل صحيح. هل يتم نشر take-profit GTC بالفعل. هل يتعافى bot من خطأ API مؤقت. هل يتم تشغيل halt الخاص بالخسارة اليومية إذا حاكيت ذلك.

النتيجة المتوقعة: من 5 إلى 15 صفقة صغيرة تعكس تقريبًا سجل paper. تعامل مع أي انحراف على أنه bug، وليس ميزة من ميزات أن live “أكثر ضوضاءً” من paper.

إذا خسرت هذا المبلغ 25-50 USD بسبب خسارة حقيقية في استراتيجية فعلية، فهذا يعني أن الاستراتيجية تحتاج إلى المزيد من تشغيلات paper. وإذا خسرته بسبب bugs، فأصلح bugs قبل التوسّع.

قواعد TP/SL من بيئة الإنتاج

تعريفان سريعان أولاً، لأن هذا القسم يعتمد عليهما. الـ take-profit (TP) هو أمر بيع مُعَدّ مسبقاً يثبّت ربحاً بمجرد ارتفاع السعر إلى هدفك؛ والـ stop-loss (SL) يبيع المركز بمجرد هبوط السعر دون حدّ معيّن، حتى لا تخرج صفقة سيئة واحدة عن السيطرة. نوعا الأوامر المستخدمان أدناه هما GTC (Good-Til-Cancelled - أمر خامل ينتظر في دفتر الأوامر حتى يُنفَّذ أو تلغيه أنت) وFOK (Fill-Or-Kill - ينفّذ الأمر بالكامل فوراً أو يلغيه تماماً). وهناك مصطلح آخر ستصادفه، mark، وهو ليس نوع أمر إطلاقاً - بل يعني ببساطة الـ mid-price الحالي الذي تقيس المركز بالنسبة إليه. وفيما يلي الإعدادات الافتراضية في الإنتاج من trader الخاص بنا، والتي أثبتت صمودها عبر آلاف الصفقات.

  • Buy: نفّذ FOK بسعر 1c فوق أفضل ask. تخطَّ الصفقة إذا تجاوز ask قيمة 0.85 - هذه هي «فخ 0.99»: سوق شبه محسوم مُسعّر عند 0.90+ يمنح هامش صعود ضئيلاً لكنه يهبط بعنف إذا انقلب، فتنقلب نسبة المخاطرة إلى العائد رأساً على عقب.
  • Take-profit: بيع GTC عند entry + 4-6c، يُنشر فورًا بعد تنفيذ الشراء + انتظار تسوية 5 ثوانٍ.
  • Stop-loss عبر mark: راقب mid؛ إذا هبط mid إلى entry - 8c، فقم بعملية بيع FOK عند أفضل bid (من دون resting؛ اختراق mid يحدث بسرعة).
  • Time exit: إذا لم تُغلَق الصفقة خلال X ساعة وكان PnL بين -2c و+2c، فقم بالخروج FOK عند market.

تتغير الأرقام حسب الاستراتيجية، لكن النمط ثابت: take-profit دائمًا GTC، وstop-loss غالبًا FOK (لأن GTC stops لا تُنفَّذ عندما يخترق mid الهبوط بسرعة)، وtime exits لتجنب الركوب على إشارات قديمة.

المراقبة: Telegram، email، ولوحات التحكم

يجب أن يكون bot قابلاً للمراقبة في الوقت الحقيقي. ثلاث طبقات.

  • تنبيهات Telegram: كل fill، وكل halt، وكل error يتجاوز العتبة. استخدم قناة أو مجموعة مخصصة؛ ولا تخلطها مع الرسائل الشخصية.
  • email ملخّص يومي: في نهاية اليوم، إجمالي الصفقات، معدل الفوز، PnL، وقائمة بالـ halts التي تم تشغيلها. اقرأه كل صباح.
  • Dashboard: اختياري لكنه مفيد. endpoint بسيط عبر HTTP يقرأ السجل ويعرض المراكز المفتوحة + آخر fills + PnL التراكمي.

النمط: أي تغير في الحالة يستحق المعرفة به → Telegram. ملخص نهاية اليوم → email. الاستكشاف في الوقت الحقيقي → dashboard.

وتيرة reconciliation: كل دورة fire_exits

يجب أن تعمل reconciliation بتواتر كافٍ بحيث يتم اكتشاف الانحراف قبل أن تتمكن الصفقة التالية من تضخيمه. تعتمد الوتيرة على معدل التداول.

  • الاستراتيجيات التي تقل عن 10 صفقات/يوم: reconciliation كل ساعة.
  • الاستراتيجيات التي تتراوح بين 10-100 صفقة/يوم: reconciliation كل 15 دقيقة.
  • استراتيجيات HFT (100+ صفقة/يوم): reconciliation في كل دورة من حلقة تشغيل الخروج.

تكلفة reconciliation هي قراءة واحدة من chain لكل token محتفظ به. عند 20 token، فهذا يعني 20 استدعاء RPC؛ ومع RPC مجاني، ستكون ضمن الميزانية بسهولة. لا تبالغ في التحسين هنا.

الأسبوع الأول: ابقَ قريبًا، وابقَ صغيرًا

الأسبوع الأول من النشر live هو الأكثر خطورة. أنت تكتشف bugs في مسار live لم يلتقطها تشغيل paper. الانضباط:

  • ابقَ قريبًا - راقب قناة Telegram كل ساعة خلال ساعات الاستيقاظ.
  • ابقَ صغيرًا - اجعل أحجام المراكز عند الحد الأدنى (5 shares)؛ يجب أن يكلف الـ bug دولارات، لا مئات.
  • قم بإجراء reconciliation يدويًا في نهاية اليوم خلال الأيام 3-5 الأولى. قارن السجل مع واجهة Polymarket مباشرة.
  • وثّق كل مفاجأة. حتى الالتباسات الصغيرة تتحول في النهاية إلى bugs.

نهاية الأسبوع الأول: إذا لم تظهر bugs وكان السجل مطابقًا للواقع، فانتقل إلى الحجم الطبيعي. وإذا ظهرت bugs، فأصلحها، ثم نفّذ أسبوع smoke-test آخر.

التوسّع: متى تُودِع المزيد

المحفزات لإضافة رأس مال، ولكل منها عتبة مختلفة.

  • +50% إيداع: 30 صفقة live، ومعدل الفوز ضمن 5 نقاط مئوية من معدل paper، ولا توجد halts إنتاجية بسبب bugs.
  • +100-200% إيداع: أكثر من 100 صفقة live، وربحية متسقة عبر العينة، وتم اختبار البنية التحتية عبر انقطاع بسيط واحد على الأقل.
  • +500%+ إيداع: فقط بعد 6+ أشهر من الربحية المتسقة في live. زخم رأس المال أبطأ من النجاح - تريد التأكد من أن edge حقيقية، وليست نظامًا سوقيًا على وشك الاختفاء.

أكبر خطر منفرد للتوسّع المبكر: استراتيجية كانت مربحة في نظام سوقي واحد تصبح غير مربحة في النظام التالي. الحجم الأكبر لا يصلح ذلك. الصبر يفعل.

الأسئلة الشائعة

كم يجب أن يكون إيداعي الأول في live؟
25-50 USD. يكفي لاختبار fills الحقيقية، والرسوم الحقيقية، وreconciliation الحقيقي. وصغير بما يكفي بحيث لا تؤثر خسارته الكاملة على حياتك. معظم المتداولين المنضبطين الذين نعرفهم يبدأون بهذا الحجم حتى لو كان bankroll لديهم يسمح بأكثر بكثير - فتكلفة الأنا المرتبطة بخسارة صغيرة أقل بكثير من تكلفة الأنا المرتبطة بخسارة كبيرة.
ما TP/SL الذي يجب أن أستخدمه؟
اجعله متماثلًا مع edge الخاصة بك. إذا كانت استراتيجيتك تتوقع +5% لكل صفقة رابحة، فضع take-profit عند +5-7% وstop-loss عند -3-4%. عدم التماثل (TP صغير، SL كبير) هو قمار، وليس تداولًا. يستخدم trader الإنتاجي لدينا TP+6% / SL-4% (FAK exits) على معظم الاستراتيجيات.
كيف أراقب bot الخاص بي في live؟
ثلاث قنوات: (1) تنبيهات لحظية على نتائج الصفقات المغلقة ذات PnL أكبر من $0.30 عبر Telegram bot. (2) عرض dashboard كل ساعة للنقد + المراكز المفتوحة + MtM. (3) ملخص يومي لـ PnL عبر email. الفشل في أي واحدة من هذه الثلاث يعني أنك تعمل بشكل أعمى.
ما الذي يجب أن يفعّل الإيقاف الطارئ؟
أيّ مما يلي: خسارة يومية تتجاوز 5% من bankroll، أو fill rate أقل من 30% (ما يشير إلى أوامر عالقة)، أو أكثر من 5 صفقات خاسرة متتالية، أو صمت في feed بيانات السوق لأكثر من 30 ثانية، أو أي عدم تطابق reconciliation بين السجل وon-chain. يمكن برمجة جميعها كلمسات تلقائية على halt-sentinel.
متى يمكنني زيادة bankroll الخاص بي في live؟
عندما يكون لديك ما لا يقل عن 50 صفقة live مغلقة، ويطابق معدل الفوز في live معدل paper ضمن 10%، ولا يوجد أي incident reconciliation خلال أكثر من أسبوعين. زد الحجم بمرتين كحد أقصى في كل checkpoint - 25 USD -> 50 -> 100 -> 200 -> 500 على مدى أشهر، وليس أيامًا.
هل يجب أن أشغّل عدة استراتيجيات live في الوقت نفسه؟
ليس في البداية. شغّل استراتيجية واحدة live لمدة 2-4 أسابيع حتى يتم التحقق منها. ثم أضف استراتيجية ثانية. إن مراقبة استراتيجيتين معًا خلال الأسابيع الأولى وصفةٌ لفوات الـ bug الذي يقتل الاستراتيجية الأولى.