Operators in MQL4
```wiki
العمليات في لغة MQL4
مقدمة
لغة MQL4 (MetaQuotes Language 4) هي لغة البرمجة المستخدمة في منصة MetaTrader 4، وهي منصة تداول شائعة تستخدم على نطاق واسع في أسواق الفوركس والخيارات الثنائية. فهم العمليات (Operators) في MQL4 أمر بالغ الأهمية لكتابة برامج تداول فعالة، سواء كانت مستشارين خبيرين (Expert Advisors – EAs) أو مؤشرات مخصصة (Custom Indicators) أو نصوص برمجية (Scripts). هذه العمليات تسمح لك بإجراء عمليات حسابية ومنطقية ومقارنات على البيانات، مما يتيح لك اتخاذ قرارات تداول مستنيرة. يهدف هذا المقال إلى تقديم شرح شامل للعمليات المختلفة في MQL4 للمبتدئين، مع أمثلة توضيحية.
أنواع العمليات
يمكن تصنيف العمليات في MQL4 إلى عدة أنواع رئيسية:
- العمليات الحسابية (Arithmetic Operators): تستخدم لإجراء العمليات الحسابية الأساسية مثل الجمع والطرح والضرب والقسمة.
- عمليات الإسناد (Assignment Operators): تستخدم لتعيين قيمة لمتغير.
- عمليات المقارنة (Comparison Operators): تستخدم لمقارنة قيمتين وتحديد ما إذا كانت متساوية أو أكبر أو أصغر.
- العمليات المنطقية (Logical Operators): تستخدم لدمج أو نفي الشروط المنطقية.
- عمليات البت (Bitwise Operators): تستخدم لإجراء عمليات على مستوى البت (bits) على الأعداد الصحيحة.
- عمليات الزيادة والنقصان (Increment/Decrement Operators): تستخدم لزيادة أو نقصان قيمة متغير بمقدار واحد.
1. العمليات الحسابية
هذه العمليات هي أساس أي برنامج MQL4 يقوم بإجراء حسابات.
العملية | الوصف | مثال | النتيجة |
+ | الجمع | `a = 5 + 3;` | `a` يساوي 8 |
- | الطرح | `b = 10 - 4;` | `b` يساوي 6 |
* | الضرب | `c = 6 * 2;` | `c` يساوي 12 |
/ | القسمة | `d = 15 / 3;` | `d` يساوي 5 |
% | باقي القسمة (Modulo) | `e = 17 % 5;` | `e` يساوي 2 |
ملاحظات مهمة:
- أولوية العمليات الحسابية تتبع القواعد الرياضية القياسية (الأقواس، الأسس، الضرب والقسمة، الجمع والطرح).
- القسمة على صفر تؤدي إلى خطأ.
- عملية باقي القسمة (%) تُرجع باقي قسمة عددين صحيحين.
2. عمليات الإسناد
تستخدم لتعيين قيمة لمتغير.
العملية | الوصف | مثال | النتيجة |
= | الإسناد البسيط | `x = 10;` | `x` يساوي 10 |
+= | الجمع والإسناد | `y += 5;` (تعادل `y = y + 5;`) | `y` يزيد بمقدار 5 |
-= | الطرح والإسناد | `z -= 2;` (تعادل `z = z - 2;`) | `z` ينقص بمقدار 2 |
*= | الضرب والإسناد | `p *= 3;` (تعادل `p = p * 3;`) | `p` يضرب في 3 |
/= | القسمة والإسناد | `q /= 4;` (تعادل `q = q / 4;`) | `q` يقسم على 4 |
%= | باقي القسمة والإسناد | `r %= 2;` (تعادل `r = r % 2;`) | `r` يساوي باقي قسمة `r` على 2 |
3. عمليات المقارنة
تستخدم لمقارنة قيمتين. النتيجة دائماً قيمة منطقية (true أو false).
العملية | الوصف | مثال | النتيجة |
== | يساوي | `a == b;` | `true` إذا كان `a` يساوي `b`، وإلا `false` |
!= | لا يساوي | `a != b;` | `true` إذا كان `a` لا يساوي `b`، وإلا `false` |
> | أكبر من | `a > b;` | `true` إذا كان `a` أكبر من `b`، وإلا `false` |
< | أصغر من | `a < b;` | `true` إذا كان `a` أصغر من `b`، وإلا `false` |
>= | أكبر من أو يساوي | `a >= b;` | `true` إذا كان `a` أكبر من أو يساوي `b`، وإلا `false` |
<= | أصغر من أو يساوي | `a <= b;` | `true` إذا كان `a` أصغر من أو يساوي `b`، وإلا `false` |
4. العمليات المنطقية
تستخدم لدمج أو نفي الشروط المنطقية.
العملية | الوصف | مثال | النتيجة | ||
&& | AND (و) | `(a > 0) && (b < 10);` | `true` إذا كان كلا الشرطين صحيحين | ||
OR (أو) | `(a > 0) | (b < 10);` | `true` إذا كان أحد الشرطين صحيحاً على الأقل | ||
! | NOT (نفي) | `!(a > 0);` | `true` إذا كان `a` غير أكبر من 0 (أي أصغر من أو يساوي 0) |
5. عمليات البت
هذه العمليات تعمل على مستوى البت (bits) للأعداد الصحيحة. نادراً ما تستخدم في برامج التداول القياسية إلا في الحالات التي تتطلب معالجة بيانات منخفضة المستوى.
- `&` (AND): عملية AND على مستوى البت.
- `|` (OR): عملية OR على مستوى البت.
- `^` (XOR): عملية XOR على مستوى البت.
- `~` (NOT): عملية NOT على مستوى البت.
- `<<` (Left Shift): إزاحة البتات إلى اليسار.
- `>>` (Right Shift): إزاحة البتات إلى اليمين.
6. عمليات الزيادة والنقصان
تستخدم لزيادة أو نقصان قيمة متغير بمقدار واحد.
- `++variable;` (Post-increment): يزيد قيمة المتغير بعد استخدامها في التعبير الحالي.
- `variable++;` (Pre-increment): يزيد قيمة المتغير قبل استخدامها في التعبير الحالي.
- `--variable;` (Post-decrement): ينقص قيمة المتغير بعد استخدامها في التعبير الحالي.
- `variable--;` (Pre-decrement): ينقص قيمة المتغير قبل استخدامها في التعبير الحالي.
أمثلة عملية
```mql4 // مثال على استخدام العمليات الحسابية double price = 1.2500; double stopLoss = price - 0.0050; // حساب مستوى وقف الخسارة double takeProfit = price + 0.0100; // حساب مستوى جني الأرباح
// مثال على استخدام عمليات المقارنة int volume = 10; if (volume > 5) {
Print("حجم التداول كبير");
} else {
Print("حجم التداول صغير");
}
// مثال على استخدام العمليات المنطقية bool isTrendUp = true; bool isRSIOverbought = false; if (isTrendUp && !isRSIOverbought) {
Print("فرصة شراء محتملة");
} ```
أهمية فهم العمليات في التداول
فهم العمليات في MQL4 ضروري لتطوير استراتيجيات تداول آلية. يمكنك استخدام هذه العمليات ل:
- حساب مستويات الدعم والمقاومة.
- تحديد نقاط الدخول والخروج.
- تطبيق المؤشرات الفنية مثل Moving Average و RSI.
- إدارة المخاطر وتحديد حجم الصفقة.
- تنفيذ أوامر Trailing Stop.
مواضيع ذات صلة
- MetaQuotes Language 4
- Variables in MQL4
- Data Types in MQL4
- Conditional Statements in MQL4
- Loops in MQL4
- Functions in MQL4
- Expert Advisors (EAs)
- Custom Indicators
- Scripts in MQL4
- Debugging in MQL4
استراتيجيات التداول ذات الصلة
- Scalping
- Day Trading
- Swing Trading
- News Trading
- Breakout Strategy
- Reversal Strategy
- Fibonacci Retracement
- Bollinger Bands Strategy
- MACD Strategy
- Ichimoku Cloud Strategy
تحليل فني ومؤشرات
- Support and Resistance
- Trend Lines
- Chart Patterns
- Moving Averages
- Relative Strength Index (RSI)
- Moving Average Convergence Divergence (MACD)
- Stochastic Oscillator
- Bollinger Bands
- Ichimoku Kinko Hyo
- Pivot Points
تحليل حجم التداول
الخيارات الثنائية
ملاحظة: هذا المقال يقدم نظرة عامة على العمليات في MQL4. لمزيد من التفاصيل، يرجى الرجوع إلى الوثائق الرسمية لـ MQL4. ``` ```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين