داخل المقال
اتصال MT5 لا يعني السماح بتنفيذ أوامر: فهم الصلاحيات ورموز الاستجابة
قد يظهر حساب التداول في لوحة التحكم بحالة «متصل» ومع ذلك يرفض الخادم أو الجهاز طلب شراء أو بيع. فالربط قد يتيح قراءة الرصيد والمراكز والأسعار من دون منح صلاحية إرسال الأوامر. يصبح هذا الفرق بالغ الأهمية عند ربط MetaTrader 5 بجسر معتمد أو بأداة تحليل مثل Disciply. يوضح هذا الدليل المراحل التي قد يفشل فيها الطلب، ولماذا قد تؤدي المحاولة الثانية المتسرعة إلى مشكلة أكبر. لا يفعّل الدليل التداول الآلي ولا يزيل قيود الوسيط ولا يعد بتنفيذ أي صفقة.
1. الاتصال والتصريح والتنفيذ حالات مختلفة
الاتصال الفني يبين أن الطرفية تستطيع التواصل مع خادم التداول. أما السماح بالتداول فيرتبط بنوع الحساب وقيود الوسيط وإعدادات البرنامج. ويثبت التنفيذ الحقيقي لاحقاً من خلال سجلات الأوامر والصفقات المنفذة. لذلك لا ينبغي تحويل عبارة «الحساب متصل» إلى «التداول متاح» أو «تم تنفيذ الأمر». لتشخيص المشكلة سجل نوع الحساب والخادم والرمز والتوقيت وما إذا كان الطلب قد أرسل فعلاً. نجاح قراءة سعر لا يثبت نجاح أي مرحلة تنفيذ لاحقة. اخف كلمات المرور وأرقام الحسابات عن الصور العامة.
2. ما الذي تؤكده دالة OrderSend فعلاً؟
تشرح وثائق MQL5 أن OrderSend ترسل بنية طلب MqlTradeRequest وتعيد تفاصيل النتيجة ضمن MqlTradeResult. لا يكفي نجاح القيمة المنطقية للدالة وحده لإثبات أن صفقة قد نُفذت. يجب فحص retcode والسجلات الفعلية للأمر والصفقة المنفذة عند انطباق ذلك. قد تضلل واجهة تكتب «تم قبول الطلب» من دون تحديد وضع الخادم. النقل والتحقق ووضع الأمر والتنفيذ مراحل مترابطة لكنها غير متطابقة. المصدر الرسمي: https://www.mql5.com/en/docs/trading/ordersend .
3. الرمز 10027: المنع من الطرفية المحلية
يعني TRADE_RETCODE_CLIENT_DISABLES_AT ورقمه 10027 أن التداول الآلي معطل على جانب طرفية العميل. لا يثبت هذا بمفرده أن كلمة المرور خطأ أو أن الوسيط بكامله متوقف أو أن سجل الصفقات اختفى. إنه يدل على حماية تتعلق بصلاحيات الأتمتة المحلية. قبل تغيير الإعدادات تأكد من أن مالك الحساب أجاز هذا النشاط وأن قواعد البرنامج تسمح به. الموافقة المعروضة في تطبيق ويب لا تلغي تلقائياً حماية MetaTrader الأصلية. قائمة الرموز: https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes .
4. الرمز 10026: المنع من خادم التداول
يشير TRADE_RETCODE_SERVER_DISABLES_AT ورقمه 10026 إلى أن الخادم عطل التداول الآلي. يختلف ذلك عن 10027، فتغيير خيار في الجهاز لا يضمن إزالة قيد صادر عن خادم الوسيط أو برنامج التقييم. قد يحتاج صاحب الحساب إلى استفسار رسمي من الوسيط أو مدير التحدي. لا تحاول تجاوز القيود بتبديل الأجهزة أو الحسابات. ينبغي للواجهة أن تصف هذه الحالة قيداً خارجياً يحتاج إلى تحقق، لا مشكلة يمكن وعد المستخدم بحلها بزر آلي واحد.
5. رموز أخرى تعني أسباباً مختلفة
الرمز 10017 يعني أن التداول معطل، و10018 أن السوق مغلق، و10019 نقص الأموال اللازمة، و10021 غياب سعر مناسب لمعالجة الطلب، و10031 مشكلة في الاتصال بالخادم. قد يشير 10016 إلى وقف غير صالح، و10015 إلى سعر غير صالح، و10014 إلى حجم تداول غير مسموح. هذه الحالات تحتاج تشخيصاً مختلفاً. ليس من الصحيح معالجة كل خطأ بطلب تفعيل Algo Trading. يجب أن تعرض الشاشة الرمز ومعناه والإجراء المناسب دون كشف بيانات حساسة في سجلات عامة.
6. أين تقع صلاحيات التداول الآلي في MetaTrader 5؟
تضع الوثائق الرسمية إعدادات Expert Advisors ضمن تكوين الطرفية. يمكن للخيار العام Allow Auto Trading منع السكربتات والخبراء من إرسال الأوامر رغم استمرارهم في التحليل. وقد يمتلك كل خبير آلي تصريحاً منفصلاً. وبحسب خيارات الحماية، قد يؤدي تبديل الحساب أو الملف الشخصي أو رمز الرسم أو إطاره الزمني إلى تعطيل الأتمتة تلقائياً. قبل تغيير أي إعداد تحقق من الحساب المعني ومن آثار المخاطرة. المرجع: https://www.metatrader5.com/en/terminal/help/startworking/settings .
7. الانتقال من التجريبي إلى الحقيقي حالة حساسة
قد ينتقل المستخدم من حساب محاكاة إلى حساب حقيقي فيجد أن التداول الآلي قد توقف بسبب آلية وقائية. الهدف منع استمرار برنامج ما في إرسال أوامر إلى حساب لم يقصده المستخدم. ظهور الحساب الجديد في تطبيق مرتبط لا يثبت أن صلاحيات الطرفية قد أجيزت من جديد. ليس من الحكمة إعادة تفعيل الأتمتة تلقائياً كلما اختير حساب آخر. الأفضل موافقة واضحة تخص الحساب المحدد مع مراجعة حجم المراكز والتعرض الكلي والهامش قبل السماح بأي نشاط جديد.
8. واجهة Python والخبراء الآليون وأمن المنصة
تفصل MetaTrader بين أذونات خبراء EA وإمكانية التداول عبر واجهة Python الخارجية. تذكر وثائق المنصة أن التداول الآلي باستخدام Python معطل افتراضياً لأسباب أمنية. لذلك لا يصح نصح الجميع بإيقاف جميع عناصر الحماية. كذلك قد تشكل إضافات DLL مجهولة المصدر وطلبات WebRequest إلى عناوين غير موثوقة مخاطر إضافية. قبل تفعيل أي جسر حدد البرنامج المسؤول والحساب والصلاحيات اللازمة وكيفية سحب الوصول. استخدم برامج موثوقة والحد الأدنى من الامتيازات ووثق الموافقة الخاصة بكل حساب.
9. التنفيذ الجزئي ليس رفضاً كاملاً
يشير 10009 إلى إتمام الطلب، بينما يشير 10010 إلى إتمام جزء منه فقط. أما 10008 فيدل على وضع أمر وليس بالضرورة فتح مركز منفذ بالكامل. لا ينبغي لدفتر التداول تحويل الحالات الثلاث إلى عبارة واحدة مثل «تمت الصفقة». عند التنفيذ الجزئي قارن الكمية المطلوبة بالمنفذة وما تبقى معلقاً. اربط سجلات التنفيذ بأرقام الأوامر والمراكز الحقيقية في الخادم. هذه الفروق تمنع احتساب نتائج زائفة عندما ينتج أمر واحد أكثر من عملية تنفيذ أو عندما لا يكتمل الحجم المرسل.
10. لماذا قد تكون إعادة المحاولة بعد timeout خطرة؟
عندما تضيع الاستجابة أو تنتهي المهلة، قد يبقى مصير الطلب مجهولاً؛ ليس من المؤكد دائماً أن الخادم لم ينفذ شيئاً. الضغط مرة ثانية على الفور قد ينشئ أمراً جديداً أو يتعارض مع طلب لا يزال قيد المعالجة. افحص أولاً الأوامر النشطة وسجلات الصفقات الأخيرة والحجم المتبقي وآخر حدث من الخادم ومعرف الطلب إن توفر. ينبغي للنظام أن يميز بين «لم يُرسل»، و«رُفض»، و«الحالة غير مؤكدة»، و«نُفذ وتم التحقق». فشل الشبكة ليس إذناً بإرسال أوامر مكررة أو وصف حساب غير مؤكد بأنه يعمل تماماً.
11. شخّص من دون تعريض أموال حقيقية للخطر
ابدأ ببيئة تجريبية وفحوص قراءة لا ترسل أوامر: تأكد من الخادم والحساب والصلاحيات وتوفر الرمز وتوقيت عمل السوق. سجل الرمز الرقمي الحقيقي وراجع وصفه في الدليل الرسمي. إذا كانت المشكلة مرتبطة بتصريح، اشرح الإعداد وخياره للمستخدم بدلاً من تغييره سراً. لا تختبر التنفيذ الحقيقي إلا في حدود التفويض الصريح وقيود الوسيط وبعد تقدير التعرض. لا يمكن افتراض أن نموذج موافقة في موقع ويب يضغط تلقائياً على نافذة أمان أصلية داخل MetaTrader.
12. التحديات تملك قواعد مستقلة
قد تستخدم Disciply Trading Challenge أو اختبارات التقييم الأخرى حسابات محاكاة وقواعد تختلف عن الحساب الشخصي. راجع قواعد الإصدار المعني ولا تنقل قيود شركة أخرى إلى Disciply لمجرد أن كلاهما يستخدم كلمة challenge. قد يُقبل أمر تقنياً لكنه يخالف شروط البرنامج. قبل تحديد حجم المخاطرة استخدم مواصفات العقد الحقيقية مع حاسبة حجم الصفقة والمخاطرة، وتحقق من الرافعة والهامش وفروق الأسعار لدى الوسيط.
13. كيف تعرض واجهة جيدة سبب فشل الطلب؟
ينبغي أن تسجل الرسالة توقيت الحدث والحساب بعد إخفاء معرّفه والرمز والإجراء المطلوب ورقم retcode وتفسيراً مفهوماً ومدى اليقين بشأن التنفيذ. كما يجب أن تميز بين منع محلي وقيد من الخادم وغياب الأسعار وانتهاء المهلة. عبارة «حاول مجدداً» غير كافية إذا كانت الصفقة قد نفذت فعلاً. يمنح رابط التوثيق الرسمي المستخدم أداة لفحص التفسير. أهم واجبات دفتر التداول ألا يختلق أوامر لم تحدث وألا يفقد عمليات تنفيذ حدثت بالفعل أثناء انقطاع الاتصال.
الخلاصة: سجل التنفيذ أهم من أي رسالة نجاح عامة
ليس السؤال الصحيح «هل MT5 متصل؟» فقط، بل «هل الحساب مخوّل، وهل الطلب صالح، وما رمز الاستجابة، وأي صفقة مؤكدة سجلها الخادم؟». يميز 10027 و10026 بين فئتين من القيود؛ وتصف 10009 و10010 و10008 مراحل مختلفة من قبول الأمر وتنفيذه. احتفظ بالأدلة وتجنب التكرار الأعمى ولا تلغِ إعدادات الحماية دون سبب موثق. هذا شرح تعليمي للسلامة التشغيلية، وليس دعوة لتفعيل تداول آلي أو نصيحة استثمارية فردية.
مقالات ذات صلة
مشاركة المقال
Disciply
هل تريد التداول بمنهج جاد؟
قلّل الارتجال والأخطاء الاندفاعية باستخدام قوائم التحقق وأسباب الدخول ومراجعات التداول.
حوّل كل صفقة إلى عملية واضحة وثابتة وقابلة للقياس.
العملية قبل النتيجة.
ابدأ مع Disciply
التعليقات
أحدث التعليقات
كل التعليقات