MQL5 Reference

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

MQL5 Reference: دليل شامل للمبتدئين في برمجة الخيارات الثنائية

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

ما هي MQL5 ولماذا نتعلمها؟

MQL5 ليست مجرد لغة برمجة؛ إنها أداة تمكنك من أتمتة استراتيجيات التداول الخاصة بك، وإجراء التحليل الفني المعقد، واختبار أداء استراتيجياتك قبل المخاطرة برأس المال الحقيقي. بإتقان MQL5، يمكنك:

  • أتمتة التداول: تنفيذ الصفقات تلقائيًا بناءً على شروط محددة مسبقًا.
  • إنشاء مؤشرات فنية مخصصة: تطوير أدوات تحليلية فريدة تناسب احتياجاتك.
  • إجراء الاختبار الخلفي (Backtesting): تقييم أداء استراتيجياتك على البيانات التاريخية.
  • تحسين الأداء: تحسين استراتيجياتك باستمرار بناءً على النتائج.
  • الوصول إلى البيانات: استرداد بيانات السوق التاريخية في الوقت الفعلي.

أساسيات لغة MQL5

MQL5 مستوحاة من لغة ++C، لذا فإن معرفتك بأساسيات البرمجة الشيئية ستكون مفيدة. ومع ذلك، يمكن للمبتدئين تعلمها بسهولة.

  • أنواع البيانات: MQL5 تدعم أنواع بيانات متنوعة مثل `int` (عدد صحيح)، `double` (عدد عشري)، `bool` (قيمة منطقية)، `string` (نص)، `datetime` (تاريخ ووقت).
  • المتغيرات: تستخدم لتخزين البيانات. يجب تعريف المتغيرات قبل استخدامها، مع تحديد نوع البيانات. مثال: `int myVariable = 10;`
  • العوامل: تستخدم لإجراء عمليات حسابية ومنطقية. مثل: `+` (جمع)، `-` (طرح)، `*` (ضرب)، `/` (قسمة)، `==` (يساوي)، `!=` (لا يساوي)، `>` (أكبر من)، `<` (أصغر من).
  • التحكم في التدفق: تستخدم للتحكم في ترتيب تنفيذ التعليمات البرمجية. تشمل:
   *   `if-else`: تنفيذ تعليمات برمجية بناءً على شرط.
   *   `for`: تكرار تنفيذ تعليمات برمجية لعدد محدد من المرات.
   *   `while`: تكرار تنفيذ تعليمات برمجية طالما أن الشرط صحيح.
   *   `switch`: اختيار كتلة من التعليمات البرمجية للتنفيذ بناءً على قيمة متغير.
  • الدوال: كتل من التعليمات البرمجية التي تقوم بمهمة محددة. يمكن إعادة استخدام الدوال لتجنب تكرار التعليمات البرمجية.
  • التعليقات: تستخدم لشرح التعليمات البرمجية. تتجاهل المترجم التعليقات. تستخدم `//` للتعليقات ذات السطر الواحد و `/* ... */` للتعليقات متعددة الأسطر.

الهيكل الأساسي لبرنامج MQL5

كل برنامج MQL5 يبدأ بالهيكل التالي:

```mql5

  1. property copyright "Your Copyright"
  2. property link "Your Link"
  3. property version "1.00"
  1. property indicator_chart_window

//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit()

 {
  //--- initialization code here
  return(INIT_SUCCEEDED);
 }

//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason)

 {
  //--- deinitialization code here
 }

//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick()

 {
  //--- trading logic here
 }

//+------------------------------------------------------------------+ ```

  • `#property`: تستخدم لتحديد خصائص البرنامج، مثل حقوق التأليف والارتباط والإصدار.
  • `OnInit()`: تُستدعى مرة واحدة عند بدء تشغيل البرنامج. تستخدم لتهيئة المتغيرات وإعداد البرنامج.
  • `OnDeinit()`: تُستدعى مرة واحدة عند إيقاف تشغيل البرنامج. تستخدم لتحرير الموارد وإغلاق الملفات.
  • `OnTick()`: تُستدعى في كل مرة يتم فيها تحديث سعر التداول (كل "tick"). هنا يتم تنفيذ منطق التداول.

الدوال المدمجة في MQL5

MQL5 توفر مجموعة واسعة من الدوال المدمجة التي تسهل تطوير برامج التداول. بعض الدوال المهمة تشمل:

  • `OrderSend()`: إرسال أمر تداول.
  • `OrderClose()`: إغلاق أمر تداول.
  • `iMA()`: حساب المتوسط المتحرك.
  • `iRSI()`: حساب مؤشر القوة النسبية.
  • `iMACD()`: حساب مؤشر الماكد.
  • `TimeCurrent()`: الحصول على الوقت الحالي.
  • `SymbolInfoDouble()`: الحصول على معلومات حول رمز التداول (مثل السعر الحالي).
  • `AccountInfoDouble()`: الحصول على معلومات حول حساب التداول (مثل الرصيد).
  • `NormalizeDouble()`: تقريب الأرقام العشرية.
  • `Print()`: عرض رسائل في نافذة "Experts".

التعامل مع الأوامر (Orders)

أوامر التداول هي أساس التداول الآلي. تتيح لك MQL5 إنشاء، تعديل، وإغلاق الأوامر. الدالة `OrderSend()` هي الأكثر استخدامًا لإرسال الأوامر.

