بولاريس / مسيرة بحثية

رحلتنا مع الذكاء الاصطناعي.

بدأنا ببناء نماذج محلية حول بيانات السوق، ثم استكشفنا واجهات النماذج اللغوية وصور الرسوم. هنا نشرح ما عملنا عليه، ولماذا تغيّرت أسئلتنا، وما أضافه كل مسار إلى فهمنا.

نروي هنا تاريخ أعمال التطوير؛ تصف الفصول الطرق والخبرة، ولا تقدم نتائج تداول مقاسة.

ماذا كنا نقصد ببناء ذكائنا الاصطناعي الخاص؟

بدأنا بفكرة طبقة ذكاء محلية. وكانت المهمة الأولى تحويل الطموح إلى أسئلة يستطيع النموذج تعلمها من البيانات.

في البداية أردنا تجهيز بيانات السوق وتدريب النماذج بأنفسنا والحصول على مخرجاتها في بيئة Python الخاصة بنا. قصدنا بذكائنا الخاص نماذج متخصصة للأسئلة السوقية الرقمية، لا تدريب نموذج لغوي عام من الصفر؛ فذلك يحتاج إلى نطاق مختلف من البيانات والحوسبة.

سرعان ما جعلنا العمل نحدد السؤال: هل يرى النموذج شمعة واحدة أم تسلسلاً أم جدول سمات مشتقة؟ وهل يقدّر اتجاهاً أم نطاقاً عددياً؟ كان علينا تعريف الأهداف وترتيب المدخلات والحفاظ على التحويلات قبل أن يصبح الملف المحفوظ مفيداً.

استكشفنا عدة فروع: LSTM للتسلسلات، والأشجار للسمات المصممة، وProphet لصياغة السلاسل الزمنية. ثم استخدمنا واجهات مزودين لإرسال سياق إلى نماذج لغوية مدربة، واستكشفنا الصور بالرؤية الحاسوبية المحلية. أعطانا كل فرع أداة لسؤال مختلف.

بقي معنا درس تعريف المهمة بوضوح. كلمة «محلي» تصف مكان الحساب، لكنها لا تقول إن كان النموذج يتعلم من أرقام أو يفسر نصاً أو يكتشف أجساماً في صورة. نحافظ على هذا التمييز في الفصول التالية.

مسار العمل / 01

ثلاثة مسارات للذكاء الاصطناعي

أساليب مستقلة، لا نموذج واحد مدمج.

قراءة تسلسل من المشاهدات بدلاً من شمعة واحدة

استخدمنا LSTM لمعالجة تاريخ قصير من الملاحظات والتعبير عن المخرج كحالات هبوط أو حياد أو صعود.

أردنا أن يرى النموذج كيف تطورت القياسات، لا أن يعامل آخر شمعة كلحظة معزولة. قادنا ذلك إلى LSTM التي تعالج الملاحظات بالترتيب وتحمل حالة داخلية عبر التسلسل. جهزنا نوافذ متحركة تمنح كل مدخل تاريخاً قصيراً.

تحتوي النافذة في نماذج التصنيف المؤرشفة على 30 ملاحظة و689 سمة لكل ملاحظة. هذه أبعاد نماذج بحثية تاريخية وليست إعدادات تداول منشورة. شمل التحضير تثبيت ترتيب الأعمدة واستخدام أداة التحجيم الملائمة للنموذج.

حددنا أيضاً معنى الفئات الثلاث. كان المقصود هبوطاً أو حياداً أو صعوداً، لكن أفق الملاحظة وقواعد بناء التسميات هما ما أعطى الكلمات معناها. تغيير تعريف الفئة يغيّر السؤال حتى لو بقيت الشبكة كما هي.

عملنا على نسخة صغيرة وأخرى مكدسة أكبر، وكلتاهما تنتج ثلاث درجات للفئات. تعاملنا معها كوصف للمدخل، لا كمسار سعر مستقبلي كامل. جعلنا ذلك نهتم بقائمة السمات والتحجيم وتعريف الهدف بقدر اهتمامنا بالشبكة المحفوظة.

مسار العمل / 02

من السجل إلى حالة

