إجابات بلا لغة تسويقية. إن لم يكن سؤالك هنا، GitHub Discussions هي أسرع طريق إلى إجابة حقيقية.
strategy.* الكامل للأوامر والمخاطر وaccessors؛ ta.* الكامل بـ 67 أوّليّة (59 دالة بحالة + 8 متغيّرات سلسلة)؛ matrix وarray وmap وUDT؛ request.security ratio + calendar + lower-TF. أوّليّات الرسم (plot, label.new, bgcolor) تُجمَّع بدون أخطاء لكنّها لا تُنتج أي مخرجات بصرية — PineForge محرّك اختبار تاريخي، لا محرّك عرض. راجع وثيقة التغطية دالةً بدالة.pineforge-engine برخصة Apache-2.0، CI يعمل على Ubuntu + macOS، وكل ملف .so مُجمَّع لاستراتيجية يُصدّر بالضبط 10 رموز C في pineforge/pineforge.h — السطح المثبَّت للاستقرار (إضافة فقط ضمن نفس PINEFORGE_VERSION_MAJOR، حسب README). مرجع C ABI الكامل ودورة الحياة وروابط FFI موجودة في cdocs.pineforge.dev. النسخ العامّة تُشغّل 16 ثنائي ctest (15 C++ + 1 اختبار C ABI صحّة) عند كل commit، وتغطية أسطر ~81% لـ src/ عبر scripts/coverage.sh. عنوان 165/167 صارم (+ 2 قوي = مطابقة كاملة) يُنتَج على مجموعة خاصّة بالمشرفين تضمّ 167 استراتيجية مرجعية؛ النسخ العامّة المجهولة لا تأتي معها هذه المجموعة، لذا هذا المسح ليس ما تشغّله GitHub Actions. اختبار إضافي واحد — اختبار ضغط على حدّ هامش 1× — مُستثنى من الإحصاء الرئيسي لأنّه يكشف عدم حتميّة في محاكي وسيط TV لا يمكننا نمذجتها من حالة Pine العامّة. القطعة المغلقة هي transpiler PineScript-to-C++ (واجهة API مستضافة عند الإطلاق). كتابة transpiler خاص بك مقابل الـ runtime مدعوم صراحةً.libpineforge.a والرؤوس العامّة وكود حزمة benchmark في pineforge-engine تبقى برخصة Apache-2.0 — يمكنك عمل fork ومواصلة بناء اختبارات تاريخية بدون اتصال. الـ fixtures المرتبطة بـ TradingView تعيش في git submodules خاصّة (corpus/, benchmarks/assets)؛ النسخ العامّة لا تحصل عليها تلقائياً، ولهذا CI يشغّل ctests، لا مجموعة 167 استراتيجية الكاملة على كل PR. مخرجات الصفقات تبقى CSV عادي؛ كود Pine المصدري وبياناتك ملك لك. أسوأ حالة إذا اختفى Studio المستضاف أو واجهة transpiler API: تخسر هذه الخدمات، لكن يمكنك الاحتفاظ بنسخة محلّية من الـ runtime مع أي C++ صدر عن الـ transpiler لديك سابقاً وإعادة الربط.أسرع طريق هو GitHub Discussions على مستودع المحرّك. نقرأ كل نقاش.