مثال:

```mql5 int ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "My EA", 12345, 0, Green); if(ticket > 0)

 {
  Print("Order sent successfully. Ticket: ", ticket);
 }

else

 {
  Print("Order sending failed. Error: ", GetLastError());
 }

```

  • `Symbol()`: الحصول على رمز التداول الحالي.
  • `OP_BUY`: نوع الأمر (شراء).
  • `0.1`: حجم التداول (Lot size).
  • `Ask`: سعر الطلب (السعر الذي يبيع به البائع).
  • `3`: مستوى وقف الخسارة (Stop Loss).
  • `0`: مستوى جني الأرباح (Take Profit).
  • `"My EA"`: تعليق على الأمر.
  • `12345`: رقم سحري (Magic Number) لتحديد الأوامر التي تم إنشاؤها بواسطة هذا الروبوت.
  • `0`: انتهاء صلاحية الأمر (0 يعني لا يوجد انتهاء صلاحية).
  • `Green`: لون السهم على الرسم البياني.

استراتيجيات التداول الشائعة في MQL5

يمكن تنفيذ العديد من استراتيجيات التداول باستخدام MQL5. بعض الأمثلة تشمل:

  • استراتيجية المتوسطات المتحركة: تعتمد على تقاطع المتوسطات المتحركة لتحديد نقاط الدخول والخروج.
  • استراتيجية الاختراق: تعتمد على اختراق مستويات الدعم والمقاومة.
  • استراتيجية الماكد: تعتمد على إشارات مؤشر الماكد.
  • استراتيجية القوة النسبية: تعتمد على إشارات مؤشر القوة النسبية.
  • استراتيجية بولينجر باندز: تعتمد على نطاقات بولينجر لتحديد التقلبات ونقاط الدخول والخروج.
  • استراتيجية Ichimoku Cloud: تعتمد على سحابة Ichimoku لتحديد الاتجاهات والدعم والمقاومة.
  • استراتيجية Fibonacci Retracement: تعتمد على مستويات فيبوناتشي لتحديد نقاط الدخول والخروج المحتملة.
  • استراتيجية Price Action: تعتمد على تحليل أنماط الشموع اليابانية وحركات الأسعار.
  • استراتيجية مارتينجال: (خطر جداً) تعتمد على مضاعفة حجم التداول بعد كل خسارة.
  • استراتيجية Anti-Martingale: (أكثر أماناً) تعتمد على مضاعفة حجم التداول بعد كل ربح.

استخدام المؤشرات الفنية في MQL5

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

  • المتوسطات المتحركة (Moving Averages): تستخدم لتنعيم بيانات الأسعار وتحديد الاتجاهات.
  • مؤشر القوة النسبية (RSI): يقيس قوة الاتجاه ويحدد مناطق ذروة الشراء والبيع.
  • مؤشر الماكد (MACD): يظهر العلاقة بين متوسطين متحركين ويستخدم لتحديد الاتجاهات ونقاط الدخول والخروج.
  • بولينجر باندز (Bollinger Bands): تظهر تقلبات الأسعار وتساعد في تحديد مناطق ذروة الشراء والبيع.
  • مؤشر ستوكاستيك (Stochastic Oscillator): يقارن سعر الإغلاق الحالي بنطاق أسعاره خلال فترة زمنية محددة ويستخدم لتحديد مناطق ذروة الشراء والبيع.

التحليل الفني وحجم التداول في MQL5

يمكن دمج التحليل الفني و تحليل حجم التداول في برامج MQL5 لتحسين دقة استراتيجيات التداول. يمكن استخدام بيانات حجم التداول لتأكيد إشارات التحليل الفني وتحديد قوة الاتجاه. على سبيل المثال، يمكن استخدام مؤشر On Balance Volume (OBV) لتأكيد الاتجاهات وتحديد الانعكاسات المحتملة.

الاختبار الخلفي (Backtesting) والتحسين

الاختبار الخلفي هو عملية تقييم أداء استراتيجية تداول على البيانات التاريخية. تتيح لك MQL5 إجراء اختبارات خلفية دقيقة باستخدام محاكي استراتيجية مدمج. بعد إجراء الاختبار الخلفي، يمكنك تحسين استراتيجيتك عن طريق تعديل المعلمات للعثور على أفضل مجموعة من الإعدادات.

موارد إضافية

خاتمة

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

الخيارات الثنائية الروبوتات (Expert Advisors) التحليل الفني تحليل حجم التداول المؤشرات الفنية استراتيجية المتوسطات المتحركة استراتيجية الاختراق استراتيجية الماكد استراتيجية القوة النسبية استراتيجية بولينجر باندز استراتيجية Ichimoku Cloud استراتيجية Fibonacci Retracement استراتيجية Price Action استراتيجية مارتينجال استراتيجية Anti-Martingale المتوسطات المتحركة مؤشر القوة النسبية مؤشر الماكد بولينجر باندز مؤشر ستوكاستيك On Balance Volume (OBV) إدارة المخاطر MetaTrader 5 Backtesting تحسين الاستراتيجيات الرسم البياني للشموع اليابانية أنماط الشموع اليابانية الدعم والمقاومة التقلبات Stop Loss Take Profit

```

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

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

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

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

Баннер