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

x32x01
  • بواسطة x32x01 ||

ليه لغة 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
المشاهدات
862
x32x01
x32x01
x32x01
الردود
0
المشاهدات
770
x32x01
x32x01
x32x01
الردود
0
المشاهدات
796
x32x01
x32x01
x32x01
الردود
2
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,304
المشاركات
2,517
أعضاء أكتب كود
556
أخر عضو
عبدالاله بوعبال
عودة
أعلى