- بواسطة x32x01 ||
يعني إيه الحلقات التكرارية Loops؟ 🔁
الحلقات التكرارية (Loops) موجودة في كل لغات البرمجة تقريبًاوفكرتها ببساطة إنك تنفذ نفس الأوامر أكتر من مرة من غير ما تكرر الكود بإيدك.
مثلاً 🤔
لو عايز تطبع الأرقام من 1 لـ 100
مش منطقي تكتب 100 سطر
الحل؟ 👉 حلقة تكرارية 👍
أنواع الحلقات في MQL5 ⚙️
في MQL5 عندنا أكتر من نوع حلقاتبس أشهرهم وأهمهم:
- حلقة for
- حلقة while
حلقة for في MQL5 🔢
حلقة for هي الأكتر استخدامًا خصوصًا لما تكون عايز تكرر عدد معروف من المرات.شكلها الأساسي 👇
C++:
for(int i = 0; i <= 100; ++i)
{
// الكود اللي هيتكرر
} خلينا نفهم السطر ده واحدة واحدة 🧠
int i = 0
👉 تعريف عداد اسمه i وقيمته تبدأ من 0i <= 100
👉 شرط استمرار الحلقة++i
👉 زيادة قيمة العداد 1 بعد كل تكرار
forومفصولين بـ
[B];[/B]إزاي حلقة for بتشتغل؟ 🔄
- تبدأ بقيمة
i = 0 - تنفذ الكود اللي جوه
{ } - تزود
iواحد - تفحص الشرط
- لو الشرط متحقق 👉 تكمل
- لو الشرط فشل 👉 تطلع من الحلقة
{ }ممكن:
- سطر واحد
- كذا سطر
- أو حتى حلقة جوه حلقة 😎
حلقة while في MQL5 ⏳
حلقة while مختلفة شوية لأنها مفيهاش عداد افتراضيهي بتعتمد بس على شرط.
مثال 👇
C++:
while(k < n)
{
y = y * x;
k++;
} إزاي while بتشتغل؟ 🤔
- البرنامج يفحص الشرط الأول
- لو الشرط صح 👉 ينفذ اللي جوه الحلقة
- لو الشرط غلط 👉 يخرج فورًا
لازم الشرط يتغير جوه الحلقة وإلا هتدخل في حلقة لا نهائية ❌😱
حلقة do while - تنفيذ الأول وبعدين فحص 🔁
في نوع تاني من whileاسمه do while
C++:
do
{
i++; // من غير السطر ده الحلقة هتفضل شغالة للأبد!
}
while(i < 10); الفرق هنا إيه؟ 🤓
- الكود بيتنفذ مرة واحدة على الأقل
- بعد كده يتم فحص الشرط
- لو الشرط متحقق 👉 تكرار
- لو لأ 👉 خروج
خد بالك من الحلقات ⚠️
الحلقات التكرارية قوية جدًا -بس لو استخدمتها غلط ممكن:- تهنج البرنامج
- أو تبوّظ الإكسبرت
- أو تخلي المنصة تقفل 😬
- راجع الشروط كويس
- جرّب الكود على MetaEditor
- افهم كل مثال بإيدك ✍️
ملاحظة مهمة قبل ما نكمل 🚨
الدرس ده مهم جدًا جدًا جدًاومش هتعرف تكتب إكسبرت محترم
من غير ما تكون فاهم الحلقات صح 💪
📌 الدرس الجاي إن شاء الله
هيكون عن دالة IF الشرطية
وهي أساس اتخاذ القرار في أي برنامج 🔥
خليك متابع 😉🚀
التعديل الأخير: