Conditional Statements in MQL4
- العبارات الشرطية في لغة MQL4
مقدمة
تعتبر العبارات الشرطية من أهم العناصر الأساسية في أي لغة برمجة، بما في ذلك لغة MQL4 المستخدمة في منصة MetaTrader 4. تسمح لنا هذه العبارات بتنفيذ أجزاء معينة من الكود بناءً على شروط معينة. بعبارة أخرى، فهي تمكن برنامجنا من اتخاذ "قرارات" بناءً على البيانات المتوفرة. في عالم تداول الفوركس والأسواق المالية، تُستخدم العبارات الشرطية بشكل مكثف لتطبيق استراتيجيات التداول المختلفة وتنفيذ أوامر التداول بناءً على تقييمات التحليل الفني والتحليل الأساسي.
أنواع العبارات الشرطية في MQL4
هناك ثلاثة أنواع رئيسية من العبارات الشرطية في MQL4:
- if : تنفذ كتلة من الكود إذا كان الشرط صحيحًا.
- else : تنفذ كتلة من الكود إذا كان الشرط في عبارة if خاطئًا.
- else if : تسمح بفحص شروط متعددة بشكل متسلسل.
عبارة if
تعتبر عبارة if أبسط أنواع العبارات الشرطية. صيغتها العامة هي:
```mql4 if (الشرط) {
// الكود الذي يتم تنفيذه إذا كان الشرط صحيحًا
} ```
مثال:
```mql4 double Ask = MarketInfo(Symbol(), MODE_ASK);
if (Ask > 1.1000) {
Print("سعر الطلب أعلى من 1.1000");
} ```
في هذا المثال، يتم فحص ما إذا كان سعر الطلب (Ask) أكبر من 1.1000. إذا كان الشرط صحيحًا، فسيتم طباعة الرسالة "سعر الطلب أعلى من 1.1000" في نافذة "Experts".
عبارة if...else
تسمح عبارة if...else بتنفيذ كتلة من الكود إذا كان الشرط صحيحًا، وكتلة أخرى إذا كان الشرط خاطئًا. صيغتها العامة هي:
```mql4 if (الشرط) {
// الكود الذي يتم تنفيذه إذا كان الشرط صحيحًا
} else {
// الكود الذي يتم تنفيذه إذا كان الشرط خاطئًا
} ```
مثال:
```mql4 double ClosePrice = iClose(Symbol(), PERIOD_CURRENT, 0);
if (ClosePrice > iOpen(Symbol(), PERIOD_CURRENT, 0)) {
Print("السعر أغلق أعلى من سعر الافتتاح");
} else {
Print("السعر أغلق أدنى من سعر الافتتاح");
} ```
في هذا المثال، يتم فحص ما إذا كان سعر الإغلاق أعلى من سعر الافتتاح. إذا كان الشرط صحيحًا، فسيتم طباعة رسالة، وإلا فسيتم طباعة رسالة مختلفة.
عبارة if...else if...else
تتيح عبارة if...else if...else فحص شروط متعددة بشكل متسلسل. صيغتها العامة هي:
```mql4 if (الشرط1) {
// الكود الذي يتم تنفيذه إذا كان الشرط1 صحيحًا
} else if (الشرط2) {
// الكود الذي يتم تنفيذه إذا كان الشرط2 صحيحًا
} else {
// الكود الذي يتم تنفيذه إذا كانت جميع الشروط خاطئة
} ```
مثال:
```mql4 double RSI = iRSI(Symbol(), PERIOD_CURRENT, 14, PRICE_CLOSE, 0);
if (RSI > 70) {
Print("السوق في منطقة ذروة الشراء");
} else if (RSI < 30) {
Print("السوق في منطقة ذروة البيع");
} else {
Print("السوق في منطقة محايدة");
} ```
في هذا المثال، يتم فحص قيمة مؤشر القوة النسبية (RSI). إذا كانت القيمة أكبر من 70، فسيتم طباعة رسالة تشير إلى أن السوق في منطقة ذروة الشراء. وإذا كانت القيمة أقل من 30، فسيتم طباعة رسالة تشير إلى أن السوق في منطقة ذروة البيع. وإذا لم يتحقق أي من الشرطين، فسيتم طباعة رسالة تشير إلى أن السوق في منطقة محايدة.
عوامل المقارنة والمنطق
تستخدم العبارات الشرطية عوامل المقارنة والمنطق لتقييم الشروط.
- عوامل المقارنة:
* == (يساوي) * != (لا يساوي) * > (أكبر من) * < (أصغر من) * >= (أكبر من أو يساوي) * <= (أصغر من أو يساوي)
- عوامل المنطق:
* && (و) - يجب أن يكون كلا الشرطين صحيحين. * || (أو) - يجب أن يكون أحد الشرطين على الأقل صحيحًا. * ! (ليس) - ينفي الشرط.
مثال:
```mql4 double MA1 = iMA(Symbol(), PERIOD_CURRENT, 50, 0, MODE_SMA, PRICE_CLOSE, 0); double MA2 = iMA(Symbol(), PERIOD_CURRENT, 200, 0, MODE_SMA, PRICE_CLOSE, 0);
if (MA1 > MA2 && iMACD(Symbol(), PERIOD_CURRENT, 12, 26, 9, SIGNAL_LINE, 0) > 0) {
Print("تقاطع المتوسطات المتحركة إيجابي ومؤشر الماكد فوق خط الإشارة");
} ```
في هذا المثال، يتم فحص ما إذا كان المتوسط المتحرك البسيط لمدة 50 يومًا أكبر من المتوسط المتحرك البسيط لمدة 200 يومًا، وما إذا كان مؤشر الماكد (MACD) فوق خط الإشارة. يجب أن يتحقق كلا الشرطين حتى يتم تنفيذ الكود داخل عبارة if.
استخدام العبارات الشرطية في التداول
تُستخدم العبارات الشرطية على نطاق واسع في تطوير الخوارزميات والروبوتات الآلية للتداول. إليك بعض الأمثلة:
- تنفيذ أوامر شراء أو بيع بناءً على شروط محددة.
- تعديل حجم الصفقة بناءً على تقلبات السوق.
- تحديد نقاط الدخول والخروج من الصفقة بناءً على مؤشرات فنية مثل مؤشر بولينجر والفيوناتشي.
- تفعيل أو تعطيل استراتيجية تداول معينة بناءً على ظروف السوق.
- إدارة المخاطر من خلال تحديد مستويات وقف الخسارة وجني الأرباح.
الخلاصة
العبارات الشرطية هي أداة قوية في لغة MQL4 تسمح للمبرمجين بإنشاء برامج تداول ذكية ومرنة. من خلال فهم الأنواع المختلفة من العبارات الشرطية وكيفية استخدام عوامل المقارنة والمنطق، يمكنك تطوير استراتيجيات تداول متقدمة وتحسين أداء روبوتات التداول الخاصة بك.
روابط ذات صلة
- MQL4
- MetaTrader 4
- استراتيجيات التداول
- التحليل الفني
- التحليل الأساسي
- إدارة المخاطر
- الروبوتات الآلية للتداول
- الخوارزميات
- المؤشرات الفنية
- شراء
- بيع
- وقف الخسارة
- جني الأرباح
- مؤشر بولينجر
- الفيوناتشي
- MACD
- RSI
- المتوسطات المتحركة
- أنماط الشموع اليابانية
- تحليل حجم التداول
- إدارة رأس المال
- التقلبات
- الدعم والمقاومة
- مؤشر ستوكاستيك
- ADX
- Ichimoku Kinko Hyo
- Pivot Points
- Elliott Wave Theory
- Price Action
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين