جميع المقالات التعليم

مقدمة متقدمة إلى MQL5

مترجم عن الإنجليزية. اقرأ النص الأصلي

مقدمة متقدمة إلى MQL5

MQL5 هي لغة برمجة عالية المستوى تُستخدم لتطوير المؤشرات المخصصة والمستشارين الآليين (EAs) واستراتيجيات التداول الآلي الأخرى لمنصة التداول MetaTrader 5. فيما يلي أبرز ميزات لغة MQL5:

  1. البرمجة كائنية التوجه: MQL5 لغة كائنية التوجه، أي أنها تقوم على مفهوم الكائنات التي تحتوي على البيانات والدوال معًا. وهذا يتيح برمجة أسهل وأكثر كفاءة، فضلًا عن تنظيم أفضل للشيفرة البرمجية وإعادة استخدامها.
  2. بيئة تطوير متكاملة: تأتي MQL5 مع بيئة تطوير متكاملة (IDE) تضم محرر شيفرة ومترجمًا (compiler) وأداة لتصحيح الأخطاء (debugger). وهذا يسهّل كتابة الشيفرة واختبارها مباشرةً داخل منصة MetaTrader 5.
  3. مكتبة واسعة: تحتوي MQL5 على مكتبة واسعة من الدوال والمؤشرات المدمجة التي يمكن استخدامها لتطوير استراتيجيات التداول. إضافةً إلى ذلك، تتوفر مكتبات كثيرة من جهات خارجية يمكن دمجها في برامج MQL5.
  4. البرمجة المعتمدة على الأحداث: تعتمد MQL5 نموذج البرمجة المعتمد على الأحداث، أي أن البرامج تُنفَّذ استجابةً لأحداث محددة، مثل تغيّر الأسعار أو تنفيذ الأوامر أو أحداث المؤقّت.
  5. تعدد المسارات (Multi-Threading): تتيح MQL5 البرمجة متعددة المسارات، أي يمكن إنشاء عدة مسارات لتنفيذ أجزاء مختلفة من البرنامج في وقت واحد. وقد يكون ذلك مفيدًا لتحسين الأداء وإدارة استراتيجيات التداول المعقدة.
  6. دعم أنواع بيانات متعددة: تدعم MQL5 مجموعة واسعة من أنواع البيانات، منها الأعداد الصحيحة والأعداد ذات الفاصلة العائمة والنصوص والمصفوفات. كما توفر دعمًا مدمجًا للتعامل مع البيانات المالية، مثل بيانات الأسعار وأحجام التداول.

فيما يلي مثال بسيط على برنامج MQL5 يحسب المتوسط المتحرك لزوج عملات ويطبع النتيجة في نافذة الطرفية:

// --- input parameters
input int Period = 20; // Period of the moving average
input ENUM_APPLIED_PRICE PriceType = PRICE_CLOSE; // Applied price type

// --- global variables
double MovingAverage; // Moving average value

// --- initialization function
int OnInit()
{
// Initialize the MovingAverage variable
MovingAverage = 0.0;

return(INIT_SUCCEEDED);
}

// --- main function
void OnTick()
{
// Calculate the moving average
MovingAverage = iMA(_Symbol, 0, Period, 0, PriceType, MODE_SMA, 0);

// Print the result to the terminal window
Print("Moving Average: ", MovingAverage);
}
جميع المقالات

تداول بطريقتك.
تداول بثقة.

على Mega1 وMetaTrader 5

الدعم المباشر

تحدّث مع فريق الدعم لدينا عبر الدردشة، حتى في عطلات نهاية الأسبوع.

موقع الدعم

أدلة وإجابات تخص حسابك والتمويل والمنصات.

تصفّح موقع الدعم

المدونة

أخبار الشركة وتحديثات الأسواق ورؤى التداول.

اقرأ المدونة

تحذير المخاطر: يحمل تداول منتجات العقود مقابل الفروقات (CFD) مستوى عالياً من المخاطر وقد لا يكون مناسباً لجميع المستثمرين.