شرح property والمتغيرات في MQL5 بسهولة

x32x01
  • بواسطة x32x01 ||

خصائص #property في لغة MQL5 🧩​

لغة MQL5 قدمت إمكانيات أقوى بكتير من الإصدارات القديمة،
ومن أهم الإضافات دي هي الخصائص (Properties)
اللي بنستخدمها لتعريف معلومات عن البرنامج نفسه.

تعريف أي خاصية بيتم باستخدام الأمر:
Code:
#property اسم_الخاصية "القيمة"
من غير علامة مساواة، وده مهم جدًا ⚠️

مثال عملي على استخدام #property 🧑‍💻​

Code:
#property copyright "Copyright 2026, Dev.Mostafa Elghayesh"
#property link      "https://tabcode.net"
#property version   "1.00"
الخصائص دي بتظهر للمستخدم داخل نافذة خصائص الإكسبرت أو المؤشر
وده بيدي شكل احترافي للبرنامج 👌



شرح أهم خصائص #property 🛠️​

🔹 link​

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

🔹 copyright​

نص خاص بحقوق الملكية سواء للمبرمج أو الشركة.

🔹 version​

رقم إصدار البرنامج بحد أقصى 31 حرف وبيفيد جدًا في متابعة التحديثات.

🔹 description​

وصف مختصر للبرنامج
  • ممكن يكون أكتر من سطر
  • الحد الأقصى 511 حرف
    وبيظهر برضه في نافذة الخصائص.



خصائص متقدمة لازم تبقى فاهمها ⚙️​

🔸 stacksize​

تحديد حجم مخصص من الذاكرة للبرنامج.

🔸 library​

بتحول البرنامج لمكتبة Functions يتم استدعائها من برامج تانية ومينفعش تحتوي على OnTick.

خصائص خاصة بالمؤشرات 📊​

🔹 indicator_chart_window​

يخلي المؤشر يظهر على الشارت الرئيسي.

🔹 indicator_separate_window​

يخلي المؤشر في نافذة مستقلة.

🔹 indicator_buffers​

عدد البفرات المستخدمة في المؤشر.

🔹 indicator_plots​

عدد الخطوط اللي هتترسم.

🔹 indicator_minimum / indicator_maximum​

تحديد أقل وأعلى قيمة للمؤشر في النافذة المستقلة.

🔹 indicator_colorN​

تحديد لون كل خط زي indicator_color1.

🔹 indicator_widthN​

سُمك الخط.

🔹 indicator_styleN​

شكل الخط (متصل - متقطع).

🔹 indicator_typeN​

نوع الرسم (شموع - بارات - خط).

🔹 indicator_levelN​

إضافة مستويات داخل نافذة المؤشر.

🔹 indicator_levelcolor / width / style​

التحكم في شكل ولون وسُمك المستويات.



خصائص السكريبتات 🧪​

🔹 script_show_confirm​

إظهار رسالة تأكيد قبل التنفيذ.

🔹 script_show_inputs​

عرض نافذة الإعدادات قبل التشغيل.



بداية عالم البرمجة الحقيقي: المتغيرات 🔥​

دلوقتي بقى نبدأ الشغل الجد وأهم حاجة في أي لغة برمجة هي المتغيرات.

المتغير ببساطة:
  1. اسم بنختاره
  2. نخزن فيه قيمة
  3. رقم - نص - تاريخ - لون … إلخ

مثال: int BarCount = 500;
ده متغير رقمي صحيح قيمته الابتدائية 500.

المتغيرات الرقمية الصحيحة في MQL5 🔢​

لغة MQL5 فيها أنواع كتير (وده في صالحك):
  • char: من -128 إلى 127
  • uchar: من 0 إلى 255
  • bool: true / false
  • short / ushort
  • int / uint
  • long / ulong
  • color: لتخزين الألوان
  • datetime: لتخزين التاريخ والوقت ⏰
التنوع ده بيساعدك تختار أقل حجم ذاكرة - وأعلى سرعة تنفيذ 🚀

المتغيرات العشرية (بفاصلة) 📐​

🔹 float​

  • 4 بايت
  • دقة عادية

🔹 double​

  • 8 بايت
  • دقة عالية
    وده الأشهر في الفوركس 💰

المتغيرات النصية 📝​

نوع واحد بس: string Text = "TabCode";
  • بيستخدم Unicode
  • يدعم العربي واللغات كلها 👌

قواعد تسمية المتغيرات ⚠️​

لازم تلتزم بـ:
  • ميبدأش برقم ❌
  • ينفع ينتهي برقم ✔️
  • مفيش رموز غريبة
  • ميكونش كلمة محجوزة في اللغة

الكلمات المحجوزة في MQL5 🚫​

زي: int, double, bool, string, if, for, while, true, false, #property
مينفعش تستخدمها كأسماء متغيرات.

مجال المتغير (Scope) 🧠​

🔹 متغير عام (Global)​

يتكتب في أول البرنامج وينفع تستخدمه في أي دالة.

🔹 متغير محلي (Local)​

يتكتب جوه دالة ومش متاح براها.

مثال على متغير عام 📌​

C++:
string TheSite = "TabCode";
ده متغير عام
تقدر تستخدمه في OnInit و OnTick.

مثال على متغير محلي 📍​

Code:
int OnInit()
{
   string TheSite2 = "TabCode";
   return(INIT_SUCCEEDED);
}
TheSite2 هنا محلي مينفعش تستخدمه برا OnInit.

نصيحة مهمة 💡​

البرمجة:
  • تجربة
  • فتح المحرر
  • تعديل
  • تشغيل
  • غلطة وتصليح 😄
لو حسيت بصعوبة في الأول ده طبيعي جدًا
وأي استفسار اكتبه في التعليقات
وأنا أرد عليك خطوة خطوة 👌🔥
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
19
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
862
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
2
المشاهدات
1K
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,304
المشاركات
2,517
أعضاء أكتب كود
556
أخر عضو
عبدالاله بوعبال
عودة
أعلى