MQL4/5

من cryptofutures.trading
اذهب إلى التنقل اذهب إلى البحث

اسم المقالة: MQL4/5: دليل شامل للمبتدئين في برمجة التداول الآلي

مقدمة إلى MQL4/5

MQL4 و MQL5 هما لغتا برمجة خاصتان تم تطويرهما بواسطة شركة MetaQuotes Software Corp. وتستخدمان بشكل أساسي لإنشاء برامج تداول آلية (Expert Advisors أو EAs)، ومؤشرات مخصصة (Custom Indicators)، ونصوص برمجية (Scripts) لمنصتي MetaTrader 4 و MetaTrader 5 على التوالي. منصتا MetaTrader هما من أكثر منصات التداول شيوعًا في سوق الفوركس و عقود الفروقات و العقود الآجلة، مما يجعل MQL4/5 أدوات قوية للمتداولين الذين يرغبون في أتمتة استراتيجياتهم.

هذه المقالة موجهة للمبتدئين الذين ليس لديهم خبرة سابقة في البرمجة، وتهدف إلى تزويدهم بفهم شامل لـ MQL4/5 وكيفية استخدامها في تداول العقود الآجلة وأسواق المال الأخرى.

الفرق بين MQL4 و MQL5

على الرغم من أن MQL4 و MQL5 متشابهتان في العديد من النواحي، إلا أنهما ليستا متوافقتين تمامًا. MQL5 هي الجيل التالي من MQL4، وقد تم تصميمها لتكون أكثر قوة وكفاءة ومرونة. إليك بعض الاختلافات الرئيسية:

  • **السرعة:** MQL5 أسرع بشكل ملحوظ من MQL4، مما يسمح بتنفيذ أوامر التداول بشكل أسرع وأكثر دقة.
  • **المرونة:** MQL5 توفر المزيد من الأدوات والميزات للمطورين، مما يسمح لهم بإنشاء برامج تداول أكثر تعقيدًا وتخصصًا.
  • **الاختبار:** MQL5 توفر إمكانات اختبار أكثر تقدمًا، مما يسمح للمتداولين باختبار استراتيجياتهم بدقة أكبر قبل نشرها في السوق الحقيقي.
  • **الدعم:** MQL5 تدعم أنواعًا مختلفة من الأوامر، بما في ذلك الأوامر المعلقة (Pending Orders) وأوامر السوق (Market Orders).
  • **التحسين:** MQL5 تتضمن أدوات تحسين متقدمة لمساعدة المتداولين على تحسين أداء استراتيجياتهم.
  • **المنصة:** MQL4 مخصصة لمنصة MetaTrader 4، بينما MQL5 مخصصة لمنصة MetaTrader 5.
مقارنة بين MQL4 و MQL5
الميزة MQL4 MQL5
السرعة أبطأ أسرع
المرونة أقل أكثر
الاختبار محدود متقدم
أنواع الأوامر أقل تنوعًا أكثر تنوعًا
التحسين بسيط متقدم
المنصة MetaTrader 4 MetaTrader 5

أساسيات لغة MQL4/5

مثل أي لغة برمجة أخرى، تعتمد MQL4/5 على مجموعة من المفاهيم الأساسية. فيما يلي بعض من أهمها:

  • **المتغيرات (Variables):** تستخدم لتخزين البيانات، مثل أسعار الأسهم، وحجم التداول، ومؤشرات فنية.
  • **أنواع البيانات (Data Types):** تحدد نوع البيانات التي يمكن تخزينها في متغير، مثل الأعداد الصحيحة (Integer)، والأعداد العشرية (Double)، والنصوص (String).
  • **العوامل (Operators):** تستخدم لإجراء العمليات الحسابية والمنطقية على البيانات، مثل الجمع (+)، والطرح (-)، والضرب (*)، والقسمة (/).
  • **الشروط (Conditions):** تستخدم لاتخاذ القرارات بناءً على قيم البيانات، مثل If-Else.
  • **الحلقات (Loops):** تستخدم لتكرار مجموعة من التعليمات البرمجية، مثل For و While.
  • **الدوال (Functions):** تستخدم لتجميع مجموعة من التعليمات البرمجية في وحدة واحدة قابلة لإعادة الاستخدام.
  • **الأحداث (Events):** هي إشارات يتم إرسالها بواسطة منصة MetaTrader، مثل حدث وصول سعر جديد (OnTick) أو حدث فتح شمعة جديدة (OnBar).

أنواع البرامج في MQL4/5

هناك ثلاثة أنواع رئيسية من البرامج التي يمكن إنشاؤها باستخدام MQL4/5:

  • **Expert Advisors (EAs):** هي برامج تداول آلية تقوم بتنفيذ أوامر التداول تلقائيًا بناءً على مجموعة من القواعد المحددة مسبقًا. استراتيجيات التداول الآلي تعتمد بشكل كبير على EAs.
  • **Custom Indicators:** هي مؤشرات فنية مخصصة لا تتوفر بشكل افتراضي في منصة MetaTrader. يمكن استخدامها لتحليل الأسعار وتحديد فرص التداول. التحليل الفني يستفيد من المؤشرات المخصصة.
  • **Scripts:** هي برامج بسيطة تنفذ مهمة واحدة محددة، مثل إغلاق جميع الصفقات المفتوحة أو تغيير حجم أوامر التداول.

بناء Expert Advisor (EA) بسيط

