أنواع البيانات في MQL

From binaryoption
Revision as of 02:11, 14 April 2025 by Admin (talk | contribs) (@pipegas_WP-test)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1

```wiki

أنواع البيانات في MQL4

مقدمة

لغة MQL4 (MetaQuotes Language 4) هي لغة برمجة مصممة خصيصاً لمنصة MetaTrader 4، وهي منصة تداول شهيرة في أسواق الفوركس والسلع والأسهم. تعتبر MQL4 أداة قوية للمتداولين لإنشاء الخوارزميات، والمؤشرات الفنية، والبرامج النصية، وأنظمة التداول الآلية (Expert Advisors). فهم أنواع البيانات في MQL4 أمر بالغ الأهمية لكتابة برامج فعالة وخالية من الأخطاء. هذا المقال يوفر شرحاً شاملاً لأنواع البيانات المختلفة المتاحة في MQL4، مع أمثلة توضيحية.

الأنواع الأساسية للبيانات

MQL4 تدعم مجموعة متنوعة من أنواع البيانات، والتي يمكن تصنيفها إلى أنواع أساسية وأنواع مشتقة. الأنواع الأساسية هي اللبنات الأساسية التي يتم بناء جميع أنواع البيانات الأخرى عليها.

int (عدد صحيح)

يمثل int الأعداد الصحيحة (بدون كسور عشرية). نطاق القيم المتاحة لنوع int هو من -2,147,483,648 إلى 2,147,483,647 (32 بت). يستخدم هذا النوع لتخزين القيم التي لا تتطلب دقة عشرية، مثل عدد الصفقات أو عدد الشموع.

مثال: ```mql4 int numberOfTrades = 10; int candleNumber = 50; ```

double (رقم عشري مزدوج الدقة)

يمثل double الأرقام العشرية (مع كسور عشرية). يستخدم هذا النوع لتخزين القيم التي تتطلب دقة عالية، مثل أسعار الصرف أو قيم المؤشرات الفنية. يمتلك نوع double نطاقاً أكبر بكثير من int.

مثال: ```mql4 double price = 1.12345; double indicatorValue = 0.75; ```

bool (منطقي)

يمثل bool القيم المنطقية، والتي يمكن أن تكون إما true (صحيح) أو false (خطأ). يستخدم هذا النوع لاتخاذ القرارات في البرنامج بناءً على شروط معينة. يستخدم بشكل شائع في عبارات if وwhile وfor.

مثال: ```mql4 bool isTrendUp = true; bool isSignalValid = false; ```

string (نص)

يمثل string تسلسلاً من الأحرف. يستخدم هذا النوع لتخزين النصوص، مثل أسماء المؤشرات أو تعليقات المستخدم أو أسماء الملفات. يمكن أن تحتوي السلاسل على أي عدد من الأحرف.

مثال: ```mql4 string indicatorName = "Moving Average"; string comment = "Signal detected!"; ```

char (حرف)

يمثل char حرفاً واحداً. يستخدم هذا النوع لتخزين الأحرف الفردية، مثل الأحرف الأولى أو الرموز.

مثال: ```mql4 char firstLetter = 'A'; char symbol = '$'; ```

الأنواع المشتقة للبيانات

تعتمد الأنواع المشتقة على الأنواع الأساسية وتوفر المزيد من المرونة والوظائف.

datetime (تاريخ ووقت)

يمثل datetime التاريخ والوقت. يتم تخزين التاريخ والوقت كعدد صحيح يمثل عدد الثواني منذ 1 يناير 1970. يستخدم هذا النوع لتسجيل الأحداث أو حساب الفترات الزمنية.

مثال: ```mql4 datetime startTime = TimeCurrent(); datetime endTime = Time[0]; ```

color (لون)

يمثل color لوناً. يتم تمثيل الألوان باستخدام قيم RGB (Red, Green, Blue). يستخدم هذا النوع لتخصيص مظهر الرسوم البيانية أو المؤشرات.

مثال: ```mql4 color arrowColor = clrRed; color backgroundColor = clrBlue; ```

enum (تعداد)

يمثل enum مجموعة من الثوابت المسماة. يستخدم هذا النوع لتعريف مجموعة من القيم المحددة مسبقاً. يمكن أن يجعل الكود أكثر قابلية للقراءة والصيانة.

مثال: ```mql4 enum OrderType {

   OP_BUY = 0,
   OP_SELL = 1

};