درجات للفئات، لا تعليمات تداول.

بعد الاتجاه: وصف مدى الحركة المحتملة

طلبنا أيضاً مخرجات رقمية لدراسة مقدار الحركة المحتمل، بدلاً من اختزال كل إجابة في اتجاه.

ترك التصنيف الاتجاهي جزءاً من السؤال مفتوحاً. فقد تختلف حركتان صاعدتان كثيراً في الحجم وفيما يحدث بين البداية والنهاية. استكشفنا الانحدار للتعبير عن كميات، بمخرجين بدلاً من ثلاث درجات فئات.

تستخدم النسخ المؤرشفة 240 سمة ونوافذ من 30 أو 60 ملاحظة، مع طبقات LSTM مكدسة ومكونات شبيهة بالانتباه. عملنا بها على أطوال تاريخ مختلفة ووزن التمثيلات الداخلية. وبقي علينا شرح معنى كل مخرج ووحدته؛ تعقيد الشبكة لا يحدد ذلك تلقائياً.

عملنا على التحويلات في الجهتين: مواءمة المدخل مع مقياس التدريب وإعادة المخرج إلى وحدته. واستخدمت نصوص استدلال منفصلة محدد سمات محفوظاً ومدخل LSTM بخطوة واحدة؛ نبقيها مميزة عن نماذج 30/60 خطوة. وتضع التقارير الفروق القصوى والدنيا المرصودة بجانب المتوقع منها.

جعلنا بحث النطاق نهتم بترتيب الحركة. قد يصل المسار إلى القاع ثم القمة أو العكس، مع القيم القصوى نفسها. يوضح الرسم المجاور الفرق: تقدير حدين لا يعيد بناء كل ما يحدث بينهما.

مسار العمل / 03

من السجل إلى قيمتين

قيمتا الحدود لا تعيدان بناء مسار السعر.

لماذا لم يتوقف العمل عند الشبكات العصبية؟

أدخلنا XGBoost وCatBoost والمخرجات الكمية الاحتمالية كي تتوافر أدوات مختلفة للأسئلة الرقمية المختلفة.

لم يبق عملنا محصوراً في الشبكات العصبية. استخدمنا أيضاً عائلات الأشجار، ومنها XGBoost وCatBoost. تختلف طريقة تقسيمها لقيم السمات عن قراءة LSTM لتاريخ مرتب، حتى إن بدأت كلها بقياسات السوق نفسه.

عملنا على خدمات تحمل عدة عائلات وتعرض مخرجاتها عبر واجهة مشتركة. أتاح ذلك فحصها في سير عمل واحد. لكننا أبقينا سؤال الدمج منفصلاً: إتاحة المخرجات لا تثبت وحدها كيف نجمعها أو إن كان الجمع يضيف قيمة.

منحتنا الكميات الاحتمالية لغة أخرى. استخدمت واجهة مؤرشفة المئينات 20 و50 و80: تقدير أدنى ووسيط وأعلى. المسافة من 20% إلى 80% تعني تغطية مركزية اسمية 60% إذا كانت التقديرات معايرة؛ وليست ضمان ثقة 80%.

وسع ذلك أنواع الإجابات: الفئة تسمي حالة، والتقدير النقطي يعطي كمية، والنطاق الكمي يصف مواقع في توزيع شرطي. أصبحنا نربط المخرج بالسؤال بدلاً من التعامل مع كل درجات النماذج كأنها متبادلة.

مسار العمل / 04

نماذج مختلفة ومخرجات مختلفة

المسارات المتوازية لا تعني إجماعاً آلياً.

Prophet وARIMAX: لغة أخرى للتعامل مع الزمن

استكشفنا طرق السلاسل الزمنية بجانب النماذج كثيفة السمات، ففكرنا بشكل أوضح في الزمن وأفق التنبؤ.

بعد العمل على مصفوفات السمات والنوافذ المتحركة، استكشفنا صياغة أكثر مباشرة للسلسلة الزمنية. استخدم نص Prophet ملاحظات XAUUSD مؤرخة كل 15 دقيقة وطلب خمس ملاحظات مستقبلية، مع تركيز أكبر على تطور السلسلة نفسها.

