Functions in MQL

From binaryoption
Revision as of 22:03, 26 March 2025 by Admin (talk | contribs) (@pipegas_WP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1
  1. الدوال في لغة MQL
    1. مقدمة

لغة MQL (MetaQuotes Language) هي لغة البرمجة المستخدمة لإنشاء الخوارزميات الآلية، والمؤشرات الفنية، والبرامج النصية، والخبراء المستشارين (Expert Advisors - EAs) لمنصات تداول MetaTrader 4 (MQL4) و MetaTrader 5 (MQL5). تعتبر الدوال (Functions) من أهم مكونات هذه اللغة، حيث تسمح بتنظيم الشيفرة البرمجية، وإعادة استخدامها، وتقليل التكرار، مما يجعل الكود أكثر قابلية للقراءة والصيانة. هذا المقال مخصص للمبتدئين ويهدف إلى شرح مفهوم الدوال في MQL بالتفصيل.

    1. ما هي الدوال؟

الدالة هي مجموعة من التعليمات البرمجية التي تنفذ مهمة محددة. يمكن استدعاء هذه المجموعة من التعليمات البرمجية عدة مرات من داخل البرنامج. تتميز الدالة بما يلي:

  • **اسم:** معرف فريد للدالة.
  • **المعاملات (Parameters):** قيم يتم تمريرها إلى الدالة لتنفيذ مهمتها. الدالة قد لا تحتاج إلى أي معاملات.
  • **نوع الإرجاع (Return Type):** نوع البيانات التي ترجعها الدالة بعد الانتهاء من التنفيذ. الدالة قد لا ترجع أي قيمة (void).
  • **جسم الدالة (Function Body):** مجموعة التعليمات البرمجية التي تنفذ المهمة المحددة.
    1. أنواع الدوال في MQL

توجد أنواع مختلفة من الدوال في MQL:

  • **الدوال المدمجة (Built-in Functions):** دوال توفرها منصة MetaTrader بشكل افتراضي، مثل `iMA()` لحساب المتوسط المتحرك، أو `OrderSend()` لإرسال الأوامر. راجع قائمة الدوال المدمجة.
  • **الدوال المعرفة من قبل المستخدم (User-Defined Functions):** دوال يتم إنشاؤها بواسطة المبرمج لتنفيذ مهام محددة لا تتوفر في الدوال المدمجة.
    1. تعريف الدوال المعرفة من قبل المستخدم

يتم تعريف دالة معرفة من قبل المستخدم باستخدام الصيغة التالية:

```mql <نوع الإرجاع> <اسم الدالة>(<قائمة المعاملات>) {

 // جسم الدالة
 return <القيمة المراد إرجاعها>;

} ```

مثال:

```mql int CalculateSum(int a, int b) {

 int sum = a + b;
 return sum;

} ```

في هذا المثال:

  • `int`: نوع الإرجاع (عدد صحيح).
  • `CalculateSum`: اسم الدالة.
  • `int a, int b`: قائمة المعاملات (عددين صحيحين).
  • `int sum = a + b;`: جسم الدالة (يقوم بحساب مجموع المعاملين).
  • `return sum;`: إرجاع قيمة المجموع.
    1. استدعاء الدوال

يتم استدعاء الدالة عن طريق كتابة اسمها متبوعًا بقائمة المعاملات (إذا كانت الدالة تتطلب معاملات) بين قوسين.

مثال:

```mql int result = CalculateSum(5, 3); // استدعاء الدالة CalculateSum مع المعاملين 5 و 3 Print("The sum is: ", result); // طباعة النتيجة (8) ```

    1. نطاق المتغيرات (Variable Scope)

يحدد نطاق المتغير مكان إمكانية الوصول إليه في البرنامج. هناك نوعان رئيسيان من النطاق:

  • **المتغيرات المحلية (Local Variables):** يتم تعريفها داخل الدالة، ولا يمكن الوصول إليها إلا من داخل تلك الدالة.
  • **المتغيرات العامة (Global Variables):** يتم تعريفها خارج أي دالة، ويمكن الوصول إليها من أي مكان في البرنامج. استخدام المتغيرات العامة يجب أن يكون محدودًا لتجنب حدوث أخطاء. راجع نطاق المتغيرات بالتفصيل.
    1. الدوال والمؤشرات الفنية

يمكن استخدام الدوال لإنشاء مؤشرات فنية مخصصة. يمكن للدالة حساب قيم المؤشر بناءً على بيانات الأسعار، ثم إرجاع هذه القيم لعرضها على الرسم البياني. مثال: دالة لحساب مؤشر مؤشر القوة النسبية (RSI).

    1. الدوال والخبراء المستشارين (EAs)

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

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

MQL4 | MQL5 | البرمجة في MQL | أنواع البيانات في MQL | المتغيرات في MQL | عوامل التشغيل في MQL | التحكم في التدفق في MQL | الحلقات في MQL | الصفوف في MQL | الكائنات في MQL | الأحداث في MQL | الأخطاء في MQL | التصحيح في MQL | التعليقات في MQL | المكتبات في MQL | الاستيراد في MQL | التضمين في MQL | المصفوفات في MQL | السلاسل النصية في MQL | التعامل مع الملفات في MQL

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

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

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

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

Баннер