Arrays in MQL4: Difference between revisions
(@pipegas_WP) |
(No difference)
|
Revision as of 14:58, 22 April 2025
المصفوفات في لغة MQL4
المصفوفات هي هياكل بيانات أساسية في أي لغة برمجة، ولغة MQL4 ليست استثناءً. فهم المصفوفات أمر بالغ الأهمية لكتابة برامج تداول فعالة وفعالة في MetaTrader 4. هذه المقالة موجهة للمبتدئين وتهدف إلى تقديم شرح شامل للمصفوفات في MQL4، بدءًا من الأساسيات وصولًا إلى الاستخدامات الأكثر تقدمًا.
ما هي المصفوفة؟
ببساطة، المصفوفة هي مجموعة من العناصر من نفس النوع (مثل الأرقام أو النصوص) يتم تخزينها في مواقع ذاكرة متجاورة. تخيلها كقائمة مرقمة حيث يمكنك الوصول إلى كل عنصر باستخدام رقمه (يُعرف بالفهرس). في MQL4، تبدأ فهرسة المصفوفات من الصفر. على سبيل المثال، إذا كانت لديك مصفوفة تحتوي على خمسة عناصر، فإن الفهارس ستكون 0 و 1 و 2 و 3 و 4.
أنواع المصفوفات في MQL4
MQL4 تدعم أنواعًا مختلفة من المصفوفات:
- مصفوفات ثابتة: يتم تحديد حجمها في وقت التصريح ولا يمكن تغييره لاحقًا.
- مصفوفات ديناميكية: يمكن تغيير حجمها أثناء تنفيذ البرنامج.
التصريح عن المصفوفات
التصريح عن مصفوفة ثابتة:
```mql4 double MyArray[10]; // تصريح عن مصفوفة من النوع double بحجم 10 int IndexArray[5]; // تصريح عن مصفوفة من النوع int بحجم 5 string SymbolNames[3]; // تصريح عن مصفوفة من النوع string بحجم 3 ```
التصريح عن مصفوفة ديناميكية:
```mql4 double MyDynamicArray[]; // تصريح عن مصفوفة ديناميكية من النوع double ```
بعد التصريح عن مصفوفة ديناميكية، يجب عليك استخدام الدالة `ArrayResize()` لتحديد حجمها.
تهيئة المصفوفات
يمكن تهيئة المصفوفات عند التصريح عنها أو لاحقًا في الكود.
التهيئة عند التصريح:
```mql4 double Prices[] = {1.1000, 1.1010, 1.1020, 1.1030}; // تهيئة مصفوفة double بأربعة قيم ```
التهيئة لاحقًا:
```mql4 int Values[3]; Values[0] = 10; Values[1] = 20; Values[2] = 30; ```
الوصول إلى عناصر المصفوفة
للوصول إلى عنصر في المصفوفة، استخدم اسم المصفوفة متبوعًا بالفهرس بين أقواس مربعة.
```mql4 double price = Prices[2]; // الوصول إلى العنصر الثالث في مصفوفة Prices ```
دوال المصفوفات المدمجة في MQL4
MQL4 توفر عددًا من الدوال المدمجة للعمل مع المصفوفات. بعض الدوال الأكثر شيوعًا تشمل:
- `ArraySize()`: إرجاع حجم المصفوفة.
- `ArrayInitialize()`: تهيئة جميع عناصر المصفوفة بقيمة محددة.
- `ArraySort()`: فرز عناصر المصفوفة بترتيب تصاعدي أو تنازلي.
- `ArrayReverse()`: عكس ترتيب عناصر المصفوفة.
- `ArrayCopy()`: نسخ عناصر من مصفوفة إلى أخرى.
- `ArrayResize()`: تغيير حجم المصفوفة الديناميكية.
- `ArrayShift()`: تحريك عناصر المصفوفة.
- `ArrayFind()`: البحث عن قيمة في المصفوفة.
استخدامات المصفوفات في تداول الفوركس
المصفوفات مفيدة جدًا في العديد من تطبيقات تداول الفوركس، بما في ذلك:
- تخزين بيانات الأسعار التاريخية: يمكنك استخدام مصفوفة لتخزين سلسلة زمنية من أسعار الإغلاق، أو الأسعار المرتفعة، أو الأسعار المنخفضة. هذا مفيد لتطبيق التحليل الفني.
- تخزين قيم المؤشرات الفنية: يمكنك تخزين قيم المؤشرات الفنية مثل المتوسطات المتحركة، ومؤشر القوة النسبية (RSI)، والماكد (MACD) في مصفوفات.
- إدارة الصفقات: يمكنك استخدام مصفوفة لتتبع معلومات حول صفقاتك المفتوحة، مثل أزواج العملات، وأحجام الصفقات، وأسعار الدخول، وأسعار جني الأرباح، وأسعار وقف الخسارة.
- تنفيذ استراتيجيات التداول المعقدة: يمكن استخدام المصفوفات لتمثيل هياكل البيانات المعقدة اللازمة لتنفيذ استراتيجيات تداول متطورة.
- تحليل حجم التداول**: يمكن تخزين أحجام التداول في مصفوفات للتحليل.
مثال عملي: حساب متوسط متحرك بسيط
```mql4 double prices[] = {1.1000, 1.1010, 1.1020, 1.1030, 1.1040}; int period = 3; double sum = 0.0;
for(int i = 0; i < period; i++) {
sum += prices[i];
}
double movingAverage = sum / period; Print("Moving Average: ", movingAverage); ```
نصائح للمصفوفات في MQL4
- استخدم الأنواع المناسبة: اختر نوع البيانات المناسب لعناصر المصفوفة.
- تحقق من الحدود: تأكد من أن الفهرس الذي تستخدمه للوصول إلى عنصر في المصفوفة يقع ضمن نطاق المصفوفة. قد يؤدي الوصول إلى فهرس غير صالح إلى حدوث أخطاء في البرنامج.
- استخدم دوال المصفوفات المدمجة: استفد من الدوال المدمجة لتسهيل العمل مع المصفوفات.
- تحسين الأداء: بالنسبة للمصفوفات الكبيرة، ضع في اعتبارك استخدام المصفوفات الديناميكية إذا كان حجمها يتغير بشكل متكرر.
استراتيجيات تداول تعتمد على المصفوفات
- استراتيجية المتوسطات المتحركة المتقاطعة: تستخدم مصفوفات لتخزين قيم المتوسطات المتحركة المختلفة.
- استراتيجية الاختراق: تستخدم مصفوفات لتخزين مستويات الدعم والمقاومة.
- استراتيجية الماكد: تستخدم مصفوفات لتخزين قيم خطوط الماكد والإشارة.
- استراتيجية بولينجر باندز: تستخدم مصفوفات لتخزين قيم النطاق العلوي والسفلي.
- استراتيجية RSI: تستخدم مصفوفات لتخزين قيم مؤشر القوة النسبية.
- استراتيجية Ichimoku Cloud: تستخدم مصفوفات لتخزين مكونات Ichimoku Cloud.
- استراتيجية Fibonacci Retracement: تستخدم مصفوفات لتخزين مستويات Fibonacci.
- استراتيجية Price Action: تستخدم مصفوفات لتخزين أنماط الشموع اليابانية.
- استراتيجية Point and Figure: تستخدم مصفوفات لتخزين البيانات في مخطط Point and Figure.
- استراتيجية Elliott Wave: تستخدم مصفوفات لتخزين مستويات الموجات.
- استراتيجية Gann Analysis: تستستخدم مصفوفات لتخزين مستويات Gann.
- استراتيجية Momentum Trading: تستخدم مصفوفات لتحليل الزخم.
- استراتيجية Scalping: تستخدم مصفوفات لتحديد فرص التداول قصيرة الأجل.
- استراتيجية Swing Trading: تستخدم مصفوفات لتحديد نقاط الدخول والخروج للصفقات المتأرجحة.
- استراتيجية Position Trading: تستخدم مصفوفات لتحديد الاتجاهات طويلة الأجل.
التحليل الفني وحجم التداول والمصفوفات
- التحليل الفني يعتمد بشكل كبير على المصفوفات لتخزين ومعالجة بيانات الأسعار.
- حجم التداول يمكن تمثيله وتحليله باستخدام المصفوفات.
- نماذج الشموع اليابانية يمكن تخزينها وتحليلها باستخدام المصفوفات.
- مستويات الدعم والمقاومة يمكن تخزينها في مصفوفات.
- خطوط الاتجاه يمكن تمثيلها باستخدام المصفوفات.
الخلاصة
المصفوفات هي أداة قوية في MQL4 تسمح لك بتخزين ومعالجة كميات كبيرة من البيانات بكفاءة. من خلال فهم أنواع المصفوفات، وكيفية التصريح عنها، وتهيئتها، والوصول إلى عناصرها، يمكنك كتابة برامج تداول أكثر تعقيدًا وقوة. تدرب على استخدام المصفوفات في مشاريعك الخاصة لتطوير مهاراتك في البرمجة.
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

