شنو هو Calibrain Harness؟
Calibrain Harness هو نظام مفتوح المصدر للاختبار الأمامي ديال نماذج التصنيف السريعة. كيربط نموذج مدعوم ببيانات سوق العقود الآجلة الدائمة، وكيطرح أسئلة قابلة للتوسيم مع كل شمعة مسدودة، وكيحوّل الاحتمالات الراجعة للقيمة المتوقعة، وكيقدر ينفّذ اختيارياً صفقات مؤهلة فـ Bybit testnet فقط.
المشروع كيجمع بين جوج أدوات مرتبطين: روبوت للتداول وأداة لتقييم النماذج. كل توقع كيتحفظ وكيتم من بعد مقارنتو بالنتيجة ديال السوق، حتى التوقعات اللي ما نتجاتش عليها صفقات. هاد الشي كيفصل بين جودة النموذج وتأثيرات الرسوم، والانزلاق السعري، والتنفيذ، وقواعد السياسة.
مهم: Calibrain Harness ما زال فالتطوير النشيط، وهو برنامج للبحث وماشي نصيحة مالية. مضيف التداول ديالو مضبوط بشكل ثابت على Bybit testnet، وما كاين حتى تبديل لـ mainnet. الواجهات، والإعدادات الافتراضية، ومجموعات الأسئلة يقدرو يتبدلو بين الـ commits.
كيفاش كيخدم النظام
بلا ما يطلب من النموذج يجاوب بـ «شري، بيع، ولا تسنّى»، الـ harness كيسول أسئلة اللي يمكن توسيمها بموضوعية باستعمال بيانات الأسعار اللاحقة. مثال على هاد الشي هو شكون من الحدود غادي يتلمس الأول خلال أفق زمني محدد: هدف إيجابي ولا وقف خسارة سلبي.
- كيتم جمع بيانات السوق العمومية ديال mainnet، والأخبار، والسياق الاقتصادي الكلي، ومعلومات دفتر الأوامر، وبيانات المشتقات.
- منشئ الخصائص كينشئ حالة مختصرة وموسومة بالوحدات، وكيزيد عليها المعدلات الأساسية التاريخية للأداة والنطاق المعنيين.
- Kairos ولا Jev كيتوصل بالحالة وبسبعة أسئلة مكتوبة وقابلة للتوسيم.
- الجواب كيتحقق منو بشكل صارم. الجواب غير الصالح كيتسجل كخطأ وما كيتفسرش كتوقع سلبي.
- احتمالات النموذج كتمتزج مع المعدلات الأساسية التاريخية عبر طبقة المعايرة.
- السياسة كتحسب القيمة المتوقعة بـ R، وكتطبق شروط الدخول، وكتحدد حجم المخاطرة.
- إلا كان التداول الآلي مفعّل، كتترسل الأوامر المؤهلة لـ Bybit testnet.
- الطلبات، والأجوبة، والتوسيمات، والتشغيلات، والصفقات كيتخزنو فـ SQLite للتقييم وإعداد التقارير.
الإشارات والتوسيمات كيعتمدو على بيانات mainnet حيث بيانات السوق ديال testnet تقدر تكون اصطناعية ولا مختلفة. ومع ذلك، الأوامر كتتحط حصرياً فـ testnet وكيتم تحديد حجمها حسب عمق دفتر الأوامر المتاح فيه.
الميزات الرئيسية
نماذج تصنيف متعددة
الـ harness كيدعم حالياً Kairos، اللي كتوفرو DMind عبر Minara Cloud، وJev، اللي كتوفرو TypeSafe. بجوج كيستعملو نفس أسلوب طلب System One، ومجموعة الأسئلة، والتحقق، والسياسة، ومسار التقييم.
القرارات، وأوزان المعايرة، والتقييمات، والتقارير كيبقاو مفصولين حسب النموذج. تبديل النموذج المباشر كيبدا تشغيل جديد، وما مسموحش به إلا والروبوت ما عندوش حتى مركز مفتوح، باش ما يختلطوش نتائج النماذج المختلفة.
محطة طرفية بأسلوب Bloomberg
المحطة الطرفية ديال Next.js كتتوصل بالتحديثات المباشرة عبر WebSocket واحد. كتعرض الرسوم البيانية، وإشارات النماذج، والقيمة المتوقعة المعايرة والخام، والمراكز، ومعلومات الحساب، ودفتر الأوامر وعرض العمق، وخرائط الأسواق، والأخبار، والتصفية الإجبارية، وبيانات المشتقات، وسجل القرارات اللي كيتضمن كل طلب وجواب ديال النموذج.
المعايرة والتقييم مدموجين
Calibrain Harness كيمزج احتمالات النموذج مع المعدلات الأساسية الخاصة بكل أداة باستعمال الصيغة w · model + (1 − w) · base rates. الوزن كيبدا بـ 0.5 وكيعاود يتضبط كل 15 دقيقة من بعد ما كيجمع السؤال على الأقل 100 نتيجة موسومة.
التقييم كيشمل نقطتي Brier والاحتمال المرتب، والمهارة مقارنة بالمناخية والمعدلات الأساسية المعطاة، وAUC، والموثوقية، وخطأ المعايرة المتوقع، وتحليل تحويل الاحتمال التكاملي، وترتيب القيمة المتوقعة، واختبارات الاتساق، وجودة التنفيذ، ونتائج التداول حسب كل تشغيل.
ضوابط التنفيذ على testnet
الدخولات كتستعمل أوامر حدية IOC محدودة مقارنة بأفضل سعر فـ testnet. الأهداف تقدر تبقى كأوامر حدية كتقلل المركز فقط، بينما أوامر الوقف المدارة كيتفعّلو باستعمال الأسعار القابلة للتنفيذ فـ mainnet وكيتم إغلاقها عبر أوامر IOC حدية كتقلل المركز فقط فـ testnet. النظام كيشمل حتى أوامر وقف زمنية، وآلية احتياطية لسعر العلامة، وحداً للخسارة اليومية، وسقوفاً للمراكز، وحدوداً لمخاطر المحفظة، ومفتاح إيقاف الطوارئ.
المتطلبات المسبقة
قبل التثبيت، وجد هاد الأمور:
- Python 3.12.
- Node.js 20 ولا أحدث مع npm.
- مفتاح API ديال Kairos من Minara Cloud ولا مفتاح API ديال Jev من وحدة تحكم TypeSafe.
- بيانات اعتماد API ديال Bybit testnet من تدبير API ديال Bybit testnet.
خاص مفتاح Bybit تكون عندو صلاحيات Contract بالنسبة للأوامر والمراكز. ما تعطيهش صلاحية السحب.
تثبيت Calibrain Harness
1. نسخ المستودع
git clone https://github.com/zadescoxp/calibrain-harness.git
cd calibrain-harness
2. إنشاء بيئة Python
أنشئ بيئة افتراضية ديال Python 3.12، وثبّت التبعيات، ونسخ إعدادات المثال:
python3.12 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp .env.example .env
زيد بيانات الاعتماد فـ .env، ولا دخلها من بعد عبر الأمر KEYS ديال المحطة الطرفية. التطبيق كيقرا المفاتيح من هاد الملف، اللي داخل فـ gitignore والمفروض تكون عندو صلاحيات المالك فقط. المفاتيح ما كتتخزنش فقاعدة البيانات وما كتتبعتش كاملة للمتصفح.
3. بناء واجهة المحطة الطرفية
cd web-next
npm ci
npm run build
cd ..
هاد الشي كينشئ المحطة الطرفية الثابتة فـ web-next/out. خدمة Python كتنشر الواجهة، وAPI، وWebSocket، وبالتالي ما كايناش حاجة لخدمة Node.js منفصلة فالإنتاج.
4. بدا الخدمة
.venv/bin/python -m ctb.server
حلّ http://127.0.0.1:8800. السيرفر كيربط محلياً مع 127.0.0.1 وكيرفض الكتابة من مصادر مختلفة.
إلى ما كانتش الواجهة مبنية، العنوان غادي يبيّن صفحة قصيرة فيها الأمر ديال البناء. الـAPI والـWebSocket المباشر كيبقاو خدامين.
كوّن الموديل وبيانات الدخول
اختار Kairos ولا Jev باستعمال CTB_MODEL_PROVIDER فـ .env:
CTB_MODEL_PROVIDER=kairos
KAIROS_API_KEY=your_kairos_key
بالنسبة لـJev، استعمل:
CTB_MODEL_PROVIDER=jev
TYPESAFE_API_KEY=your_typesafe_key
CTB_JEV_MODEL=jev-1.14.0
الموديل الموثّق ديال Jev مثبت على jev-1.14.0، ولكن CTB_JEV_MODEL يقدر يبدلو. خاص بيانات Kairos تكون تابعة لمجموعة Minara Cloud مفعّل فيها Kairos.
زيد بيانات الدخول ديال Bybit testnet باستعمال أسماء المتغيّرات اللي كيوفّرها .env.example. عمرّك تحط .env ولا الملفات اللي فـ data/ فـ commit.
بدا أولاً بوضعية المراقبة فقط
البوت كيبدا بلا ما يدير أوامر شراء ولا بيع. فهاد الوضعية، كيكمل يجمع بيانات السوق، كيسول الموديل المختار، كيسجّل القرارات، وكيعنون التوقعات. هادي هي البداية الموصى بها حيث كتخليك تتأكد من الاتصال وتفهم سلوك الموديل بلا ما تفتح مراكز فـtestnet.
- بدا خدمة Python.
- حلّ التيرمينال فـ
127.0.0.1:8800. - تأكد بلي بيانات السوق وقرارات الموديل كيبانو.
- راجع الأخطاء ووقت الاستجابة فشاشات LOG وEVAL.
- فعّل AUTO-TRADE غير ملي يكون الإعداد خدام مزيان.
استعمل التيرمينال
الشاشات الرئيسية
- MON, F1: كيعرض لائحة المراقبة، الشارت، مؤشرات الموديل، الحساب، المراكز، خريطة السوق، دفتر الأوامر، الأخبار، المشتقات، بيانات التدفق، وسجلّ القرارات.
- EVAL, F2: كيبين المعايرة، الاستنتاجات، ترتيب EV، نقط الأسئلة، اختبارات الاتساق، المقاييس التشغيلية، P&L، وجودة التنفيذ. النتائج تقدر تصفّيها حسب الموديل، التشغيل، الرمز، مجموعة الأسئلة، والفترة الزمنية.
- TRADES, F3: كيلخّص العمليات والتشغيلات الفردية، بما فيها أثمان المرجع، التنفيذات، الانزلاق، وR بالضبط.
- NEWS, F4: كيعرض العناوين وتوقعات Kairos ديال
news_return. توقع عائد الأخبار متاح غير مع Kairos. - LOG, F5: كيعرض أحداث النظام والأخطاء.
أمثلة على أوامر سطر الأوامر
ضغط على / باش تحل سطر أوامر التيرمينال. من بين الأوامر الشائعة:
BTCولاETHباش تحمّل رمز.ASKولاPRBباش تسول الموديل دابا وتدير اختبارات الاتساق.1Mحتى لـ4Hباش تبدّل الإطار الزمني ديال الشارت.TF 5Mباش تحدد الإطار الزمني للتداول.UNIVباش تختار مجموعة الرموز.POS 10باش تحدد العدد الأقصى ديال المراكز.KEYSباش تسيّر بيانات الدخول.HELPباش تبان مساعدة التيرمينال.
تقدر تبدّل بين Kairos وJev من خلال MODEL فشريط أزرار الوظائف. خاص البوت يكون بلا مراكز قبل التبديل.
فعّل التداول فـtestnet بحذر
من بعد ما تراقب القرارات وتتأكد من الإعداد، استعمل AUTO-TRADE فشريط الأوامر باش تسمح بأوامر testnet. الوضعية الصارمة كتتداول غير ملي التوقعات المعايرة كتدوز من جميع الشروط المكوّنة، بما فيها الحد الأدنى للقيمة المتوقعة، جودة الإعداد، الاتفاق على الاتجاه، الاتفاق على توزيع العائد، اختلاف المنصة، حالة المركز، والصلاحيات ديال الجانب القصير.
وضعية الاستكشاف معطّلة افتراضياً. تعيين CTB_EXPLORATION=1 كيخلي النظام يتداول فالجهة اللي كيفضّلها الموديل بمخاطرة ناقصة ملي الشروط الصارمة كتمنعو. الهدف ديالها هو جمع بيانات حقيقية على التنفيذ، ماشي الإيحاء بلي السياسة الصارمة لقات أفضلية إيجابية.
السيولة فـtestnet تقدر تكون ضعيفة بزاف وقد تتصرف بشكل مختلف على mainnet. الاختبارات الاستباقية الأولى ديال المشروع لقات بلي جودة التنفيذ تقدر تكون هي العامل الغالب فـP&L ديال testnet. اعتبر نتائج testnet بيانات بحث، ماشي دليل على الربحية فالمستقبل.
استعمل زر الإيقاف الطارئ
زر KILL فالتيرمينال كيسد مراكز البوت، كيلغي الأوامر، وكيوقف النظام. نفس الإجراء تقدر تديرو من مجلد المشروع:
touch KILL
المراكز اللي تحلات يدوياً فـtestnet كيتعرضو عادةً ولكن البوت ما كيسيرهمش. زر الإيقاف الطارئ هو الاستثناء الموثّق.
دير الاختبارات وفحوصات التشغيل
شغّل اختبارات الوحدة بلا اتصال بالشبكة:
.venv/bin/python -m pytest -q tests
صيفط طلب حقيقي واحد للموديل النشيط وتأكد من الجواب ديالو:
.venv/bin/python scripts/kairos_smoke.py SOLUSDT
حدّد Jev بشكل صريح:
.venv/bin/python scripts/kairos_smoke.py SOLUSDT --model jev
اختبر مسار التنفيذ فـtestnet بالحد الأدنى للحجم عبر فتح مركز طويل، والتأكد من وقف الخسارة، ومن بعد سدو:
.venv/bin/python scripts/testnet_smoke.py SOLUSDT long
هاد السكريبتات ديال الفحص كدير طلبات خارجية حقيقية، لذلك تأكد من الرمز المختار وبيانات الدخول قبل ما تشغّلها.
فهم إعدادات مهمة
توقيت القرار والأوامر المرتبطة
CTB_DECISION_TFالقيمة الافتراضية ديالها هي 5، يعني القرارات كيتاخدو على شموع مسدودة ديال خمس دقايق.CTB_HORIZON_BARSالقيمة الافتراضية ديالها هي 24، وهادشي كيعطي أفق ديال جوج سوايع فالإطار الزمني الافتراضي.CTB_ATR_TFالقيمة الافتراضية ديالها هي 15 باش يتحسب حجم وقف الخسارة.CTB_SL_ATRوCTB_TP_ATRالقيم الافتراضية ديالهوم هي 1.5 و2.5 ATR.CTB_MIN_SL_BPوCTB_MAX_SL_BPكيحددو مسافة وقف الخسارة بين 40 و300 نقطة أساس افتراضياً.
بوابات السياسة الصارمة
CTB_MIN_EDGE_R=0.15كيحدد الحد الأدنى الافتراضي للحافة المعايرة.CTB_MIN_SETUP_QUALITY=1.5كيتحكم فالحد الأدنى لجودة الإعداد.CTB_MIN_DIRECTION_MARGIN=0.03كيفرض أن الاتجاه المعاير يوافق الجهة المقترحة بهامش محدد.
حدود المخاطر
CTB_RISK_PER_TRADE_PCT=0.5كيحدد النسبة المقصودة من رأس المال اللي غادي تضيع إلا تضرب وقف الخسارة.CTB_MAX_POSITIONSوCTB_MAX_SAME_SIDEوCTB_MAX_OPEN_RISK_PCTكيحددو التعرض الإجمالي للمحفظة.CTB_MAX_LEVERAGE=3وCTB_MAX_NOTIONAL_USDT=5000كيوفرو حدود قصوى صارمة افتراضياً.CTB_DAILY_LOSS_LIMIT_PCT=3كيحدد الحد الافتراضي للخسارة اليومية.
التكاليف والتنفيذ
CTB_TAKER_FEE_BP=5.5وCTB_SLIPPAGE_BP=2كيدخلو فنموذج التكاليف المستعمل فالقيمة المتوقعة والتسميات.CTB_MAX_ENTRY_SLIP_BP=10كيحدد السقف الافتراضي لسعر الدخول.CTB_EXIT_MODE=managedكيفعّل مسطرة الخروج المُدارة الموثقة.
بدّل مجموعة وحدة ديال الإعدادات فكل مرة، وبدا تشغيل جديد ملي كتقارن بين السياسات. كل تشغيل كيسجل نسخة من الإعدادات ديالو، وهادشي كيسهّل التحليل من بعد.
نصائح متقدمة للتقييم
قارن النموذج بالخطوط الأساسية ديالو
التنبؤ اللي باين مربح ماشي بالضرورة يكون مفيد. راجع واش النموذج كيتفوق على التوزيع الأساسي وعلى معدلات الأساس التاريخية الدقيقة اللي داخلة فالمعطيات ديالو. طبقة المعايرة كتنقص من تأثير النموذج ملي كتبيّن النتائج المصنفة أنه ما كيزيدش معلومات مهمة.
فرّق بين مهارة التنبؤ ونتائج التداول
استعمل EVAL باش تفحص جميع القرارات المصنفة، ماشي غير الصفقات. مقاييس التنبؤ كاتقيس المهارة الاحتمالية ديال النموذج، بينما الربح والخسارة فـ testnet كاتقيس التأثير المجموع ديال النموذج والسياسة والتكاليف وحجم المخاطر والتنفيذ.
خد بعين الاعتبار القرارات المتداخلة
التسميات كاتبدا بأول شمعة ديال دقيقة من بعد كل قرار، وهادشي كيمنع النظر للمستقبل. إلا لمسات شي شمعة الهدف ووقف الخسارة بجوج، كتتحسب التسمية كوقف خسارة. ولكن القرارات المتتالية تقدر تكون عندها آفاق متداخلة، وبالتالي عدد العينات الخام يقدر يبالغ فتقدير الاستقلال الإحصائي. README كيوصي بالتسنا حتى يكونو عدة مئات من القرارات المصنفة لكل رمز قبل استخلاص النتائج.
فحص الاتساق
استعمل اختبارات التكرار باش تقيس الحتمية، واختبارات المرآة باش تحدد واش عكس خصائص السوق الصاعدة والهابطة كيبدل جواب النموذج بالشكل المناسب. وراجع حتى الانسجام بين المراكز الطويلة والقصيرة، وما تعتمدش على مقياس معزول واحد.
تصدير التقارير
من EVAL، استعمل EXPORT MINARA REPORT باش تكتب تقرير Markdown فيه نتائج التقييم. صفّي حسب النموذج أو التشغيل أو الرمز أو مجموعة الأسئلة أو الإطار الزمني قبل ما تفسر المقارنات.
تدبير الرموز والتشغيلات
الأمر UNIV كيعرض حتى لأعلى 100 عقد دائم USDT حسب حجم التداول، بشرط تكون عندها حتى هي قوائم فـ testnet. كيتضمن معلومات على عمق السوق والسبريد، وكيعلّم على الدفاتر قليلة السيولة والعقود الدائمة ديال الأسهم أو السلع. تقدر تختار حتى لـ 30 رمز، حسب ميزانية طلبات النموذج. الخدمة كتعاد تشغيلها باش تطبق تغيير الكون.
كل قرار وكل صفقة كيتسندو لتشغيل نشط. باش تنشئ تشغيل برمجياً، صيفط POST /api/runs/start ملي ما تكون حتى صفقة ديال البوت محلولة. بدا تشغيلات منفصلة ملي كتبدل النماذج أو الأسئلة أو قواعد المخاطر أو إعدادات التنفيذ.
الخدمة على واجهة المستخدم
من بعد ما تجيب التغييرات أو تعدل الواجهة الأمامية، عاود بنِ التصدير الثابت:
cd web-next && npm run build
عاود حمّل المتصفح من بعد؛ السيرفر ديال Python ما محتاجش يعاود التشغيل.
للتطوير بإعادة التحميل المباشر، خلي سيرفر Python خدام وبدا Next.js بوحدو:
cd web-next && npm run dev
حل http://localhost:3000. واجهة التطوير كتتواصل مع API وWebSocket فـ 127.0.0.1:8800.
باش تدير فحص الأنواع ديال الواجهة الأمامية:
cd web-next && npx tsc --noEmit
ممارسات السلامة والتشغيل
- تأكد باللي المضيف باقي هو
api-testnet.bybit.com؛ المشروع عامد ما فيه حتى مفتاح للتداول فـ mainnet. - بدا بوضع المراقبة فقط وراجع أخطاء النموذج قبل ما تفعّل أوامر testnet.
- استعمل بيانات اعتماد Bybit بلا صلاحية السحب.
- خلي
.envومجلدdata/خارج التحكم فالإصدارات. - راقب اختلافات المنصة ونسب التنفيذ ووقت الاستجابة والانزلاق وأسباب الخروج، وما تعتبرش الربح والخسارة بوحدها كافية.
- خلي مسطرة إيقاف الطوارئ متاحة قبل اختبار التنفيذ.
- شغّل اختبارات Python وفحص أنواع الواجهة الأمامية قبل إرسال التغييرات.
الخلاصة
Calibrain Harness كيوفر طريقة منظمة باش تحدد واش نموذج تصنيف سريع كيزيد معلومات قابلة للقياس لتوقعات الأسواق الدائمة. كيجمع بين الأسئلة الموضوعية ومعدلات الأساس التاريخية ومعايرة الاحتمالات والتحقق الصارم والتنفيذ فـ testnet والتقييم المفصل فطرفية محلية وحدة.
بدا بتركيب الخدمة، وتهيّأ يا إمّا Kairos ولا Jev، وجمّع القرارات غير للمراقبة. منين يولي مسار البيانات والموديل مستاقر، جرّب التنفيذ بحذر فـ Bybit testnet، وخلي كل تشغيل بوحدو، وقَيّس الموديل مقارنةً بالخطوط الأساسية ديالو على عيّنة كبيرة، بلا ما تعتمد غير على الربح والخسارة ديال المدى القصير.
