ZIMZIR · MT5 TROUBLESHOOTING

لماذا تظهر رسالة Invalid Volume في MT5؟

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

القاعدة الأساسية

لا تفترض أن أي رقم Lot صالح. اقرأ مواصفات الرمز أولًا، ثم اجعل الحجم متوافقًا مع Minimum وMaximum وStep وLimit.

معنى الخطأ

ماذا يعني Error 10014؟

في توثيق MQL5 الرسمي يحمل رمز خادم التداول TRADE_RETCODE_INVALID_VOLUME الرقم 10014، ويعني أن الحجم الموجود في طلب التداول غير صالح.

Trade Server Return Code

10014 · TRADE_RETCODE_INVALID_VOLUME

Invalid volume in the request.

كلمة Volume هنا تشير إلى حجم عملية التداول المرسلة إلى الخادم، وليس إلى حجم التداول التاريخي في السوق أو مؤشر Volume الموجود على الرسم البياني.

Symbol Specification

أربعة أرقام يجب أن تفحصها

مواصفات الرمز هي المرجع عند تحديد ما إذا كان حجم الصفقة مقبولًا. لا تعتمد على حجم استخدمته سابقًا في أداة مختلفة.

SYMBOL_VOLUME_MIN

الحد الأدنى للحجم

أصغر حجم صفقة يسمح به الرمز.

SYMBOL_VOLUME_MAX

الحد الأقصى للحجم

أكبر حجم مسموح به للعملية الواحدة وفق مواصفات الرمز.

SYMBOL_VOLUME_STEP

خطوة تغيير الحجم

تحدد مقدار الزيادة أو النقصان المسموح به بين أحجام التداول المقبولة.

SYMBOL_VOLUME_LIMIT

حد الحجم الإجمالي

يمكن أن يحدد الحد الأقصى لإجمالي المركز المفتوح والأوامر المعلقة في الاتجاه نفسه على الرمز.

Volume Step

لماذا يمكن أن يكون 0.13 صالحًا لأداة وغير صالح لأخرى؟

لأن حجم التداول لا يتحرك دائمًا بأي رقم عشري تريده. الرمز يحدد Volume Step خاصة به.

إذا كانت الخطوة المسموح بها مثلًا 0.10، فإن الحجم يجب أن يتوافق مع شبكة الأحجام التي تسمح بها مواصفات ذلك الرمز. لذلك لا يكفي أن يكون الرقم بين Minimum وMaximum.

لا تحفظ قاعدة مثل 0.01 لجميع الأسواق.

بعض الرموز قد تستخدم خطوات مختلفة. افحص Volume Step الفعلية لكل Symbol.

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

لماذا يرفض MT5 حجم الصفقة؟

01

الحجم أقل من الحد الأدنى

إذا كان الرمز يسمح مثلًا بحد أدنى معين للحجم، فإن إرسال قيمة أصغر منه قد يؤدي إلى رفض الطلب باعتباره حجمًا غير صالح.

02

الحجم أكبر من الحد الأقصى

لكل رمز حد أقصى يمكن السماح به للصفقة الواحدة. تجاوز هذا الحد قد يجعل الحجم المرسل غير صالح.

03

الحجم لا يطابق Volume Step

قد يسمح الرمز بتغيير الحجم بخطوات محددة فقط. إذا كانت القيمة بين الخطوات المسموح بها، يمكن أن يرفضها خادم التداول.

04

تجاوز Volume Limit

قد يوجد حد لإجمالي حجم المراكز المفتوحة والأوامر المعلقة في الاتجاه نفسه على الرمز. لذلك قد يكون حجم الصفقة منفردًا مقبولًا لكنه يتجاوز الحد عند جمعه مع التعرض الموجود.

05

خطأ في حساب EA أو Calculator

قد ينتج نظام حساب حجم الصفقة رقمًا عشريًا لا يتوافق مع خصائص الرمز، خصوصًا عند تحويل المخاطرة المالية إلى Lot بصورة آلية.

06

افتراض أن جميع الأدوات تستخدم نفس قواعد الحجم

الفوركس والذهب والمؤشرات والأسهم وغيرها قد تستخدم مواصفات مختلفة، لذلك لا يجب افتراض أن قواعد الحجم الصالحة لرمز ما صالحة لكل الرموز.

Volume Limit

الحجم الجديد قد يكون صالحًا منفردًا لكنه غير مقبول إجمالًا

Volume Limit يختلف عن Maximum Volume. الأول يمكن أن يقيّد إجمالي التعرض في الاتجاه نفسه، بينما Maximum Volume يصف الحد الأقصى للعملية الواحدة.

لذلك عند وجود مراكز مفتوحة أو Pending Orders يجب ألا تنظر إلى الطلب الجديد بمعزل عن التعرض الموجود.

مثال مفاهيمي

