- بواسطة 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
عرض نافذة الإعدادات قبل التشغيل.بداية عالم البرمجة الحقيقي: المتغيرات 🔥
دلوقتي بقى نبدأ الشغل الجد وأهم حاجة في أي لغة برمجة هي المتغيرات.المتغير ببساطة:
- اسم بنختاره
- نخزن فيه قيمة
- رقم - نص - تاريخ - لون … إلخ
مثال:
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);
} نصيحة مهمة 💡
البرمجة:- تجربة
- فتح المحرر
- تعديل
- تشغيل
- غلطة وتصليح 😄
وأي استفسار اكتبه في التعليقات
وأنا أرد عليك خطوة خطوة 👌🔥
التعديل الأخير: