شراء الآن

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

الأسواق المالية بطبيعتها "غير خطية" (Non-Linear) ومليئة بالضوضاء. المؤشرات التقليدية مثل RSI و MACD تعتمد على معادلات خطية بسيطة غالباً ما تتأخر عن السعر.

الشبكات العصبية (Neural Networks) توفر ميزة حاسمة: القدرة على تقريب أي دالة رياضية معقدة. هذا يعني أنها تستطيع تعلم العلاقات المعقدة بين السعر، الحجم، والوقت، واكتشاف أنماط لا تستطيع العين البشرية أو المؤشرات البسيطة رؤيتها.

فلسفة الكتاب

نحن لا نعلمك فقط "كيف" تكتب الكود، بل "لماذا" يعمل. الهدف هو بناء نظام تداول يفهم سياق السوق وليس مجرد حفظ للبيانات التاريخية.

2. تنظيف وتجهيز البيانات

البيانات هي وقود الشبكة العصبية. إذا أدخلت بيانات "قذرة"، ستحصل على نتائج عشوائية (Garbage In, Garbage Out). يغطي الكتاب تقنيات متقدمة لتجهيز البيانات:

الاستقرارية (Stationarity)

الأسعار الخام (مثل EURUSD = 1.1050) ليست مستقرة إحصائياً وتتغير بمرور الوقت. الشبكات العصبية تفضل البيانات المستقرة. الحل هو استخدام "العوائد اللوغاريتمية" (Log Returns):

Rt = ln( Pt / Pt-1 )

التطبيع (Normalization)

لتسريع عملية التدريب، يجب حصر البيانات في نطاق معين (مثلاً بين 0 و 1). نستخدم معادلة Min-Max:

MQL5
double MinMaxNormalize(double value, double min, double max) {
    if (max == min) return 0.0;
    return (value - min) / (max - min);
}

3. هندسة الشبكة العصبية

كيف تختار عدد الطبقات والخلايا؟ هذا ليس تخميناً، بل علم.

  • الطبقة المدخلة (Input Layer): عدد الخلايا يساوي عدد الميزات (Features) التي تستخدمها (مثل RSI, MA Difference, Volatility).
  • الطبقات المخفية (Hidden Layers): هي "عقل" الشبكة. الكتاب يشرح قاعدة التجربة والخطأ الممنهجة لتحديد العدد الأمثل لتجنب التعقيد غير الضروري.
  • دوال التنشيط (Activation Functions): نستخدم دالة ReLU للطبقات المخفية لسرعتها، و Sigmoid أو Softmax للمخرجات حسب نوع التوقع.
تحذير: الـ Overfitting

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

4. البناء البرمجي في MQL5

سنقوم ببناء فئة (Class) كاملة للشبكة العصبية من الصفر (Without External Libraries) لضمان السرعة القصوى في التنفيذ المباشر.

هيكل الكلاس الأساسي

MQL5
class CNeuralNetwork {
private:
    int       m_layers[];       // هيكل الطبقات
    double    m_weights[][];    // مصفوفة الأوزان
    double    m_biases[][];     // قيم التحيز

public:
    void      CNeuralNetwork(int &topology[]);
    void      FeedForward(double &inputVals[]);
    double    GetResults(void);
    void      BackProp(double &targetVals[]);
};

دالة التغذية الأمامية (Feed Forward)

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

MQL5
void CNeuralNetwork::FeedForward(double &inputVals[]) {
    // 1. Load Inputs
    for(int i=0; i<m_layers[0]; i++) {
        m_neurons[0][i].output = inputVals[i];
    }

    // 2. Forward Propagation
    for(int l=1; l<ArraySize(m_layers); l++) {
        double prevLayer[] = m_neurons[l-1];
        for(int n=0; n<m_layers[l]; n++) {
            double sum = 0.0;
            for(int p=0; p<ArraySize(prevLayer); p++) {
                sum += prevLayer[p].output * m_weights[l][n][p];
            }
            sum += m_biases[l][n];
            m_neurons[l][n].output = ActivationFunction(sum);
        }
    }
}

الانتشار العكسي (Backpropagation)

كيف تتعلم الشبكة؟ عن طريق حساب نسبة الخطأ وعكسها لتعديل الأوزان. نستخدم خوارزمية Gradient Descent:

New Weight = Old Weight - (Learning Rate * Error * Gradient)

في MQL5، يتم تطبيق ذلك عبر مصفوفات دلتا (Delta) لكل خلية عصبية، مما يسمح للشبكة بتقليل الخطأ تدريجياً مع كل دورة تدريب (Epoch).

5. استراتيجيات التحسين المتقدمة

بمجرد بناء الشبكة، يأتي دور التدريب. نعتمد في الكتاب منهجية Walk-Forward Analysis.

بدلاً من تدريب الشبكة على كامل الفترة التاريخية، نقوم بتقسيم البيانات إلى نوافذ زمنية متحركة (Roling Windows). نتدرب على سنة، ونختبر على 3 أشهر، ثم نحرك النافذة للأمام.

  • يضمن قدرة النظام على التكيف مع تغيرات السوق.
  • يكشف ضعف الاستراتيجية قبل المخاطرة بأموال حقيقية.

6. الأسئلة الشائعة (FAQ)

هل أحتاج لخبرة سابقة في البايثون (Python)؟
لا. الكتاب مصمم لمبرمجي MQL5. بينما نذكر البايثون للمقارنة أحياناً، إلا أن كل الكود المكتوب هو MQL5 نقي (Native) ليعمل مباشرة على MetaTrader 5 دون تعقيدات الربط الخارجي.
كم أحتاج من رأس المال للبدء؟
الاستراتيجيات المشروحة يمكن تطبيقها على أي حجم حساب، ولكن ننصح دائماً بالبدء بحساب تجريبي (Demo) لاختبار أداء الشبكة العصبية في ظروف السوق الحالية.
هل يعمل هذا على العملات الرقمية (Crypto)؟
نعم. الشبكات العصبية تعتمد على البيانات، لذا فهي تعمل على أي أصل مالي (Forex, Stocks, Crypto) طالما توفرت بيانات تاريخية عالية الجودة.