قدّم Prophet إطاراً يتضمن الاتجاه ومكونات موسمية اختيارية. وكان الأفق ملموساً: خمس خطوات من 15 دقيقة تساوي 75 دقيقة خلال جلسة متصلة. لكننا نراعي الإغلاقات والملاحظات الناقصة؛ خمسة صفوف لا تعني دائماً وقتاً متصلاً.

يحتوي الأرشيف أيضاً على تقرير موسوم ARIMAX، مع أوقات وفروق قصوى ودنيا مرصودة ومتوقعة. يجمع ARIMAX البنية ذاتية الانحدار والمتغيرات الخارجية. يسجل التقرير هذا الفرع، لكنه لا يكشف كل خيارات بنائه، فلا نستنتجها من اسم الملف.

غيّر التنقل بين الطرق أسئلتنا. نختار تاريخ السمات الذي تقدمه الشبكة التسلسلية، بينما تدخل البنية الزمنية في صياغة نموذج السلسلة ذاته. وفي الحالتين يجب أن نحدد متى تنتمي الملاحظة وما المقصود بكلمة «لاحقاً».

مسار العمل / 05

الوقت يحدد معنى التقدير

خمس خطوات M15؛ وتقرير ARIMAX مستقل.

من تدريب نموذج إلى إعداد حوار معه

حوّل استخدام النماذج اللغوية المستضافة جانباً من عملنا إلى جمع السياق وصياغة الطلب وفهم الإجابة المحفوظة.

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

جمع خط Python شموع MT5 على M5 وM15 وM30 وتكة حالية ومنشورات عامة مؤرخة لمحللين. تعاملنا مع الأسعار كملاحظات والتعليقات كتفسيرات. كانت أصولها وأوقاتها مهمة، لأن عبارات واثقة قد تخص لحظات مختلفة أو تتعارض.

طلبنا خطة بصيغة JSON تشمل السيناريوهات والشروط والإبطال وخيار عدم التداول. سهّلت البنية تمرير الرد وفحصه، لكنها لم تثبت صحة محتواه. كان النص البحثي يحفظ الرد ويطبعه؛ أي سير سياق وإجابة، وليس دليلاً على متحكم تنفيذ كامل.

علّمنا هذا المسار شيئاً مختلفاً عن التدريب المحلي. يمكننا القيام بعمل مهم حول النموذج دون ادعاء أننا دربناه. اختيار الأدلة وصياغة الطلب وحفظ الإجابة أجزاء أساسية من الاستخدام المفيد للخدمة.

مسار العمل / 06

من المشاهدات إلى الاستجابة

سياق واستجابة، لا متحكم في التنفيذ.

ماذا لو نظر النموذج إلى الشارت نفسه؟

استكشفنا مسار YOLOv8 محلياً لنجعل صورة الرسم مدخلاً، إلى جانب الأرقام والنصوص.

نلاحظ على الرسم علاقات مكانية: تجمع الشموع وتطور الحركة والبنى المعلّمة. أردنا استكشاف هذا التمثيل مباشرة، فشمل عملنا مساراً محلياً قائماً على YOLOv8 لصور الرسوم.

غيّر ذلك المهمة. يحدد كاشف الأجسام مواقع عناصر مرئية وفئاتها، غالباً بصناديق ودرجات. احتجنا إلى التفكير في البنى التي يمكن تسميتها باستمرار وفي تعريف المثال. اكتشاف شكل ظاهر يختلف عن شرح صورة باللغة، وعن توقع سعر لاحق.

طرحت الصورة نفسها أسئلة: التكبير والقص وعرض الشمعة والألوان والعلامات تغير البكسلات. احتجنا إلى تمييز خيارات العرض من معلومات السوق. وتهم أيضاً أمثلة غياب البنية، فلا يُتوقع من الكاشف العثور على شكل في كل رسم.

وأخيراً يعطي الكاشف موقعاً بالبكسل، بينما نتحدث في التداول عن السعر والزمن. يتطلب الربط مقياس الرسم ونظام إحداثياته. لذلك نرى الرؤية فرعاً له عمله الخاص في التحضير والتفسير.

مسار العمل / 07

