تعلم MQL5 الفرق بينها وبين MQL4 للمبتدئين

x32x01
  • بواسطة x32x01 ||
  • #1

ليه لغة MQL5 مختلفة وقوية عن MQL4؟ 💪​

أحب أطمنك الأول إن لغة MQL5 بقت قوية جداً
وبقت لغة برمجة حقيقية مقادة بالأحداث 🧠
وده فرق كبير عن MQL4 اللي كانت إمكانياتها محدودة شوية.

لكن خلّي بالك ❗
كل التطوير ده جه معاه عيب مهم وهو عدم التوافق مع MQL4.

هل ينفع أشتغل بكود MQL4 على MQL5؟ 🤨​

الإجابة المختصرة: لا
أي:
  • مؤشر
  • أو إكسبرت
كان شغال على MQL4
لازم يتعاد برمجته من جديد على MQL5.

يعني كأنك بتتعلم لغة جديدة - بس الخبرة القديمة هتفيدك 👍
إنما:
  • منهجية مختلفة
  • أوامر جديدة
  • وظائف جديدة تماماً

ليه لازم تتعلم MQL5 من البداية؟ 🎯​

علشان MQL5 بتشتغل بأسلوب: Event Driven Programming
يعني البرنامج بيستجيب لأحداث زي:
  • حركة الماوس 🖱️
  • الضغط على الكيبورد ⌨️
  • فتح صفقة
  • إغلاق صفقة
  • الوصول لهدف أو ستوب لوس
الحاجات دي كانت شبه مستحيلة في MQL4 😮

يعني إيه برمجة مقادة بالأحداث؟ 🔄​

أي برنامج في MetaTrader 5
(إكسبرت - مؤشر - سكريبت) بيعتمد على Events.

الـ Event هو:
وظيفة بتتنفذ تلقائي لما يحصل شرط معين 👌

حدث OnInit - بداية تشغيل البرنامج 🚀​

أول حدث مهم هو OnInit
وده بيشتغل أول ما:
  • تحط المؤشر على الشارت
  • أو تشغل الإكسبرت
في الدالة دي بنكتب:
  • تهيئة المتغيرات
  • إعداد الخصائص
  • تجهيز البفرات
ودي بديل دالة Init في MQL4.

مثال:
C++:
int OnInit()
{
   Print("Expert Started Successfully");
   return(INIT_SUCCEEDED);
}

حدث OnDeinit - نهاية تشغيل البرنامج 🛑​

الدالة OnDeinit
بتشتغل لما:
  • تشيل المؤشر من الشارت
  • أو تقفل الميتاتريدر
بنستخدمها في:
  • قفل ملفات
  • حفظ بيانات
  • تنظيف الذاكرة
مثال:
C++:
void OnDeinit(const int reason)
{
   Print("Expert Stopped");
}

الفرق بين Indicator و Expert و Script ⚙️​

ببساطة 👇
  • Indicator
    👉 بيرسم على الشارت فقط
    👉 مفيش صفقات
  • Expert Advisor
    👉 يدير الصفقات
    👉 مبيعملش رسومات
  • Script
    بيشتغل مرة واحدة
    👉 ينفذ أمر سريع وخلاص

إنشاء Expert Advisor جديد في MQL5 🧑‍💻​

الخطوات:
  1. نضغط New
  2. نختار Expert Advisor
  3. نكتب:
    • اسم الإكسبرت
    • اسم المطور
    • رابط الموقع
  4. Next 👉 Next 👉 Finish
وهتظهر شاشة الكود الأساسية ✨

شكل كود الإكسبرت الافتراضي 📄​

C++:
//+------------------------------------------------------------------+
//|                                                  FirstExpert.mq5 |
//|                            Copyright 2026, Dev.Mostafa Elghayesh |
//|                                         https://tabcode.net     |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, Dev.Mostafa Elghayesh"
#property link      "https://www.tabcode.net"
#property version   "1.00"

int OnInit()
{
   return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
}

void OnTick()
{
}

يعني إيه Comments في MQL5؟ 💬​

الـ Comments
هي سطور شرح جوه الكود
مش أوامر برمجية
وبيتم تجاهلها وقت التشغيل 👌
بتبدأ بـ //
مثال:
C++:
// This is a comment line

استخدام التعليقات لتعطيل كود مؤقت 🧪​

بدل ما تمسح سطر:
  • حط قبله //
  • جرب كود تاني
  • وارجع شيلها بعدين
طريقة ذكية وسهلة 😉

التعليقات متعددة الأسطر 📌​

لو عايز:
  • تشرح أكتر من سطر
  • أو توقف بلوك كامل من الكود
استخدم /* */
مثال:
C++:
/*
#property copyright "Copyright 2026"
#property link      "https://tabcode.net"
#property version   "1.00"
*/

الخلاصة 💡​

  • MQL5 أقوى وأذكى
  • مختلفة تماماً عن MQL4
  • مبنية على الأحداث
  • وبتفتحلك مجال احترافي كبير
وده أول طريق الاحتراف الحقيقي في برمجة الفوركس 🔥

لو عندك أي سؤال
متترددش تسيبه في التعليقات 👇
ونكمل سوا خطوة خطوة 💪
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
2K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
19
المشاهدات
1K
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,542
المشاركات
2,736
أعضاء أكتب كود
580
أخر عضو
Veilleur2Nuit
عودة
أعلى