لماذا يمكن أن تبدو شمعة MT5 نفسها مختلفة على حسابات وسطاء مختلفين
لماذا قد تختلف شموع MT5 وقيم SMA وإشارات المؤشرات وسلوك الـ EA بين حسابات الوسطاء حتى عندما يبدو اسم الرمز نفسه.
لماذا يمكن أن تختلف شموع MT5
الشمعة ليست دائمًا بيانات سوق عالمية
عندما يبدأ الناس لأول مرة في بناء روبوتات تداول أو مؤشرات في MetaTrader 5، من السهل افتراض أن الشمعة هي جزء عالمي من بيانات السوق.
على سبيل المثال، قد تظن:
"شمعة H1 عند 20:00 بتاريخ 6 مايو 2026 يجب أن تكون نفسها في كل مكان."
لكن عمليًا، هذا ليس صحيحًا دائمًا.
قد يكون لديك طرفا MT5 يعملان في بلدين مختلفين، وكلاهما يعرض الشموع نفسها. ثم تفتح حسابًا آخر مع ما يبدو أنه الوسيط والرمز نفسيهما، وفجأة تصبح الافتتاح والإغلاق وقيم SMA أو إشارات المؤشرات مختلفة قليلًا.
تشرح هذه المقالة لماذا يحدث ذلك.
المفهوم الخاطئ: MT5 يستقبل شموعًا مكتملة
الرسوم البيانية الحية تُبنى من التيكات والاقتباسات
افتراض شائع هو أن MetaTrader 5 يستقبل بيانات الشموع بهذا الشكل:
يرسل الوسيط:
شمعة H1 عند 20:00
الافتتاح = 3300.20
الأعلى = 3312.50
الأدنى = 3298.10
الإغلاق = 3306.80
هذا ليس كيف تعمل الرسوم البيانية الحية عادةً.
على الرسم البياني الحي، يستقبل MT5 تدفقًا من تحديثات الأسعار من الوسيط. تُسمّى هذه التحديثات عادةً ticks أو quotes.
ثم يستخدم الطرف تلك الأسعار الواردة لبناء الشمعة الحالية.
لذلك بدلًا من استلام شمعة H1 كاملة، يستقبل MT5 تحديثات أسعار حية مثل:
20:00:01 السعر = 3300.20
20:00:08 السعر = 3301.10
20:01:15 السعر = 3302.70
20:02:03 السعر = 3299.80
...
20:59:47 السعر = 3306.80
ثم يبني MT5 الشمعة من تلك الأسعار.
كيف تُبنى الشمعة الحية
الطابع الزمني للشمعة يحدد بداية الفترة
لنقل إننا ننظر إلى شمعة H1 بالطابع الزمني:
2026.05.06 20:00
هذا لا يعني أن الشمعة حدثت فقط عند 20:00 بالضبط.
بل يعني أن الشمعة تغطي الفترة التي تبدأ عند 20:00 وتنتهي قبل أن تبدأ شمعة H1 التالية.
بعبارة بسيطة:
شمعة 20:00 = الأسعار من 20:00:00 وحتى قبل 21:00:00 بقليل
تُبنى الشمعة بهذه الطريقة:
الافتتاح = أول سعر تم استقباله في تلك الساعة
الأعلى = أعلى سعر تم استقباله خلال تلك الساعة
الأدنى = أدنى سعر تم استقباله خلال تلك الساعة
الإغلاق = أحدث سعر تم استقباله خلال تلك الساعة
بينما الشمعة ما تزال حية، فإن الإغلاق ليس نهائيًا.
يستمر الإغلاق بالتغير كلما وصل سعر جديد.
مثال على شمعة تتكوّن
الإغلاق يتغير حتى تكتمل الشمعة
على سبيل المثال:
20:00:01
الافتتاح = 3300.20
الأعلى = 3300.20
الأدنى = 3300.20
الإغلاق = 3300.20
20:10:00
الافتتاح = 3300.20
الأعلى = 3305.40
الأدنى = 3299.80
الإغلاق = 3303.10
20:45:00
الافتتاح = 3300.20
الأعلى = 3312.50
الأدنى = 3298.10
الإغلاق = 3309.70
20:59:47
الافتتاح = 3300.20
الأعلى = 3312.50
الأدنى = 3298.10
الإغلاق = 3306.80
بمجرد بدء شمعة H1 التالية، تُعتبر الشمعة السابقة مغلقة.
عمليًا، يحدث هذا غالبًا عند وصول أول تيك للساعة التالية.
من يحدد القيم النهائية للشمعة؟
تغذية الوسيط والوقت على الخادم يحددان الرسم البياني
تُحدَّد القيم النهائية للشمعة بواسطة تغذية الأسعار الحية للوسيط ووقت الخادم.
يبني طرف MT5 الرسم البياني محليًا، لكنه يبنيه من البيانات التي يوفرها خادم الوسيط.
لذا فالشمعة النهائية هي نتيجة:
تغذية أسعار الوسيط
+ وقت خادم الوسيط
+ مواصفات الرمز
+ إعدادات جلسة التداول
+ تدفق التيكات/الاقتباسات الذي يستقبله الطرف
موقعك الفعلي لا يهم عادةً.
يمكن لمتداول في لندن ومتداول في جنوب أفريقيا رؤية الشمعة نفسها تمامًا إذا كانا متصلين بخادم الوسيط نفسه، ويستخدمان نوع الحساب نفسه والرمز نفسه.
لكن خادم وسيط مختلف أو اختصاص حساب مختلف يمكن أن ينتج شموعًا مختلفة.
مثال: الوسيط نفسه، منطقة حساب مختلفة
بيئة الحساب أهم من موقع الطرف
افترض أن لديك ثلاثة أطراف MT5:
الطرف A:
الموقع: لندن
حساب الوسيط: Deriv جنوب أفريقيا
الرمز: XAUUSD
الطرف B:
الموقع: جنوب أفريقيا
حساب الوسيط: Deriv جنوب أفريقيا
الرمز: XAUUSD
الطرف C:
الموقع: لندن
حساب الوسيط: Deriv الإمارات
الرمز: XAUUSD
قد يعرض الطرف A والطرف B قيم الشمعة نفسها لأنهما متصلان بالبيئة الجانبية للوسيط نفسها.
قد تكون لديهما:
- الخادم نفسه
- تغذية الرمز نفسها
- المنطقة الزمنية للخادم نفسها
- مواصفات الرمز نفسها
- بناء الشمعة نفسه
لكن الطرف C قد يختلف لأن حساب الإمارات قد يتصل بخادم Deriv مختلف أو بيئة تداول مختلفة.
قد يكون لدى ذلك الحساب:
- وقت خادم مختلف
- تغذية سيولة مختلفة
- إعدادات رمز مختلفة
- نموذج سبريد مختلف
- جلسات تداول مختلفة
- ترشيح اقتباسات مختلف
- بيانات تاريخية مختلفة
حتى لو بدا اسم الرمز نفسه، فقد لا تكون بيئة البيانات الفعلية متطابقة.
مشكلة الطابع الزمني
شمعة 20:00 هي وفق وقت خادم الوسيط
أحد أكبر مصادر الالتباس هو وقت الشمعة.
عندما يعرض MT5 شمعة H1 عند:
20:00
فإن ذلك الوقت يعتمد على وقت خادم الوسيط، وليس بالضرورة وقت جهازك المحلي.
لذلك يمكن لحسابين أن يعرضا شمعة تحمل التسمية:
20:00
لكن قد تشير تلك الشموع إلى فترات UTC مختلفة في العالم الحقيقي.
على سبيل المثال:
خادم الوسيط A:
20:00 وقت الخادم = 18:00 UTC
خادم الوسيط B:
20:00 وقت الخادم = 16:00 UTC
يعرض كلا الرسمين شمعة 20:00، لكن الشموع لا تغطي الساعة نفسها في العالم الحقيقي.
وهذا يعني أن الافتتاح والأعلى والأدنى والإغلاق والمؤشرات كلها يمكن أن تختلف.
لماذا تتأثر الأطر الزمنية الأعلى أكثر
وقت الخادم يشكّل شموع H1 وH4 وD1 وW1
يصبح هذا مهمًا بشكل خاص للأطر الزمنية الأعلى مثل:
- H1
- H4
- D1
- W1
كلما كان الإطار الزمني أعلى، ازدادت أهمية وقت الخادم.
قد تفتح وتغلق شمعة D1 لدى وسيط ما في وقت مختلف في العالم الحقيقي عن شمعة D1 لدى وسيط آخر.
يمكن أن يؤثر ذلك على:
- القمم والقيعان اليومية
- إغلاقات الشموع اليومية
- المتوسطات المتحركة
- ATR
- مستويات الاختراق
- مناطق الدعم والمقاومة
- نتائج الاختبار الخلفي
- دخول وخروج الـ EA
لماذا قد يختلف SMA
تُحسب المؤشرات من بيانات شموع خاصة بالوسيط
لا يُحسب SMA من مصدر بيانات سوق عالمي.
بل يُحسب من إغلاقات الشموع المتاحة على ذلك الرسم البياني تحديدًا.
على سبيل المثال، SMA لمدة 10 فترات على H1 يُحسب من آخر 10 إغلاقات لشموع H1.
تبسيطًا:
SMA = متوسط آخر 10 إغلاقات
لذا إذا كان لدى حسابي وسيطين إغلاقات H1 مختلفة قليلًا، فستكون لديهما أيضًا قيم SMA مختلفة قليلًا.
هذا يعني أن التالي يمكن أن يحدث:
الحساب A:
السعر يغلق تحت SMA
الـ EA يفعّل إعداد بيع
الحساب B:
السعر يغلق فوق SMA قليلًا
الـ EA لا يفعّل
قد تكون المنصتان تعملان بشكل صحيح. إنهما فقط تستخدمان بيانات شموع أساسية مختلفة.
استراتيجيات تتأثر باختلاف الشموع
الإغلاقات الدقيقة قد تغيّر الإشارات الدقيقة
هذا مهم خصوصًا للاستراتيجيات التي تعتمد على إغلاقات الشموع الدقيقة، مثل:
- استراتيجيات تقاطع SMA
- استراتيجيات الاختراق
- نماذج شموع الرفض
- منطق القمم/القيعان المتأرجحة
- استراتيجيات النطاق اليومي
- أنظمة الصندوق المعتمدة على ATR
قد تكون فروقات الشموع الصغيرة كافية لتغيير إشارة أو فلتر أو قرار إدارة صفقة.
الرسم البياني الحي مقابل الرسم البياني التاريخي
الشموع الحالية تتغير تيكًا بتيك
على الرسم البياني الحي، يبني MT5 الشمعة الحالية من التيكات الحية الواردة.
بالنسبة للشمعة الحالية، في MQL5:
iClose(_Symbol, PERIOD_H1, 0)
تعيد أحدث إغلاق حي لشمعة H1 التي تتكوّن حاليًا.
يمكن أن تتغير تلك القيمة تيكًا بتيك.
يتم الوصول إلى الشمعة السابقة عبر:
iClose(_Symbol, PERIOD_H1, 1)
وهذه هي آخر شمعة H1 مُغلقة.
ومع ذلك، حتى تلك القيمة المغلقة جاءت في الأصل من تدفق التيكات الحي للوسيط. لم تكن قيمة عالمية مشتركة بين جميع الوسطاء.
لقد تشكّلت داخل بيئة ذلك الوسيط/الحساب/الخادم.
لماذا يهم ذلك للمستشارين الخبراء (Expert Advisors)
يمكن للكود نفسه أن يتصرف بشكل مختلف على بيانات مختلفة
إذا كنت تبني EA، فإن هذا السلوك مهم جدًا.
قد تتصرف استراتيجية تعمل على خادم وسيط ما بشكل مختلف قليلًا على خادم وسيط آخر، حتى مع نفس الكود ونفس معلمات الإدخال.
على سبيل المثال:
الوسيط A:
إغلاق H1 يعبر تحت SMA
الـ EA يجهّز صندوق اختراق
الوسيط B:
إغلاق H1 لا يعبر تحت SMA
الـ EA لا يفعل شيئًا
أو:
الوسيط A:
ATR اليومي = 24.5
الوسيط B:
ATR اليومي = 26.1
يمكن لهذا الفرق الصغير أن يغيّر:
- حجم الصندوق
- وقف الخسارة
- جني الأرباح
- توقيت الدخول
- حساب المخاطرة
- تكرار الصفقات
- نتائج الاختبار الخلفي
- النتائج الحية
هذا لا يعني أن MT5 معطّل.
بل يعني أن الـ EA حساس للبيانات.
بناء شموع الوسيط جزء من بيئة التداول.
كيفية مقارنة حسابين بشكل صحيح
اطبع بيانات الشموع الفعلية
إذا أردت مقارنة حسابين على MT5، فلا تكتفِ بالنظر إلى الرسم البياني بصريًا.
اطبع البيانات الفعلية.
على سبيل المثال، في MQL5 يمكنك مقارنة:
void OnStart()
{
MqlRates rates[];
ArraySetAsSeries(rates, true);
int copied = CopyRates(_Symbol, PERIOD_H1, 0, 20, rates);
Print("Account server: ", AccountInfoString(ACCOUNT_SERVER));
Print("Symbol: ", _Symbol);
Print("TimeTradeServer: ", TimeTradeServer());
for(int i = 0; i < copied; i++)
{
Print(
"shift=", i,
" time=", TimeToString(rates[i].time, TIME_DATE | TIME_MINUTES),
" open=", DoubleToString(rates[i].open, _Digits),
" high=", DoubleToString(rates[i].high, _Digits),
" low=", DoubleToString(rates[i].low, _Digits),
" close=", DoubleToString(rates[i].close, _Digits),
" tick_volume=", rates[i].tick_volume
);
}
}
شغّل هذا على كلا الحسابين وقارن:
- اسم الخادم
- اسم الرمز
- الطابع الزمني للشمعة
- الافتتاح
- الأعلى
- الأدنى
- الإغلاق
- حجم التيك
قارن خصائص الرمز أيضًا
قد لا تكون التغذية هي الاختلاف الوحيد
يجب عليك أيضًا مقارنة خصائص الرمز:
void OnStart()
{
Print("Server: ", AccountInfoString(ACCOUNT_SERVER));
Print("Symbol: ", _Symbol);
Print("Digits: ", SymbolInfoInteger(_Symbol, SYMBOL_DIGITS));
Print("Point: ", SymbolInfoDouble(_Symbol, SYMBOL_POINT));
Print("Tick size: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE));
Print("Contract size: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE));
Print("Currency profit: ", SymbolInfoString(_Symbol, SYMBOL_CURRENCY_PROFIT));
}
أحيانًا لا يكون الاختلاف فقط في تغذية الشموع.
قد يكون للرمز نفسه إعدادات عقد مختلفة.
الخلاصة العملية
شمعة MT5 تنتمي إلى بيئة وسيط محددة
شمعة MT5 ليست ببساطة "شمعة السوق".
إنها:
شمعة لرمز محدد،
على خادم وسيط محدد،
باستخدام تغذية أسعار ذلك الوسيط،
وباستخدام وقت خادم ذلك الوسيط.
لذا إذا كان طرفان متصلين بخادم الوسيط نفسه وبيئة الحساب نفسها، فعادةً ينبغي أن يعرضا الشموع الحية نفسها، حتى لو كان الطرفان في بلدين مختلفين.
لكن إذا اتصل حساب آخر بكيان وسيط مختلف أو خادم مختلف أو تغذية رمز مختلفة، فقد تختلف الشموع.
وهذا يفسّر لماذا:
حساب Deriv جنوب أفريقيا في لندن
=
حساب Deriv جنوب أفريقيا في جنوب أفريقيا
لكن:
حساب Deriv الإمارات في لندن
!=
حساب Deriv جنوب أفريقيا في لندن
موقع الطرف ليس العامل الرئيسي.
خادم الوسيط والتغذية هما العاملان.
الخلاصة النهائية
استراتيجيتك تتداول نسخة الوسيط من السوق
بالنسبة للمتداولين يدويًا، يفسّر هذا لماذا قد تختلف الرسوم البيانية قليلًا بين الحسابات.
وبالنسبة لمطوري الـ EA، فهو أهم بكثير: اختلافات الشموع يمكن أن تغيّر الإشارات والاختبارات الخلفية والدخول والخروج والربحية.
عند بناء روبوت تداول، تذكر دائمًا:
استراتيجيتك لا تتداول السوق فقط.
بل تتداول نسخة الوسيط من السوق.
تعرّف أكثر على MT5 وكيف تعمل أدوات Lanami على المنصة.
راجع عوامل الوسيط التي يمكن أن تؤثر على التنفيذ والسبريد وسلوك تداول الاختراق.
اطّلع على نظام تداول الاختراق الآلي المُصمم لتنفيذ MT5 بانضباط.