من الصورة إلى العناصر المرئية

صناديق توضيحية، وليست نتيجة كشف فعلية.

الجسر بين MT5 وPython

عملنا على جسر يسمح لملاحظات MT5 ونماذج Python بتبادل المعلومات بمعنى مشترك.

كانت ملاحظات السوق ومنطق التداول في MT5، ومكتبات النماذج وأدوات البحث في Python. تجاوز الربط إرسال قائمة أرقام؛ احتجنا إلى الاتفاق على ما يعبر الحدود ومعنى القيم العائدة.

طورنا عدة نسخ لخدمات استدلال تحمل مجموعات من LSTM والأشجار والكميات الاحتمالية، وتجهز البيانات وتعيد المخرجات عبر واجهة مشتركة. كان ذلك عملاً هندسياً مستقلاً عن التدريب، لأن كل نموذج يتوقع ترتيباً معيناً للملاحظات والسمات.

أصبحت الملفات المصاحبة مهمة: تحفظ قائمة السمات معنى الأعمدة، ويحفظ مقياس المدخل تحويل التدريب، ويعيد مقياس المخرج وحدات الانحدار. كان علينا فهم الإصدار وطول التسلسل والأداة والإطار معاً. وصول رد لا يثبت تطابق هذه المعاني.

جعلنا ذلك نهتم بحزمة النموذج كاملة. نشرح البنية العامة مع بقاء عناوين الخدمات وروابط الحسابات وإعدادات التشغيل خاصة. الجزء المفيد من القصة هو كيف تتصل الأجزاء والمعلومات التي تحفظ تفسير الملاحظة الجديدة.

مسار العمل / 08

طلب ذهاب واستجابة عودة

الخدمة وحزمة النموذج مكونان متميزان.

العمل الأقل ظهوراً: البيانات والانتقاء والتقارير

نصف تجهيز البيانات والأدوات الصغيرة وتقارير العمل التي دعمت الأجزاء الأكثر ظهوراً من بحث النماذج.

يسهل الإشارة إلى شبكة محفوظة أو تنبؤ. لكن جهداً كبيراً كان قبله وبعده: جداول سمات واسعة بالوقت وOHLC، وأهداف منفصلة، وأدوات استخراج وتصدير للتنبؤات، كي تبقى الفروع مترابطة ومفهومة.

أعاد مسار تحميل محدد سمات محفوظاً قبل تشكيل مدخل LSTM، وأعاد آخر قائمة سمات XGBoost المسماة. احتفظ كلاهما بالوقت وحقل مرجعي مع مخرجين متوقعين. واختارت أداة منفصلة جزءاً محدوداً من البيانات لملف عمل. ساعدتنا هذه الأدوات على تتبع مدخلات الحساب.

استخدمنا CSV وExcel للفحص خارج شفرة التدريب. احتوت بعض الملفات على توقعات مؤرخة، وأخرى على الفروق القصوى والدنيا المرصودة والمتوقعة جنباً إلى جنب. وحتى الترميز احتاج عناية لوجود UTF-16 وUTF-8. نشرح البنية دون نشر الصفوف الخاصة أو اشتقاق نسب نجاح من أسماء الملفات.

نرى خيطاً مشتركاً: حفظ سياق يكفي لمعرفة مصدر الإجابة. في النموذج المحلي يشمل البيانات والتحويلات، وفي المستضاف يشمل المصادر والطلب والرد. تختلف الأدوات، لكن كليهما يحتاج إلى حفظ التفكير حول المخرج.

مسار العمل / 09

نحتفظ بأثر العمل البحثي

نحتفظ بالمدخلات إلى جانب المخرجات.

عدنا مراراً إلى السؤال نفسه: ماذا تعني هذه النتيجة فعلاً؟

أعطانا العمل على الأرقام واللغة والصور زوايا مختلفة للسوق. وجعلنا نهتم بالمعلومات خلف الإجابة: من أين جاءت، ومتى كانت متاحة، وكيف سيفسرها جزء آخر من النظام. هذا هو الخيط الذي يجمع العمل في هذا الدفتر.

لنتحدث عن العمل
تواصل مع بولاريس عبر واتساب