etrink← الصفحة الرئيسية

كيف تكتب روبوت MetaTrader 5 ‏(Expert Advisor) وتشغّله

آخر تحديث: أكتوبر 2026

روبوت MetaTrader 5 — واسمه الرسمي Expert Advisor (EA) أو «المستشار الخبير» — هو برنامج صغير يراقب السوق وينفّذ الصفقات نيابةً عنك وفق قواعد تحددها أنت. يرشدك هذا الدليل للمبتدئين خطوة بخطوة إلى كتابة أول EA لك بلغة MQL5، واختباره بأمان، وصياغة مسودة له بالذكاء الاصطناعي، وتشغيله على مدار الساعة.

ما هو Expert Advisor؟

الـ EA كود يُرفق برسم بياني في منصة MetaTrader 5 لسطح المكتب. في كل مرة يتغيّر فيها السعر (أي مع كل تيك)، يستدعي MT5 الروبوت، فيستطيع قراءة المؤشرات وفتح المراكز وإغلاقها وإدارة أوامر الإيقاف. تُكتب روبوتات EA بلغة MQL5 الشبيهة بـ C++، باستخدام MetaEditor المرفق مع MT5.

مهم: تعمل روبوتات EA على منصة سطح المكتب فقط. يتيح لك تطبيق MT5 للهاتف التداول يدويًا، لكنه لا يشغّل الروبوتات.

ما الذي تحتاجه

  • MetaTrader 5 لسطح المكتب (من وسيطك أو من metatrader5.com) — ويأتي MetaEditor ضمنه.
  • حساب تجريبي لدى وسيطك. لا تبدأ أبدًا بحساب حقيقي.
  • مجموعة قواعد واضحة: متى تدخل، ومتى تخرج، وكم تخاطر.

بنية الـ EA

  • OnInit() تعمل مرة واحدة عند بدء الروبوت — لإنشاء مقابض (handles) المؤشرات والتحقق من المدخلات.
  • OnTick() تعمل مع كل تغيّر في السعر — وفيها يكمن منطق التداول الخاص بك.
  • OnDeinit() تعمل عند إزالة الروبوت — لتحرير الموارد.
  • متغيرات input تتحول إلى إعدادات يمكنك تغييرها دون تعديل الكود.

أول EA لك: تقاطع المتوسطات المتحركة

في MetaEditor اختر ملف ← جديد ← Expert Advisor (قالب)، وأعطه اسمًا، ثم استبدل الكود بما يلي:

#include <Trade\Trade.mqh>

input int    FastMA = 10;      // fast average
input int    SlowMA = 30;      // slow average
input double Lots   = 0.01;    // lot size
input ulong  Magic  = 260101;  // tags this robot's orders

CTrade trade;
int hFast, hSlow;

int OnInit() {
  hFast = iMA(_Symbol, _Period, FastMA, 0, MODE_SMA, PRICE_CLOSE);
  hSlow = iMA(_Symbol, _Period, SlowMA, 0, MODE_SMA, PRICE_CLOSE);
  if (hFast == INVALID_HANDLE || hSlow == INVALID_HANDLE) return INIT_FAILED;
  trade.SetExpertMagicNumber(Magic);
  return INIT_SUCCEEDED;
}

void OnDeinit(const int reason) {
  IndicatorRelease(hFast);
  IndicatorRelease(hSlow);
}

void OnTick() {
  static datetime lastBar = 0;
  datetime bar = iTime(_Symbol, _Period, 0);
  if (bar == lastBar) return;            // decide once per new candle, not every tick
  lastBar = bar;

  double f[2], s[2];                     // [0] = two bars ago, [1] = last closed bar
  if (CopyBuffer(hFast, 0, 1, 2, f) < 2 || CopyBuffer(hSlow, 0, 1, 2, s) < 2) return;

  bool crossUp   = f[0] <= s[0] && f[1] > s[1];
  bool crossDown = f[0] >= s[0] && f[1] < s[1];
  bool hasPos    = PositionSelect(_Symbol);

  if (crossUp && !hasPos)  trade.Buy(Lots, _Symbol);
  if (crossDown && hasPos) trade.PositionClose(_Symbol);
}

يشتري الروبوت عندما يتقاطع المتوسط السريع صعودًا فوق المتوسط البطيء، ويغلق المركز عندما يتقاطع هبوطًا. وهو لا يتخذ القرار إلا مرة واحدة مع كل شمعة جديدة، مما يمنع تكرار الأوامر، ويوسم صفقاته بـ magic number لتمييزها عن صفقاتك اليدوية أو صفقات الروبوتات الأخرى.

الترجمة البرمجية: ‎.mq5 ← ‎.ex5

اضغط F7 (ترجمة) في MetaEditor. إذا لم تظهر أخطاء فستحصل على ملف .ex5 — وهو ما يشغّله MT5. اقرأ كل تحذير في تبويب الأخطاء (Errors)؛ فمعظم مشكلات المبتدئين تظهر هنا.

الاختبار الرجعي في Strategy Tester

  1. في MT5 افتح عرض ← مختبر الاستراتيجيات (Strategy Tester، ‏Ctrl+R).
  2. اختر الروبوت والرمز والإطار الزمني ونطاقًا زمنيًا لا يقل عن سنة.
  3. استخدم وضع «كل تيك استنادًا إلى التيكات الحقيقية» للحصول على أكثر النتائج واقعية.
  4. انظر إلى صافي الربح وأقصى تراجع (drawdown) وعدد الصفقات — لا إلى الربح وحده.