لنفترض أننا نريد إنشاء EA بسيط يقوم بفتح صفقة شراء عندما يتقاطع متوسط متحرك قصير الأجل (SMA) فوق متوسط متحرك طويل الأجل (SMA). فيما يلي الخطوات الأساسية:

1. **فتح محرر MetaEditor:** يتم فتح MetaEditor من داخل منصة MetaTrader. 2. **إنشاء ملف EA جديد:** اختر "File" -> "New" -> "Expert Advisor (template)". 3. **كتابة الكود:** اكتب الكود التالي في MetaEditor:

```mql4 //+------------------------------------------------------------------+ //| Simple_MA_EA.mq4 | //| Copyright 2023, [اسمك] | //| https://example.com | //+------------------------------------------------------------------+

  1. property copyright "Copyright 2023, [اسمك]"
  2. property link "https://example.com"
  3. property version "1.00"

extern int FastMAPeriod = 12; extern int SlowMAPeriod = 26; extern double Lots = 0.01;

int OnInit()

 {
  // لا توجد تهيئة ضرورية في هذا المثال
  return(INIT_SUCCEEDED);
 }

void OnTick()

 {
  double FastMA = iMA(NULL, 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
  double SlowMA = iMA(NULL, 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
  if (FastMA > SlowMA && FastMA[1] <= SlowMA[1])
    {
     // فتح صفقة شراء
     OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, "Simple MA EA", 12345, 0, Green);
    }
 }

```

4. **تجميع الكود:** اضغط على F7 لتجميع الكود. 5. **إضافة EA إلى الرسم البياني:** اسحب EA من نافذة "Navigator" إلى الرسم البياني المطلوب. 6. **تعديل الإعدادات:** قم بتعديل قيم المتغيرات الخارجية (FastMAPeriod، SlowMAPeriod، Lots) حسب رغبتك. 7. **تشغيل EA:** تأكد من تفعيل خيار "Allow live trading" في إعدادات EA.

هذا مثال بسيط جدًا، ولكن يوضح المبادئ الأساسية لبناء EA باستخدام MQL4/5.

استخدام المؤشرات المخصصة (Custom Indicators)

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

لإنشاء مؤشر مخصص، اتبع الخطوات التالية:

1. **فتح محرر MetaEditor.** 2. **إنشاء ملف مؤشر جديد:** اختر "File" -> "New" -> "Custom Indicator". 3. **كتابة الكود:** اكتب الكود الخاص بالمؤشر. 4. **تجميع الكود.** 5. **إضافة المؤشر إلى الرسم البياني:** اسحب المؤشر من نافذة "Navigator" إلى الرسم البياني المطلوب.

نصائح للمبتدئين في MQL4/5

  • **ابدأ صغيرًا:** ابدأ بكتابة برامج بسيطة، ثم قم بزيادة التعقيد تدريجيًا.
  • **استخدم الوثائق الرسمية:** توفر MetaQuotes Software Corp. وثائق شاملة لـ MQL4/5. وثائق MQL5 هي مصدر قيم.
  • **ابحث عن أمثلة:** هناك العديد من الأمثلة المتاحة عبر الإنترنت التي يمكن أن تساعدك على تعلم MQL4/5.
  • **انضم إلى مجتمعات المطورين:** هناك العديد من المجتمعات عبر الإنترنت حيث يمكنك طرح الأسئلة والحصول على المساعدة من مطوري MQL4/5 الآخرين.
  • **اختبر استراتيجياتك بدقة:** قبل نشر أي برنامج تداول آلي في السوق الحقيقي، تأكد من اختباره بدقة باستخدام بيانات تاريخية (Backtesting) و محاكاة (Forward Testing). اختبار الخلفية و الاختبار الأمامي ضروريان.
  • **إدارة المخاطر:** لا تنسَ تضمين آليات إدارة المخاطر في برامجك، مثل تحديد حجم الصفقة (Position Sizing) ووضع أوامر وقف الخسارة (Stop Loss) وأخذ الربح (Take Profit). إدارة المخاطر أساس النجاح في التداول.

موارد إضافية

الخلاصة

MQL4/5 هي أدوات قوية للمتداولين الذين يرغبون في أتمتة استراتيجياتهم. على الرغم من أن تعلم هذه اللغات قد يستغرق بعض الوقت والجهد، إلا أن المكافآت تستحق العناء. من خلال فهم أساسيات MQL4/5 واستخدام الموارد المتاحة، يمكنك إنشاء برامج تداول آلية يمكن أن تساعدك على تحسين أداء تداولك. تذكر دائمًا اختبار استراتيجياتك وإدارة المخاطر بعناية.


المنصات الموصى بها للعقود الآجلة

المنصة ميزات العقود الآجلة التسجيل
Binance Futures رافعة مالية تصل إلى 125x، عقود USDⓈ-M سجل الآن
Bybit Futures عقود آجلة معكوسة دائمة ابدأ التداول
BingX Futures نسخ تداول العقود الآجلة انضم إلى BingX
Bitget Futures عقود بضمان USDT افتح حسابك
BitMEX منصة تداول العملات المشفرة مع رافعة مالية تصل إلى 100x BitMEX

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

تابع قناة Telegram @strategybin للحصول على معلومات إضافية. أفضل منصة لتحقيق الأرباح – سجل الآن.

شارك في مجتمعنا

تابع قناة Telegram @cryptofuturestrading للحصول على تحليلات، إشارات مجانية، والمزيد!