عن المشروع

看盘 (Kanpan، اسم المنتج Hkline) هو تطبيق Swift أصلي لنظام iOS لمتابعة الأسعار والمفضلة والمراجعة. الواجهة مبنية بـ SwiftUI، والرسوم البيانية مرسومة يدويًا بـ UIKit/CoreGraphics، ولا توجد أي اعتماديات خارجية في التطبيق، ولا يوفر أوامر تداول. بيانات الأسعار تأتي من واجهة Binance العامة للعقود الدائمة USDT؛ وخيار «خط السوق» في الإعدادات يوفر وضعين: اتصال مباشر (عبر نطاق Binance فقط) وبوابة (عبر خادمين VPS لجلب أسعار OKX)، يختارهما المستخدم يدويًا، دون تبديل تلقائي أو خلط للمصادر. الوظائف الرئيسية - السمات: ثلاث سمات «طحلب بارد» و«طين دافئ» و«كلاسيكي»، لكل منها وضع فاتح وداكن، يمكن اتباع النظام أو التحديد اليدوي. ألوان شموع K موحدة، والسمات تؤثر فقط على المناطق خارج الرسم البياني. - الشريط السفلي: شريط تبويب ثابت بخمس خانات متساوية «رسم · رسم بياني · مفضلة · تصنيف القطاعات · إعدادات»؛ «الرسم» إجراء، عند النقر يتحول للوضع الأفقي للرسم ثم يعود تلقائيًا. - صفحة السوق: الشريط العلوي يحتوي على شارة الرمز واسم الرمز ومدخل المراجعة (مع شارة مهام معلقة) ومدخل البحث؛ كتلة السعر تعرض آخر سعر ومقدار التغير ونسبة التغير، وعلى اليمين ست خانات إحصائية ثابتة (مركز/مبلغ، قيمة سوقية/رسوم، تسوية/تذبذب). شريط الفترات يحتوي على ست فترات شائعة متساوية العرض، ويمكن تثبيت أو إلغاء تثبيت جميع الفترات الأربع عشرة (من 1 دقيقة إلى سنة واحدة) في «المزيد». التمرير الأفقي في منطقة السعر يبدّل الرموز بشكل متواصل. - صفحة المفضلة: صفوف القائمة تحتوي على شارة الرمز والسعر وحبة التغير، مع دعم مجلدات التصنيف والفرز (بما في ذلك معيار نسبة التغير و«الأقرب لخط التنبيه»)، والضغط المطول لبطاقة معاينة للقراءة فقط، والسحب لإعادة الترتيب، والحذف بالسحب أو الجماعي مع إمكانية التراجع. عند بدء التشغيل البارد، إذا كانت هناك مفضلات يدخل صفحة المفضلة، وإلا يدخل BTC. - تصنيف القطاعات: الخانة الرابعة في الشريط السفلي، طبقة واحدة من فقاعات القطاعات، والنقر يدخل قائمة رموز ذلك القطاع، مع تبديل علوي صلب بين العملات المشفرة والأسهم الأمريكية. - الرسم البياني: يحاكي إحساس AICoin. الرسم الرئيسي يدعم المتوسطات المتحركة (10/30/120/256) والمتوسطات الأسية ونطاقات بولينجر؛ الرسوم الفرعية الافتراضية هي حجم التداول والفائدة المفتوحة وMACD، بحد أقصى ثلاثة في نفس الوقت، مع مرشحين آخرين مثل RSI ومؤشر ستوكاستيك وATR ونسبة الطويل/القصير ونسبة الشراء/البيع النشط والفارق الأساسي. يدعم سلم عمق بعشرة صفوف، والتكبير بإصبعين، وتكبير التركيز التاريخي، ومحور Y يدوي، وإلصاق آخر شمعة بالحافة اليمنى مع تخميد عند تجاوز الحدود. يحتوي على 41 أداة رسم (تسع مجموعات)، والرسم والرسم البياني يتشاركان نفس الإحداثيات. - التنبيهات: وحدة مستقلة. بعد الرسم، يتحول صف السعر في الرأس إلى بطاقة تأكيد، ويمكن ضبط حكمين: «انتظر ملامسته» أو «انتظر إغلاقه عابرًا»، مع دعم التنبيه المتكرر. في الواجهة الأمامية يتم التقييم محليًا بواسطة AlertEngine، وفي الخلفية يتم التقييم بواسطة خدمة kanpan-worker والكتابة مرة أخرى للمزامنة، مع إزالة التكرار حسب حالة active. بدون مفتاح APNs تظل الوظيفة متاحة، فقط لا تظهر إشعارات شاشة القفل. - المراجعة: تسجيل صفقة، قائمة/مهام معلقة/إحصائيات، تفاصيل، إعادة مشاهدة شمعة بشمعة، والبحث عن تشابه في OHLC الخاص، مع تثبيت مصدر السوق لكل سجل. - الحساب: تسجيل باسم مستخدم وكلمة مرور، جلسة Keychain، إدارة الأجهزة، تغيير كلمة المرور، حذف الحساب، عزل البيانات الشخصية حسب مجلد الحساب، المزامنة السحابية حسب قائمة الانتظار الصادرة، بدون تسجيل بالبريد الإلكتروني. هيكل الكود - Kanpan/Kanpan/: صفحات التطبيق، تشمل Main وSymbols وSector وPanels وSettings وDrawing وAccount وReviewIntegration. - Kanpan/Symbols وKanpan/Settings: حزمتان محليتان KanpanSymbols وKanpanSettings مع اختبارات وحدة. - Kanpan/KanpanUITests/: اختبارات XCUITest، تحدد العناصر عبر accessibilityIdentifier. - KanpanCore/: خوارزميات Swift خالصة للإحداثيات والتخطيط والمؤشرات والرسم ولوحات ألوان السمات. - KanpanChart/: رسوم بيانية مرسومة يدويًا وإيماءات UIKit. - KanpanNetwork/: واجهات HTTP/WS مصغرة، وعميل Binance REST/WS مع تحديد المعدل، وخطوط السوق، وتسابق البوابات مع فترة تبريد. - KanpanData/: تغذية السوق، والفهارس، والفائدة المفتوحة التاريخية، واللقطات والتخزين المؤقت. - KanpanAccount/ وKanpanReview/: وحدتا مزامنة الحساب والمراجعة. - Backend/kanpan-gateway: بوابة أسعار على خادمين VPS (Python + aiohttp، للاستكشاف القرائي فقط). - Backend/kanpan-api: خلفية شخصية بـ Rust، مسؤولة عن الحسابات والمزامنة وفهارس المراجعة. - prototype/: نموذج HTML؛ docs/: فهرس المواصفات وقائمة المهام وأدلة القبول. البناء والتحقق يستخدم Swift 6، وهدف النشر iOS 26.0 (iOS 27 مدعوم أيضًا، وما دون 26 لم يعد يُصان). افتح Kanpan/Kanpan.xcodeproj أو Kanpan.xcworkspace في الجذر، واختر مخطط Kanpan. يمكن استخدام swift test لاختبار KanpanCore وKanpanNetwork وKanpanData وKanpan/Symbols بشكل منفصل، بالإضافة إلى أوامر make strict وبناء xcodebuild على المحاكي. التحقق يعتمد بشكل أساسي على المحاكي، وحالات واجهة المستخدم المتأثرة تُنفذ مع مهلة زمنية وتُحفظ لقطات شاشة. المستودع لا يحتوي على إعدادات تسجيل دخول VPS أو مفاتيح خاصة أو كلمات مرور أو رموز.