الاختبار الرجعي الجيد ليس وعدًا. الأسواق تتغير، وقد يخسر في التداول الحقيقي روبوتٌ بدا ممتازًا على البيانات التاريخية.

تشغيله على رسم بياني

  1. اسحب الروبوت من نافذة المستكشف (Navigator) إلى رسم بياني.
  2. في الإعدادات فعّل خيار السماح بالتداول الآلي (Allow Algo Trading) واضبط المدخلات.
  3. شغّل زر Algo Trading في شريط الأدوات. ظهور أيقونة نشطة على الرسم البياني يعني أن الروبوت يعمل.
  4. راقب تبويبَي الخبراء (Experts) والسجل (Journal) لمتابعة الرسائل والأخطاء.

كتابة EA بالذكاء الاصطناعي

تستطيع مساعدات الذكاء الاصطناعي (ChatGPT وClaude وغيرها) صياغة مسودة كود MQL5 بسرعة. أعطها قواعد دقيقة:

اكتب Expert Advisor لـ MetaTrader 5 بلغة MQL5.
الاستراتيجية: اشترِ عندما يتقاطع SMA ذو الفترة 10 صعودًا فوق SMA ذي الفترة 30 على الرسم البياني الحالي،
وأغلق المركز عندما يتقاطع هبوطًا تحته. مركز واحد فقط في كل مرة.
المتطلبات: استخدم CTrade، ومُدخل input للـ magic number وآخر لحجم اللوت، واتخذ القرار عند شمعة جديدة فقط،
وتحقّق من نتيجة كل صفقة واطبع رمز الخطأ باستخدام Print، ولا تستخدم Sleep() ولا استيراد DLL.
أضف تعليقات قصيرة.

ثم تعامل مع النتيجة كأنها كود كتبه شخص غريب:

  • ترجمه برمجيًا وأصلح كل خطأ — فالذكاء الاصطناعي كثيرًا ما يخلط بين دوال MQL4 وMQL5.
  • راجع منطق حجم اللوت والمخاطرة سطرًا سطرًا.
  • تأكد من أن لكل أمر وقف خسارة أو مخرجًا واضحًا، وmagic number فريدًا.
  • اختبار رجعي أولًا، ثم أسابيع على حساب تجريبي، وبعدها فقط التداول الحقيقي.

تشغيله على مدار الساعة

لا يعمل الـ EA إلا ما دامت المنصة مفتوحة ومتصلة. إذا دخل حاسوبك في وضع السكون أو انقطع الإنترنت، يتوقف الروبوت. الخيارات: إبقاء حاسوب يعمل دائمًا، أو استئجار VPS بنظام Windows، أو استخدام سحابة مُدارة. على etrink ترفع ملف .mq5 أو .ex5 في صفحة إضافة روبوت — فنترجمه ونعرض لك أي أخطاء ونضعه على منصة MT5 الخاصة بك التي تعمل دائمًا؛ ويمكنك متابعة الشاشة المباشرة من هاتفك.

قائمة التحقق قبل التشغيل الحقيقي

  • اختُبر رجعيًا على فترة طويلة وفي ظروف سوق متعددة.
  • عمل على حساب تجريبي لأسابيع بنتائج تفهمها.
  • المخاطرة لكل صفقة محددة، وأقصى تراجع يمكنك تقبّله محدد.
  • وقف خسارة ومخرج لكل مركز، وmagic number فريد.
  • ابدأ التداول الحقيقي بأصغر حجم لوت.
تحذير من المخاطر. ينطوي تداول الفوركس/عقود الفروقات (CFD) بالرافعة المالية على مخاطر عالية بخسارة كامل إيداعك؛ ومعظم حسابات الأفراد تخسر المال. لا تشغّل أبدًا على حساب حقيقي روبوتًا لم تختبره. اقرأ إفصاح المخاطر.

الأسئلة الشائعة

هل أحتاج إلى معرفة البرمجة لتشغيل روبوت MT5؟

لا. يمكنك تشغيل Expert Advisor جاهز (.ex5) دون أي برمجة. أما لكتابة روبوتك الخاص فتفيدك أساسيات MQL5 — أو يمكنك صياغة مسودة بمساعد ذكاء اصطناعي ثم اختبارها بعناية.

ما الفرق بين ‎.mq5 و‎.ex5؟

‎.mq5 هو الكود المصدري الذي تحرّره في MetaEditor، أما ‎.ex5 فهو الملف المُترجَم الذي يشغّله MetaTrader 5 فعليًا.

هل يمكنني تشغيل روبوت MT5 على هاتفي؟

لا. تطبيق MetaTrader 5 للهاتف لا يستطيع تشغيل Expert Advisors. تحتاج الروبوتات إلى منصة سطح المكتب تعمل على مدار الساعة — على حاسوبك أو على VPS أو على سحابة مُدارة مثل etrink.

كم من الوقت يجب أن أختبر الروبوت قبل التشغيل على حساب حقيقي؟

اختبره أولًا اختبارًا رجعيًا في Strategy Tester (مختبر الاستراتيجيات)، ثم شغّله على حساب تجريبي لعدة أسابيع على الأقل وفي ظروف سوق مختلفة قبل المخاطرة بأموال حقيقية.

ابدأ مجانًا — شغّل الـ EA الذي اختبرته على منصة MT5 تعمل دائمًا في السحابة. ذو صلة: شغّل EA على MT5 على مدار الساعة بدون VPS.