كان اسم الدالة enter_pack. كان ينبغي أن يكون ذلك هو التحذير. كان وكيل أبحاث قد كتب صفقة نقد وحمل على BTC: عندما يُتداول العقد الدائم بأكثر من 8 نقاط أساس فوق السبوت، اشترِ السبوت، وبِع العقد الدائم على المكشوف، واجلس ساكنًا. التمويل والأساس سيتكفلان بالباقي. الاختبار الرجعي ملأ الساقين في نفس الميلي ثانية، عند منتصف السعر، زائد تكة من اللباقة. كان منحنى رأس المال درجًا. لن يسميه أحد مثيرًا. ذلك كان نقطة البيع.
رقّيناها إلى الورق يوم الاثنين.
الاثنين: الحزمة التي كانت تمتلئ دائمًا
وصلت الإشارة الأولى عند 11:17 UTC. الأساس على الشاشة كان 9.4 نقطة أساس، والعقد الدائم مرتفع. في الاختبار الرجعي، enter_pack أعاد تنفيذين ومتبقيًا قدره 0. في الورق أعاد تنفيذ سبوت بـ 0.40 BTC عند سعر الطلب، وبيعًا على المكشوف راكنًا على العقد الدائم لم يُتداول.
كان السبوت قد دفع رسوم taker بـ 4 نقاط أساس وحوالي 1 نقطة أساس سبريد. سعر العقد الدائم الذي أردناه كان لا يزال على الدفتر، ثم لم يعد. بعد 20 ثانية صار الأساس المعروض 5 نقاط أساس، لأننا كنا قد رفعنا السبوت للتو. بعد 40 ثانية امتلأ العقد الدائم، بعد الحركة. صرنا محزومين. صرنا محزومين عند أساس لم يعد يغطي تكلفة الدخول والخروج.
كان الاختبار الرجعي سيسجّل «+9.4 نقطة أساس حمل، متبقي 0.» كان دفتر الصفقات فيه 4 نقاط أساس تكلفة taker على السبوت، ومركزًا طويلًا غير محوَّط لمدة 40 ثانية، وفجوة دخول بنحو 5. كان لديّ عيّنة من 1، ومع ذلك ثقة زائدة في الدرج.
الثلاثاء: فتحنا الدالة
enter_pack أخذت قائمة سيقان ومنتصف سعر مستهدف. دارت في حلقة، وملأت كل ساق عند mid * (1 ± slip)، وكتبت صف محفظة واحدًا. لم يكن هناك طابع زمني ثانٍ. لم يكن هناك فرع لا توجد فيه الساق الثانية. اختبار الوحدة أكّد residual == 0.
ذلك اختبار يجعلك تشعر بأنك شخص ناضج. لن يفشل أبدًا.
فككنا الحزمة إلى أمرين لكل منهما حالته: submitted، partial، filled، canceled. صار «غير مكتمل» كائنًا من الدرجة الأولى. إعادة التشغيل التاريخية لم يكن لديها دفتر حقيقي بعد، فغشنا. أخير تنفيذ الثانية بسحب من انتظار الاثنين (متوسط 26 ثانية، وذيل لم يعجبني)، وحرّك سعره بما فعله السبوت في تلك النافذة. خشن، لكن الدرج اكتسب شقوقًا قبل الغداء: حزم دخلت عند 3 نقاط أساس، وحزم لم تصر حزمًا قط.
الأربعاء: 3 ثوانٍ، ثم ارمِه
إذا لم تُفتح الساق الثانية خلال 3 ثوانٍ، سطِّح الأولى. كان ينبغي أن نبدأ من هناك. يبدو محافظًا إلى أن تسعّر الإجهاض. التسوية تعني أنك عبرت السبوت للدخول وتعبره للخروج. 2 رسوم taker، 2 سبريد، لا حمل، لا تمويل. في إعادة التشغيل المعاد كتابتها لم تكن تلك الإجهاضات نادرة. تجمّعت على الأعمدة حيث بدا الأساس الأكثر «حقيقية»، وهي عادة الأعمدة حيث شيء ما يجري أصلًا عبر السبوت.
بحلول ليلة الأربعاء كان لدينا 17 إشارة ورقية نتجادل معها.
| الاختبار الرجعي، صباح الاثنين | الورق، بحلول الأربعاء | |
|---|---|---|
| الدخول | الساقان عند المنتصف، طابع زمني واحد | السبوت عند الطلب؛ العقد الدائم بعد 5–40 ثانية، أو أبدًا |
| المتبقي | دائمًا 0 | غير محوَّط في 10 من 17 إشارة |
| الرسوم على صفقة عاملة | 2 taker | 2 taker، أو 4 إذا أجهضنا |
| محرّك PnL | الأساس + التمويل | ما فعله السبوت بينما انتظرنا |
لا يزال لدى زميل دفتر ملاحظات يعامل الحزمة كمنتج مدرج، BTC_CARRY، مع «ضريبة تنفيذ» ثابتة بـ 2 نقطة أساس. أعجبني ذلك الدفتر. أنتج نفس الدرج الذي أنتجه الوكيل. الضريبة متوسط. الأيتام توزيع. المتوسطات لا تُدهس في ساعة شحيحة السيولة؛ 0.40 BTC من سبوت متبقٍ يمكن أن تُدهس.
الخميس: المتبقي، ثم القهوة
أجهضت 3 ثوانٍ شبه كل شيء بمجرد أن صرنا ننتظر في طابور أيضًا. رخّينا الورق إلى 15. عند 02:11 UTC يوم الخميس، امتلأ السبوت ولم يمتلئ العقد الدائم. كنت ما أزال في مرحلة الحزن «سيركن، سيُرفع» حين ذهبت لعمل القهوة.
02:11:08 نُفِّذ BTCUSDT 0.40 شراء
02:11:08 قُدِّم BTCUSDT-PERP 0.40 بيع، post-only
02:11:41 ما زال عاملًا
02:26:00 تقييم المتبقي −18.1 bps
انخفض BTC بمقدار 18 نقطة أساس في نافذة هادئة. كان المتبقي هو الصفقة كلها. التمويل، حين طُبع، أضاف رصيدًا لعقد دائم لم يكن لدينا. السبوت جلس هناك في مركز طويل فحسب. المسار الليلي للاختبار الرجعي الأصلي لم يحتوِ قط على مركز بساق واحدة، لذا لم يطرح السؤال الذي نطرحه على كل دفتر آخر: ما أسوأ عمود يمكن أن يطبعه هذا المتبقي، وأين وقف الخسارة لمركز لم نقصد الاحتفاظ به؟
الحزم الـ 7 الكاملة لم تكن بطلات أيضًا. بحلول وقت طباعة الساق الثانية، كان رفعنا نحن للسبوت قد ضغط بالفعل على المؤشر، وكان أساس الدخول أسوأ بـ 3–5 نقاط أساس من اللقطة التي أطلقت الإشارة. عتبة الـ 8 نقاط أساس كانت رقمًا عن شاشة.
ما سنتخطاه في المرة القادمة
لن نُصدِر صفقة متعددة السيقان كدالة تنفيذ واحدة. نفس القاعدة لصفقة حمل عقد دائم-سبوت، أو انتشار تقويمي، أو عمودي call يقدّمه وكيل كحدّين ثم يحتفل عندما «يمتلأان» كلاهما عند المنتصف.
- حالة أمر لكل ساق، بما في ذلك الجزئيات. عامل الحزمة كأب لتذكرتين.
- مؤقت أقصى زمن لليتيم يُطلق فعلًا، ومسار تسوية يدفع 2 سبريد في طريق الخروج.
- تحديد حسب الدفتر على المتبقي، مع وقف خسارة بحجم المتبقي. الصافي المحزوم هو القيمة الاسمية الخاطئة.
- لا يُحتسب حمل، ولا يُراكم تمويل، حتى تُفتح الساقان. غير المكتمل غير مكتمل.
- ارفض المنتصف-على-المنتصف كافتراضي لأي شيء له تذكرتان. إذا وجب التخمين، خمّن الأسوأ على الساق الرقيقة والأبعد على التنفيذ الثاني.
ولن ندع test_pack_is_atomic يدخل المستودع. Atomic خاصية لمحرك مطابقة، لا لدالة مساعدة. سبوت BTC والعقد الدائم لـ BTC دفتران يتناغمان أحيانًا. الورق هو حيث يتوقفان عن التناغم، وذلك السبب الوحيد الذي جعل الدرج مثيرًا أصلًا.