إذا كان الرمز يضع حدًا إجماليًا معينًا لاتجاه الشراء، فقد يكون طلب Buy جديد ضمن الحد الأقصى للصفقة الواحدة، لكنه يجعل مجموع مراكز وأوامر الشراء يتجاوز Volume Limit.

Maximum Volume وVolume Limit ليسا الشيء نفسه.

Position Sizing

ماذا لو أعطتك حاسبة المخاطرة حجمًا غير صالح؟

حاسبة حجم الصفقة قد تنتج رقمًا رياضيًا دقيقًا، لكن خادم التداول لا يقبل بالضرورة كل رقم عشري.

بعد حساب الحجم المطلوب من ناحية المخاطرة، يجب التأكد من أنه متوافق مع Minimum وMaximum وVolume Step الخاصة بالرمز.

لا ترفع الحجم تلقائيًا فقط للوصول إلى الخطوة التالية.

تقريب الحجم إلى الأعلى قد يزيد المخاطرة المالية عن المستوى الذي حسبته. يجب فهم أثر عملية التقريب قبل إرسال الطلب.

افهم حساب حجم الصفقة ←

خطوات التشخيص

افحص الحجم بالترتيب

الهدف ليس تجربة أحجام مختلفة حتى يقبل الخادم أحدها، بل تحديد الشرط الذي لا يطابقه الحجم الحالي.

01

حدد الحجم الذي تم إرساله فعليًا في الطلب.

02

افتح Symbol Specification للرمز.

03

راجع Minimal Volume.

04

راجع Maximal Volume.

05

راجع Volume Step.

06

راجع Volume Limit إذا كانت لديك مراكز أو أوامر معلقة على الرمز.

07

إذا كان الطلب من EA، اطبع الحجم النهائي بعد كل عمليات الحساب والتقريب.

08

راجع Trade Return Code للتأكد من أن الخطأ هو 10014 فعلًا.

Expert Advisor

لماذا يظهر Invalid Volume كثيرًا في الأنظمة الآلية؟

لأن الـEA يمكن أن يحسب الحجم من الرصيد أو نسبة المخاطرة أو مسافة Stop Loss، فتكون النتيجة قيمة عشرية لا تتوافق مباشرة مع قواعد الرمز.

لذلك يجب أن يقرأ النظام خصائص الحجم للرمز المستخدم بدل الاعتماد على قواعد ثابتة مبرمجة لرمز آخر.

SYMBOL_VOLUME_MIN

اقرأ الحد الأدنى بدل افتراض أن 0.01 مسموح دائمًا.

SYMBOL_VOLUME_MAX

امنع الطلب من تجاوز الحد الأقصى المسموح.

SYMBOL_VOLUME_STEP

اجعل الحجم النهائي متوافقًا مع خطوة الحجم الفعلية.

TRADE_RETCODE

سجّل Retcode والحجم النهائي الذي تم إرساله عند حدوث الرفض.

Partial Close

انتبه للحجم أيضًا عند الإغلاق الجزئي

قواعد الحجم لا تهم عند فتح المركز فقط. إذا حاول نظام التداول تنفيذ عملية بحجم لا يتوافق مع مواصفات الرمز أثناء إدارة مركز، فقد يفشل الطلب أيضًا.

لذلك عند بناء منطق الإغلاق الجزئي، يجب التأكد من أن حجم العملية الناتج متوافق مع قواعد الحجم، وأن الحجم المتبقي بعد العملية يعالج بصورة صحيحة وفق مواصفات الأداة والحساب.

لا تفترض أن نصف المركز رقم صالح تلقائيًا.

تقسيم حجم المركز رياضيًا قد ينتج قيمة لا تتوافق مع Volume Step الخاصة بالرمز.

لا تخلط الأخطاء

Invalid Volume لا يعني Not enough money

الحجم قد يكون غير صالح حتى عندما يحتوي الحساب على هامش كافٍ، كما أن الحجم قد يكون صالحًا من ناحية مواصفات الرمز لكنه يُرفض لاحقًا بسبب عدم كفاية الهامش.

10014

Invalid Volume

يتعلق بحجم التداول الموجود في الطلب.

10016

Invalid Stops

يتعلق بمستويات Stop Loss أوTake Profit أو مستويات أخرى في الطلب.

10019

Not enough money

يتعلق بعدم كفاية الأموال أو الهامش لإتمام الطلب.

الخلاصة

الحجم الصحيح ليس مجرد رقم بين الحد الأدنى والأقصى.

يجب أن يتوافق حجم الطلب مع Minimum Volume وMaximum Volume وVolume Step، ومع Volume Limit عند تطبيقه. وإذا كان الحجم محسوبًا آليًا، فافحص القيمة النهائية التي يرسلها النظام فعلًا بدل الاكتفاء بالقيمة النظرية قبل التقريب والمعالجة.

هذا المحتوى تعليمي عام. حدود وأحجام التداول المسموح بها تختلف حسب الرمز والحساب والوسيط وشروط السوق. راجع Symbol Specification الفعلية داخل MT5 عند تشخيص الطلب.