OrderType orderType = OP_BUY; ```

المؤهلات (Modifiers)

يمكن تعديل أنواع البيانات باستخدام المؤهلات لتحديد خصائص إضافية.

short

يقلل حجم الذاكرة المستخدمة بواسطة نوع البيانات. يمكن استخدامه مع int و double. ومع ذلك، قد يؤدي استخدامه إلى فقدان الدقة.

long

يزيد حجم الذاكرة المستخدمة بواسطة نوع البيانات. يمكن استخدامه مع int و double. قد يكون ضرورياً لتخزين قيم كبيرة جداً.

unsigned

يسمح بتخزين قيم موجبة فقط. يمكن استخدامه مع int.

مثال: ```mql4 unsigned int positiveNumber = 100; ```

أنواع البيانات الخاصة بـ MQL4

MQL4 لديها بعض أنواع البيانات الخاصة التي تستخدم بشكل متكرر في التداول.

handles

Handles هي متغيرات تستخدم لتمثيل الكائنات المختلفة في MetaTrader 4، مثل المؤشرات أو الرسوم البيانية أو الأوامر. يتم استخدامها للوصول إلى هذه الكائنات والتحكم فيها.

مثال: ```mql4 int handleToIndicator = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE); ```

arrays (المصفوفات)

Arrays هي مجموعات من عناصر البيانات من نفس النوع. تستخدم لتخزين مجموعات من القيم المرتبطة.

مثال: ```mql4 double prices[10]; prices[0] = 1.12345; prices[1] = 1.12350; ```

التحويل بين أنواع البيانات

يمكن تحويل البيانات من نوع إلى آخر باستخدام عمليات التحويل (casting). يجب توخي الحذر عند إجراء عمليات التحويل، حيث قد يؤدي ذلك إلى فقدان الدقة أو أخطاء.

مثال: ```mql4 int integerValue = 10; double doubleValue = (double)integerValue; // تحويل int إلى double ```

أهمية اختيار نوع البيانات الصحيح

اختيار نوع البيانات الصحيح أمر بالغ الأهمية لعدة أسباب:

  • **الكفاءة:** استخدام نوع البيانات المناسب يمكن أن يحسن كفاءة البرنامج وتقليل استخدام الذاكرة.
  • **الدقة:** اختيار نوع البيانات الذي يوفر الدقة اللازمة يضمن الحصول على نتائج دقيقة.
  • **قابلية القراءة:** استخدام أنواع البيانات ذات الأسماء الواضحة يجعل الكود أكثر قابلية للقراءة والصيانة.
  • **منع الأخطاء:** استخدام أنواع البيانات الصحيحة يمكن أن يساعد في منع الأخطاء المنطقية والأخطاء الزمنية.

أمثلة عملية

  • لحساب الربح والخسارة، استخدم نوع double لضمان الدقة.
  • لتخزين عدد الصفقات المفتوحة، استخدم نوع int.
  • لتحديد ما إذا كان السوق في اتجاه صعودي أو هبوطي، استخدم نوع bool.
  • لتخزين أسماء المؤشرات، استخدم نوع string.
  • لتخزين قيم الشموع، استخدم نوع double في array.

مصادر إضافية

خلاصة

فهم أنواع البيانات في MQL4 هو أساس كتابة برامج تداول ناجحة. من خلال اختيار أنواع البيانات المناسبة واستخدامها بشكل صحيح، يمكن للمتداولين إنشاء خوارزميات قوية وفعالة يمكنها أتمتة استراتيجيات التداول وتحسين الأداء. `````` ```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер