Events in MQL
الأحداث في لغة MQL
الأحداث في لغة MQL4/MQL5 (MetaQuotes Language) هي وظائف خاصة يتم استدعاؤها تلقائيًا بواسطة منصة MetaTrader 4 أو MetaTrader 5 استجابةً لأحداث معينة تحدث في السوق أو داخل المنصة نفسها. فهم الأحداث ضروري لتطوير الخبير المستشار (Expert Advisor - EA) و المؤشرات المخصصة (Custom Indicators) الفعالة. هذه المقالة موجهة للمبتدئين وتهدف إلى تقديم شرح مفصل للأحداث الأكثر شيوعًا وكيفية استخدامها.
أنواع الأحداث
يمكن تصنيف الأحداث في MQL إلى عدة أنواع رئيسية:
- أحداث التداول (Trade Events): ترتبط بتنفيذ الصفقات، مثل فتح صفقة، إغلاق صفقة، تعديل صفقة.
- أحداث الرسم البياني (Chart Events): تحدث على الرسم البياني، مثل تغيير الفترة الزمنية، إضافة أو إزالة مؤشر، تغيير رمز العملة.
- أحداث المنصة (Platform Events): تتعلق بأحداث على مستوى المنصة، مثل بدء تشغيل المنصة، إيقافها، استقبال بيانات تداول جديدة.
- أحداث التوقيت (Timer Events): يتم استدعاؤها بشكل دوري بناءً على فترة زمنية محددة.
أحداث التداول الأكثر شيوعًا
| الحدث | الوصف | متى يتم استدعاؤه | |---|---|---| | OnTrade | يتم استدعاؤه عند كل عملية تداول جديدة. | عند فتح صفقة، إغلاق صفقة، أو تعديل صفقة. | | OnTradeTransaction | يوفر معلومات مفصلة حول كل معاملة تداول. | عند تنفيذ أي معاملة تداول، مثل أوامر السوق أو المعلقات. | | OnOrder | يتم استدعاؤه عند تغيير حالة أمر تداول. | عند فتح، تعديل، أو إغلاق أمر تداول. | | OnOrderSend | يتم استدعاؤه بعد إرسال أمر تداول. | مباشرة بعد إرسال أمر تداول عبر الخبير المستشار. | | OnOrderUpdate | يتم استدعاؤه عند تحديث معلومات أمر تداول. | عند تغيير سعر التنفيذ، وقف الخسارة، أو جني الأرباح. |
مثال: استخدام حدث OnTrade لتتبع الصفقات المفتوحة:
```mql void OnTrade()
{ Print("تم تنفيذ صفقة جديدة!"); // يمكن هنا إضافة كود لتسجيل الصفقة، تحليلها، أو اتخاذ إجراء بناءً عليها. }
```
أحداث الرسم البياني الأكثر شيوعًا
| الحدث | الوصف | متى يتم استدعاؤه | |---|---|---| | OnChartEvent | يسمح بالاستجابة لأحداث مختلفة على الرسم البياني. | عند النقر على الرسم البياني، تغيير الفترة الزمنية، إضافة أو إزالة مؤشر. | | OnCalculate | يتم استدعاؤه في كل دورة حسابية للرسم البياني. | قبل رسم كل شمعة جديدة على الرسم البياني. | | OnInit | يتم استدعاؤه عند إرفاق المؤشر أو الخبير المستشار بالرسم البياني. | عند بدء تشغيل المؤشر أو الخبير المستشار. | | OnDeinit | يتم استدعاؤه عند إزالة المؤشر أو الخبير المستشار من الرسم البياني. | عند إيقاف تشغيل المؤشر أو الخبير المستشار. |
مثال: استخدام حدث OnChartEvent للكشف عن النقر على الرسم البياني:
```mql void OnChartEvent(const int id,
const long &lparam, const double &dparam, const string &sparam) { if(id == CHARTEVENT_OBJECT_CLICK) { Print("تم النقر على كائن!"); } }
```
أحداث المنصة
| الحدث | الوصف | متى يتم استدعاؤه | |---|---|---| | OnStart | يتم استدعاؤه عند بدء تشغيل المنصة. | عند فتح MetaTrader. | | OnStop | يتم استدعاؤه عند إيقاف تشغيل المنصة. | عند إغلاق MetaTrader. | | OnAccount | يتم استدعاؤه عند تغيير معلومات الحساب. | عند تغيير الرصيد، الهامش، أو الربح/الخسارة. |
أحداث التوقيت
| الحدث | الوصف | متى يتم استدعاؤه | |---|---|---| | OnTimer | يتم استدعاؤه بشكل دوري بناءً على فترة زمنية محددة. | كل عدد محدد من الثواني أو الدقائق. |
مثال: استخدام حدث OnTimer لتنفيذ عملية حسابية كل دقيقة:
```mql int timerHandle = 0;
void OnStart()
{ timerHandle = EventSetTimer(60); // قم بتعيين مؤقت للتشغيل كل 60 ثانية }
void OnTimer()
{ Print("تم استدعاء المؤقت!"); // يمكن هنا إضافة كود لتنفيذ عملية حسابية أو تحليلية. }
void OnStop()
{ EventKillTimer(timerHandle); // إيقاف المؤقت عند إيقاف الخبير المستشار }
```
أهمية الأحداث في التداول الآلي
الأحداث هي أساس التداول الآلي (Automated Trading) باستخدام الخبراء المستشارين. تسمح للأكواد بالاستجابة للتغيرات في السوق وتنفيذ الصفقات تلقائيًا بناءً على شروط محددة. من خلال فهم الأحداث المختلفة وكيفية استخدامها، يمكن للمطورين إنشاء أنظمة تداول قوية وفعالة.
روابط لمواضيع ذات صلة
- MQL4
- MQL5
- الخبير المستشار
- المؤشرات المخصصة
- أوامر التداول
- إدارة المخاطر
- تحليل البيانات
- التحليل الفني
- التحليل الأساسي
- استراتيجيات التداول
- تداول الأخبار
- تداول الاتجاه
- تداول الاختراق
- تداول الارتداد
- تداول النطاق
- مؤشر المتوسط المتحرك
- مؤشر القوة النسبية
- مؤشر الماكد
- مؤشر البولينجر باند
- حجم التداول
- أنماط الشموع اليابانية
- Fibonacci Retracements
- Elliott Wave Theory
- Ichimoku Cloud
- Volume Profile
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين