كيف يتم حساب مستشاري MT4 الخبراء: الصيغة والمعلمات ومتطلبات البيانات
ماذا يعني “الحساب” بالنسبة لمستشار MT4 الخبير
لا يقوم مستشار MT4 الخبير (EA) عادةً بحساب “صيغة” ثابتة واحدة مثل ورقة عمل رياضية. بدلًا من ذلك، يقوم المستشار الخبير باستمرار بتقييم القواعد المكتوبة في الكود. في كل حدث (غالبًا تكت جديد للأسعار و/أو افتتاح شريط)، يقرأ البيانات المتاحة، ويحسب أي قيم للمؤشرات يستخدمها (إن وُجدت)، ثم يطبق منطقَه لاتخاذ قرار بشأن إجراءات الأوامر التي يحاول تنفيذها.
لذلك، أفضل طريقة لشرح “كيف يتم حسابه” هي وصف مسار تنفيذ المستشار الخبير:
- جمع المدخلات (بيانات السوق والوقت، بالإضافة إلى معلمات الإعداد)،
- حساب القيم الوسيطة (غالبًا مخرجات المؤشرات أو تعبيرات مخصصة)،
- تطبيق شروط القرار (قواعد if/else)،
- حساب معلمات الأوامر (مثل أسعار الدخول/الخروج ومنطق تحديد حجم الصفقة، إذا كان المستشار يتضمن ذلك)،
- إرسال الأوامر أو إدارتها (وفقًا لقيود المنصة والوسيط).
يفصل هذا الإطار بين الآليات الثابتة (كيفية تنظيم الكود وتقييمه) والظروف المتغيرة (كيفية وصول الأسعار، والتكاليف، وجودة التنفيذ).
نموذج “الحساب” الأساسي: مدخلات → دوال → قرارات → إجراءات
يمكن كتابة حلقة مستشار خبير عامة كنموذج مجرد:
-
المدخلات عند الزمن t:
- سلسلة الأسعار المطلوبة من المستشار (مثل bid/ask، open/high/low/close، الأحجام، اعتمادًا على ما يطلبه الكود)،
- سياق الوقت الحالي (وقت الخادم و/أو فهرس الشريط)،
- المعلمات المُهيأة من إعدادات المستشار (مثل أطوال lookback، والعتبات، ومعلمات المخاطر، وحدود التداول)،
- متغيرات حالة اختيارية (المراكز المفتوحة الحالية، الإجراءات السابقة، الأعلام الداخلية).
-
الحسابات الوسيطة:
- دوال شبيهة بالمؤشرات، إذا كان المستشار يستخدمها (مثل المتوسطات المتحركة أو المذبذبات المحسوبة عبر نافذة متحركة)،
- تعبيرات مخصصة يكتبها مؤلف المستشار.
-
قواعد القرار:
- شروط منطقية (Boolean) تحدد ما إذا كان يُسمح بإجراء ما، مثل: “إذا كان شرط الدخول صحيحًا ولم يتم الوصول إلى حد التداول”.
-
حسابات الإجراءات:
- معلمات الأوامر المستمدة من القرار، مثل مستوى الدخول المقصود، ومستويات stop/limit، ومنطق تحديد الحجم (إذا كان المستشار يتضمنه).
-
نتيجة التنفيذ:
- ما إذا كانت المنصة/الوسيط يقبل الطلب، وما هو السعر الذي تم تعبئته فعليًا.
في الواقع، يحدد كود المستشار الخبير الدوال والعتبات الدقيقة، لذلك يمكن لمستشارين مختلفين أن “يحسبا” بطرق مختلفة تمامًا بينما يظلان يتبعان خطًا أنبوبيًا مشتركًا.
المعلمات ومتطلبات البيانات التي يجب عليك سردها لإعادة إنتاج منطق المستشار
لشرح حساب المستشار الخبير بشكل مستقل، تحتاج إلى تحديد كل مدخل يعتمد عليه. الفئات الشائعة هي:
-
مدخلات بيانات السوق عادةً ما يقرأ المستشار الخبير سلاسل الأسعار المتاحة لـ MT4 وقت التشغيل و/أو في الاختبارات الخلفية. النقطة الحاسمة هي أن المستشار الخبير “يحسب” فقط مما يمكنه الوصول إليه: إذا كان كود المستشار يستخدم bid/ask، فإن spread يصبح جزءًا من حساباته؛ وإذا كان يستخدم أشرطة OHLC، فإن قواعد تكوين الشريط تصبح مهمة.
-
الوقت وتوقيت التقييم يعمل العديد من المستشارين على:
- كل تكت وارد،
- أو كل شريط جديد (افتتاح شريط)،
- أو كليهما.
وهذا يؤثر على الأسعار التي تُدرج في نوافذ المؤشرات وعلى التوقيت الدقيق الذي يتم عنده تشغيل قرار ما.
- معلمات التهيئة هذه هي إعدادات المستشار التي يحددها المستخدم. أمثلة نموذجية (موصوفة بشكل عام) تشمل:
- أطوال lookback للحسابات المتحركة،
- قيم العتبات للشروط،
- حدود عدد المراكز أو وتيرة التداول،
- مسافات stop-loss/take-profit أو منطقها،
- قواعد اختيارية للتدرج أو المتوسط.
-
سياق الحالة والمركز تعتمد بعض القواعد على التعرض الحالي: ما إذا كان هناك مركز موجود، وعدد الصفقات المفتوحة، واتجاهها، وما إذا كان يجب على المستشار إدارتها.
-
افتراضات مرتبطة بالتنفيذ حتى إذا كان المستشار يحسب أسعارًا مقصودة، تتفاعل المنصة في النهاية مع بيئة تنفيذ قد تطبق قيودًا (مثل الحد الأدنى للمسافة بين الأوامر، ومستويات freeze) وقد يتم تعبئة الأوامر بأسعار محققة.
مثال ملموس على “الحساب” دون افتراض أسعار حية
لفهم الآلية بوضوح، لنفترض مستشارًا خبيرًا يستخدم متوسطًا متحركًا (rolling average) كجزء من شروطه. قد تبدو البنية العامة كما يلي (بشكل مجرد):
- عند الزمن t، احسب قيمة:
- MA(t) = متوسط آخر N أسعار إغلاق (يقرر مؤلف المستشار التعريف الدقيق).
- ثم طبق شرط قرار:
- إذا كان السعر الحالي مقارنةً بـ MA(t) يحقق عتبة، فاسمح بطلب دخول.
- إذا كان الدخول مسموحًا، احسب معلمات الأوامر:
- مستويات stop/limit المقصودة بناءً على مسافات أو مستويات مُهيأة.
- يرسل المستشار الطلب، ثم يديره لاحقًا (إذا كانت منطق الإدارة موجودة).
تعتمد الصيغة الدقيقة لـ MA(t) على تعريف المؤشر الذي اختاره المستشار، لكن الفكرة العامة تبقى: يحسب المستشار كميات وسيطة من نوافذ تاريخية ثم يستخدم هذه النتائج في منطق Boolean.
قيود مادية وأنماط فشل
حتى عندما يكون كود المستشار حتميًا (deterministic) مع نفس المدخلات، غالبًا ما تختلف النتائج الواقعية لأن سلسلة المدخلات والتنفيذ ليست متطابقة بين البيئات.
-
عدم تطابق الاختبار الخلفي مع التنفيذ الحقيقي (backtest-to-live mismatch) قد لا تعكس البيانات التاريخية المستخدمة في الاختبار البنية الدقيقة المستقبلية للسوق. كذلك، قد تختلف طريقة نمذجة MT4 للتكتات وتعبئة الأوامر عن التنفيذ الحقيقي. وهذا يعني أن حسابًا يبدو متسقًا في بيئة ما قد يتصرف بشكل مختلف في بيئة أخرى.
-
spread والتكاليف وجودة التعبئة إذا كان المستشار يستخدم bid/ask، فإن التكاليف وتغيرات spread تغيّر المدخلات الفعالة. بالإضافة إلى ذلك، قد “يحسب” المستشار سعرًا مقصودًا، لكن الوسيط يعبئ بسعر قابل للتحقق قد ينحرف.
-
توفر البيانات وحالات حافة نوافذ المؤشرات إذا طلب المستشار طول lookback أكبر من التاريخ المتاح عند بدء التشغيل، فقد تكون الحسابات المبكرة غير مكتملة أو تتصرف بشكل مختلف. تحدث مشكلات مشابهة عندما لا يتوافق تكوين الأشرطة مع توقيت تقييم المستشار.
-
اختلافات التعامل مع الحالة تخزن بعض المستشارين حالة داخلية (أعلام، عدادات، أوقات آخر إجراء). إذا تمت تهيئة هذه الحالة بشكل مختلف أو إذا غيّرت الإعدادات، فقد تتباين النتائج.
-
قيود المنصة والوسيط قد يفشل قبول الأمر إذا كانت المعلمات تخالف القيود. في مثل هذه الحالات، قد ينتج المستشار “قرارًا” صحيحًا، لكن المنصة قد لا تنفذه كما هو متوقع.
كيفية التحقق من الحساب بشكل مستقل
يمكنك التحقق من “حساب” المستشار الخبير عبر مراجعة ما يفعله كوده فعليًا:
- سرد المدخلات: وثّق حقول الأسعار وأحداث الوقت التي يقرأها.
- تحديد الحسابات الوسيطة: أعد إنتاج كل دالة يستدعيها (بما في ذلك صيغ المؤشرات المستخدمة من قبل المستشار).
- تسجيل شروط القرار: حوّل قواعد Boolean الخاصة بالمستشار إلى لغة واضحة.
- تتبع منطق معلمات الإجراء: حدّد كيف يحسب مستويات الأوامر وتحديد الحجم (إن كان موجودًا).
- اختبار الافتراضات: قارن النتائج تحت مجموعات بيانات تاريخية مختلفة أو إعدادات نمذجة تنفيذ مختلفة لمعرفة أي الأجزاء حساسة.