دليل القواعد
جميع القواعد السبع في الإصدار v1 التي يمكنك إضافتها إلى المسار. قواعد التصفية تُسقط الإشارات، بينما تعدّلها قواعد التحويل.
نظرة عامة
القواعد هي وحدات المعالجة داخل سلسلة معالجة المسار. تعمل بترتيبها في المصفوفة من الأعلى إلى الأسفل على نسخة من الإشارة الأصلية خاصة بكل هدف. وتنقسم إلى فئتين:
- التصفية: تقيّم الإشارة ثم تسمح لها بالمتابعة أو تُسقطها. عند إسقاط إشارة، يُكتب سجل تسليم بالحالة
filteredمع تدوين اسم القاعدة. لا تعمل أي قواعد أخرى بعدها ولا يحدث أي إرسال إلى ذلك الهدف. - التحويل: يعدّل نسخة الإشارة (الرمز، الحجم، التعليق، وغير ذلك) ويتابع دائمًا. سجل الإشارة الأصلي لا يُمَس أبدًا.
ترتيب القواعد مهم
transform.symbol_map قبل filter.symbol_allowlist حتى ترى قاعدة التصفية رمز الوسيط، لا رمز المصدر.filter.symbol_allowlist
تُسقط الإشارات التي رمزها غير موجود في قائمة السماح. الإشارات التي يطابق رمزها إحدى القيم المدرجة هي وحدها التي تتابع إلى القاعدة التالية أو الهدف. المطابقة لا تفرّق بين الأحرف الكبيرة والصغيرة.
مخطط الإعدادات
{
"type": "filter.symbol_allowlist",
"enabled": true,
"config": {
"symbols": ["EURUSD", "GBPUSD", "XAUUSD"]
}
}jsonمتى تستخدمها
عندما يستقبل مصدرك إشارات لأدوات كثيرة، بينما ينبغي لهدف معيّن (مثل حساب MT5 متحفّظ) ألا يتداول سوى قائمة مختارة. أضف هذه القاعدة في أعلى سلسلة المعالجة حتى تُسقَط إشارات الرموز غير المدرجة قبل تشغيل أي تحويل.
filter.symbol_blocklist
تُسقط الإشارات التي رمزها موجود في قائمة الحظر. وهي عكس filter.symbol_allowlist: كل الرموز تمر باستثناء ما تحظره صراحةً. المطابقة لا تفرّق بين الأحرف الكبيرة والصغيرة.
مخطط الإعدادات
{
"type": "filter.symbol_blocklist",
"enabled": true,
"config": {
"symbols": ["BTCUSD", "ETHUSD"]
}
}jsonمتى تستخدمها
عندما تكون معظم الإشارات الواردة من مصدرك قابلة للتمرير دون مشكلة، لكن مجموعة صغيرة من الأدوات ممنوعة على حساب معيّن، مثل حظر أزواج العملات الرقمية لدى وسيط يفرض عليها رسوم تبييت مرتفعة.
filter.action_allowlist
تُسقط الإشارات التي إجراؤها غير موجود في قائمة السماح. المطابقة لا تفرّق بين الأحرف الكبيرة والصغيرة. من القيم الشائعة: buy, sell, closeall, buylimit, selllimit, buystop, sellstop.
راجع مرجع صيغة الإشارة للاطلاع على القائمة الكاملة للإجراءات المدعومة.
الإجراءات المتقدمة على MT5
مخطط الإعدادات
{
"type": "filter.action_allowlist",
"enabled": true,
"config": {
"actions": ["buy", "sell"]
}
}jsonمتى تستخدمها
عندما يجب أن يستقبل الهدف أوامر السوق فقط دون الأوامر المعلّقة أو إشارات الإغلاق. على سبيل المثال، يمكن قصر حساب MT5 يُدار باستراتيجية مخاطر محددة على buy وsell فقط، مع تجاهل إجراءات الأوامر المعلّقة والإغلاق الواردة من المصدر.
filter.time_window
تُسقط الإشارات المستلمة خارج جدول أسبوعي. تحدد كل نافذة يومًا من الأسبوع ووقت بداية ووقت نهاية بصيغة HH:MM بنظام 24 ساعة. تُقيَّم الأوقات وفق المنطقة الزمنية المضبوطة، وهي UTC افتراضيًا. يمكن تعريف عدة نوافذ لليوم نفسه أو لأيام مختلفة، ويمكن أن تمتد النافذة عبر منتصف الليل.
تُكتب الأيام برموز لاتينية صغيرة من ثلاثة أحرف: mon, tue, wed, thu, fri, sat, sun.
مخطط الإعدادات
{
"type": "filter.time_window",
"enabled": true,
"config": {
"tz": "America/New_York",
"windows": [
{ "day": "mon", "from": "09:30", "to": "16:00" },
{ "day": "tue", "from": "09:30", "to": "16:00" },
{ "day": "wed", "from": "09:30", "to": "16:00" },
{ "day": "thu", "from": "09:30", "to": "16:00" },
{ "day": "fri", "from": "09:30", "to": "16:00" }
]
}
}jsonمتى تستخدمها
عندما تريد تنفيذ الصفقات خلال ساعات السوق النشطة لمنطقة معيّنة فقط، أو عندما يكون أداء استراتيجيتك ضعيفًا حول الأحداث الإخبارية خارج الساعات المعتادة. المثال أعلاه يقصر الإشارات على ساعات جلسة الأسهم الأمريكية، من الاثنين إلى الجمعة.
transform.symbol_map
تعيد تسمية رمز الإشارة باستخدام جدول مطابقة. تعيد القاعدة كتابة الرمز إلى الاسم المعتمد لدى الوسيط قبل أن تستقبله أي تصفية أو هدف لاحق. يُحفظ الرمز الأصلي على الإشارة في المعامل originalSymbol.
مخطط الإعدادات
{
"type": "transform.symbol_map",
"enabled": true,
"config": {
"map": {
"GOLD": "XAUUSD",
"US30": "DJ30",
"OIL": "USOIL"
}
}
}jsonمتى تستخدمها
عندما يستخدم مصدر إشاراتك أسماء رموز عامة أو معتمدة في البورصات (مثل GOLD) بينما يستخدم وسيطك رمزًا مختلفًا (XAUUSD). أضف ما تحتاجه من رموز إلى الجدول. الرموز غير الموجودة في الجدول تبقى كما هي. ضع هذه القاعدة قبل أي تصفية تفحص أسماء الرموز.
transform.volume_scaler
تضرب حجم الإشارة في معامل ثابت قبل الإرسال. يجب أن يكون المعامل أكبر من صفر: القيم الأقل من 1 تقلّص حجم الصفقة، والقيم الأكبر من 1 تزيده. تُمرَّر النتيجة مباشرةً إلى الهدف، فتأكد من بقائها ضمن حدود حجم اللوت لدى وسيطك.
مخطط الإعدادات
{
"type": "transform.volume_scaler",
"enabled": true,
"config": {
"factor": 0.5
}
}jsonمتى تستخدمها
عندما تريد تشغيل الاستراتيجية نفسها بمستوى مخاطرة مختلف على حساب ثانٍ. أنشئ مسارًا منفصلًا بقيمة factor تساوي 0.5 لتقليص حجم الصفقة إلى النصف تلقائيًا، دون تغيير الإشارة الأصلية أو المسار الأساسي.
transform.comment_template
تحدد تعليق الصفقة باستخدام قالب يحتوي على عناصر نائبة. يُرفَق التعليق الناتج بكل أمر MT5 ينفّذه هذا المسار، مما يسهّل تتبّع مصدر الصفقة في سجل الأوامر لدى وسيطك.
مخطط الإعدادات
{
"type": "transform.comment_template",
"enabled": true,
"config": {
"template": "{symbol}-{action}-signalync"
}
}jsonيدعم القالب العناصر النائبة التالية، وتحل محل كل منها القيمة المقابلة من الإشارة: {symbol}, {action}, {volume}.
متى تستخدمها
عندما تدير عدة استراتيجيات أو حسابات وتريد أن يحمل كل أمر MT5 الرمز والاتجاه حتى تتمكن من تصفية سجل الأوامر لاحقًا.
عند إطلاق هدفي قناة Telegram و Discord، سيُستخدم القالب نفسه لتوليد نص رسالة الإشعار.