P
PipsGrowth
متابعة الاتجاهمفتوح المصدر - مجاني

Pipsgrowth EX18103 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر

إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M1، H1

Pipsgrowth EX18103 TrendFollow — RSI + EMA reversal strategy that buys on oversold crossover and sells on overbought crossover, filtered by EMA slope and. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX18103 TrendFollow هو نظام انعكاس مزدوج المؤشرات مصمم لزوج XAUUSD على النطاق M1H1. يجمع بين مؤشر RSI بفترة 19 ومتوسط متحرك أسي EMA بفترة 140، ويبحث عن صفقات انعكاس في منطقتين متطرفتين: تُفعَّل صفقات الشراء عندما ينخفض مؤشر RSI للشمعة السابقة إلى 22 أو أقل، وتُفعَّل صفقات البيع عندما يصل إلى 93 أو أعلى. كلا العتبتين قابعتان بعيداً على مقياس RSI — الزوج 22/93 انتقائي تقريباً ضعفي عتبتي 30/70 التقليديتين، لذا لا تنبثق الإشارات إلا من حالات استسلام حقيقية، وليس من مجرد ارتدادات عادية. التصنيف كـ "TrendFollow" هو تصنيف المشروع؛ الكود الفعلي نظام انعكاس نحو المتوسط، ومرشح EMA يعزز ذلك بإغلاق المراكز كلما أصبح الاتجاه اتجاهياً جداً.

منطق الدخول شمعة بشمعة، محكوم بفترة تهدئة مخصصة. عند أول تيكة من كل شمعة جديدة على الإطار الزمني المُكوَّن (BarTimeFrame الافتراضي = 5 = PERIOD_H1)، ينسخ المستشار قيمتي RSI من مقبض iRSI(19)، ثم يقارنهما بقيمة RSI المخزنة من الاستدعاء السابق والمحفوظة في المتغير previousRSIDef. يُفعَّل الشراء عندما يكون currentRSI أعلى من 22 وكان previousRSIDef عند 22 أو أقل. يُفعَّل البيع عندما يكون currentRSI أقل من 93 وكان previousRSIDef عند 93 أو أعلى. بعد كل أمر، تمنع فترة تهدئة مدتها 209 ثانية إعادة الدخول؛ وبالاقتران مع بوابة الشمعة الجديدة، يمكن للنظام تنفيذ صفقة واحدة على الأكثر لكل شمعة جديدة، ثم ينتظر حوالي 3.5 دقائق قبل السماح بأخرى. تُرسل تذاكر الأوامر نفسها كأوامر سوق بأقواس SL/TP قدرها 0/0 عبر trade.Buy() و trade.Sell() مع ضبط السحر على 22218103 وتحمل انزلاق قدره 3 نقاط.

بمجرد فتح الصفقة، يراقب المستشار مؤشر RSI للخروج المتماثل: تُغلق صفقات الشراء عندما يصعد RSI إلى 86، وتُغلق صفقات البيع عندما يهبط RSI إلى 10. هذه الأهداف تبعد 64 و83 نقطة RSI عن عتبات الدخول على التوالي، مما يمنح الصفقة مجالاً للعودة إلى المتوسط قبل تفعيل الخروج. وقف الخسارة الوقائي ليس عدد نقاط ثابتاً — إنه وقف خسارة متحرك بعرض 295 نقطة تُديره دالة ApplyTrailingStop()، التي تستعرض المراكز المفتوحة كل تيكة، وتبحث عن حجم النقطة وعدد الخانات للرمز، وتُحكم قف وقف الخسارة نحو السعر (ولكن ليس ضده) بمجرد أن يتجاوز الربح 295 نقطة. مسافة التريل واسعة عن قصد: 295 نقطة تعادل نحو 2.95 دولار لصفقة XAUUSD بحجم 0.01 لوت، لذا لا يُحرَّك الوقف إلا بعد أن تحقق الصفقة عدة دولارات من الربح، ثم يقفل تدريجياً جزءاً أكبر من هذا الربح مع تقدم السعر. تعتمد دالة التريل على TryModify_EX18103، التي تُغلِّف trade.PositionModify في حلقة إعادة محاولة من ثلاث محاولات بفاصل 100 مللي ثانية لأخطاء إعادة التسعير والمهلة.

الخيار التصميمي المميز هو بوابة "عدم التداول" المعتمدة على EMA. بعد تحميل مخزن الـ EMA لفترة 140، يحسب المستعار كميتين مشتقتين: emaSlope = (currentEMA - previousEMA) * 100 و priceToEmaDistance = (close - currentEMA) * 10. إذا تجاوزت أي منهما عتبتها (105 و165 على التوالي) بالقيمة المطلقة، يعتبر النظام أن السوق اتجاهي جداً ويغلق قسرياً أي مركز مفتوح، ثم يتخطى الإدخالات الجديدة حتى يهدأ الميل والمسافة. القصد هو إبقاء منطق الانعكاس من الاصطدام بسكين ساقطة في اتجاه قوي. لاحظ أن كلا المدخلين مُقيَّسان — emaSlopeThreshold=105 يمثل في الواقع حركة خام قدرها 1.05 وحدة في EMA عبر شمعة واحدة، و emaDistanceThreshold=165 يمثل فاصلاً قدره 16.5 وحدة بين السعر وEMA. كلتاهما كبيرتان بما يكفي لأن البوابة لا تُفعَّل إلا على شموع اتجاهية واضحة، وليس على تذبذبات طفيفة.

تُدمج أيضاً مرشحات الوقت واليوم في مسار الدخول. تقرأ WeekDays_Check() يوم الأسبوع من خادم التداول بناءً على مدخلات الأعلام المنطقية، وبالإعدادات الافتراضية: الأيام الثلاثة الثلاثاء والأربعاء والخميس فقط هي المفعَّلة — الأحد والاثنين والجمعة والسبت جميعها false. بالاقتران مع نافذة الساعة (من 07:00 إلى 18:59 بتوقيت الخادم، حصرية الطرفين عبر فحص tradingHourTwoBegin=6، tradingHourTwoEnd=19)، يكون المستشار نشطاً فقط خلال تقاطع صباح أوروبا منتصف الأسبوع وافتتاح الجلسة الأمريكية. نافذة الساعة الأولى المُكوَّنة في المدخلات (tradingHourOneBegin=24 إلى tradingHourOneEnd=22) هي كود ميت: currentHour < 22 && currentHour > 24 دائماً خاطئ لأن 24 هي نهاية اليوم و22 قبلها. خارج النافذة النشطة، تستدعي OnTick() الدالة Close_Position_MN() لتسطيح أي مركز مفتوح وتعود. هذا يعني أن مركزاً فُتح الساعة 17:55 سيتم إغلاقه قسرياً بواسطة مرشح الساعة عند 18:00، حتى لو لم يُفعَّل خروج RSI.

بعض الملاحظات التصميمية الجديرة بالظهور للمتداولين. تحمل تذاكر التداول بلا SL/TP — الآلية الوقائية الوحيدة هي وقف الخسارة المتحرك، وبعد أن يتجاوز الربح 295 نقطة فقط. حجم اللوت ثابت عند 0.01؛ لا يوجد تحجيم بنسبة مخاطرة ولا تحجيم قائم على الرصيد، لذا فإن حجم المركز ثابت بصرف النظر عن حقوق حساب الملكية. الرقم السحر 22218103 مُكوَّد بشكل ثابت في مدخل MagicNumber. الدوال TryClose_EX18103 و TryClosePartial_EX18103 و TryModify_EX18103 مدمجة في مسار التداول مع حلقات إعادة محاولة 200 مللي ثانية/100 مللي ثانية لأخطاء إعادة التسعير والمهلة؛ فقط TryClose_EX18103 و TryModify_EX18103 تُستدعيان في مسار الكود الحي (لا استخدام إغلاق جزئي). ادعاء "12 layer" التسويقي في الترويسة طموح — في الكود الفعلي، تم تنفيذ SIGNAL + ENTRY + EXIT، بالإضافة إلى بوابة NO-TRADE (مرشح اتجاه EMA، مرشح الساعة، مرشح اليوم، فترة التهدئة) و MANAGE جزئية (وقف الخسارة المتحرك). لا يوجد تحجيم بنسبة مخاطرة، ولا غطاء CAP قائم على الرصيد، ولا مرشح أخبار، ولا مصنف نظام سوق، ولا تحجيم إغلاق جزئي، ولا مرور OnTester.

ما يمكن توقعه في الاختبار العكسي: مناطق 22/93 لـ RSI أحداث نادرة، لذا سيكون تكرار التداول منخفضاً — على الأرجح حفنة من الإعدادات أسبوعياً على H1 لـ XAUUSD، وأكثر على M1. وقف الخسارة المتحرك بعرض 295 نقطة واسع بمصطلحات الدولارات لكنه ضيق في سياق RSI بفترة 19، وفترة التهدئة البالغة 209 ثانية تمنع حالات الدخول السريعة عندما يُفعَّل نفس RSI المتطرف عبر شموع متعاقبة. مرشح يوم الثلاثاء-الخميس هو أكبر مصدر لتقليل التداول: حوالي 43% من الأسبوع يتم تجاوزه ببساطة. مجتمعةً، يجب أن يُنتج النظام صفقات انعكاس متفرقة تُغلق إما على هدف RSI أو على وقف الخسارة المتحرك، مع بوابة اتجاه EMA التي تعمل كتسطيح دفاعي خلال الحركات الاتجاهية القوية.

تفاصيل الاستراتيجية

يُهيِّئ EX18103 مؤشرين في OnInit()iRSI(19) و iMA(EMA, 140) — ويُحررهما في OnDeinit(). تبدأ OnTick() ببوابة شمعة جديدة مبنية على BarTimeFrame المُكوَّن، لذا المنطق الثقيل يعمل مرة واحدة لكل شمعة بدلاً من كل تيكة؛ داخل هذا التنفيذ الواحد، ينسخ المستشار قيمتي RSI وقيمة RSI المخزنة من الاستدعاء السابق في previousRSIDef، ثم يشغّل فحوصات اليوم والساعة والتهدئة وقوة الاتجاه قبل الوصول إلى كتلة الدخول. يستخدم كل من دخوّلي الشراء والبيع تقاطع RSI بشمعة واحدة ضد عتبات متطرفة (22 للشراء، 93 للبيع) ويصدران كأوامر سوق بدون SL/TP عبر trade.Buy() / trade.Sell(). كل تيكة — حتى على شموع تفشل في بوابة الشمعة الجديدة — تستعرض حلقة وقف الخسارة المتحرك المراكز المفتوحة، وتحسب النقطة والخانة الخاصة بالرمز، وتدفع SL أكثر إحكاماً مع تحرك السعر لصالح الصفقة. تُغلِّف مساعدات إعادة المحاولة TryClose_EX18103 و TryModify_EX18103 استدعاءات CTrade في حلقات إعادة محاولة 200 مللي ثانية/100 مللي ثانية لامتصاص أخطاء إعادة التسعير والمهلة قبل السقوط.

إشارة الدخول

عند أول تيكة من كل شمعة جديدة على الإطار الزمني المُكوَّن، يقرأ EX18103 قيمتي RSI(19) ويقارنهما بعتبيهما المتطرفتين. يُفعَّل دخول شراء عندما يكون RSI الحالي فوق 22 وكان RSI المخزن من الاستدعاء السابق (previousRSIDef) عند 22 أو أقل؛ ويُفعَّل دخول بيع عندما يكون RSI الحالي تحت 93 وكان previousRSIDef عند 93 أو أعلى. تمنع فترة تهدئة مدتها 209 ثانية الدخول التالي بعد كل تعبئة، وبوابة الشمعة الجديدة تعني إمكانية تفعيل دخول واحد على الأكثر لكل شمعة. لا تُفتح الصفقات إلا يوم الثلاثاء أو الأربعاء أو الخميس، بين الساعة 07:00 و18:59 بتوقيت الخادم، وفقط عندما يكون ميل EMA(140) ومسافة السعر-إلى-EMA تحت بوابات اتجاههما.

إشارة الخروج

تُراقب المراكز المفتوحة كل تيكة بحثاً عن مخارج RSI المتماثلة: تُغلق صفقات الشراء عندما يصل RSI إلى 86، وتُغلق صفقات البيع عندما يهبط RSI إلى 10. الآلية الوقائية هي وقف خسارة متحرك بعرض 295 نقطة تُديره دالة ApplyTrailingStop()، والتي تُحكم قف وقف الخسارة نحو السعر بمجرد أن يتجاوز الربح 295 نقطة ولا تحركه أبداً للخلف. يفرض مرشحا اليوم والساعة أيضاً تسطيحاً — يُغلق أي مركز لا يزال مفتوحاً عند الساعة 19:00 بتوقيت الخادم، أو في أي يوم خارج الثلاثاء-الخميس، بواسطة Close_Position_MN(). لا توجد SL/TP بنقاط ثابتة عند الدخول؛ فقط خروج RSI ووقف الخسارة المتحرك يمكنهما إغلاق المركز.

وقف الخسارة

لا يُرفق وقف ثابت عند فتح الأمر — تُرسل تذاكر التداول بأقواس SL/TP قدرها 0/0 عبر trade.Buy() و trade.Sell(). وقف الخسارة الوقائي هو وقف متحرك بعرض 295 نقطة لا يُفعَّل إلا بعد أن يتحرك السعر 295 نقطة في الربح، ثم يقفل تدريجياً جزءاً أكبر من الربح. بوابة اتجاه EMA هي طبقة دفاعية إضافية: إذا تجاوز |emaSlope| قيمة 105 أو تجاوز |priceToEmaDistance| قيمة 165، يُغلق المستشار قسرياً أي مركز مفتوح.

جني الأرباح

جني الأرباح مدفوع بمؤشر RSI، لا بالنقاط. تُغلق صفقات الشراء عندما يصعد RSI إلى 86، وتُغلق صفقات البيع عندما يهبط RSI إلى 10. لا يوجد جني أرباح بنقاط ثابتة مُرفق بتذكرة الأمر نفسها؛ يمكن لوقف الخسارة المتحرك أيضاً تحقيق الربح على طول الطريق. يعمل مرشح الساعة (قطع الساعة 19:00 بتوقيت الخادم) ومرشح اليوم (الثلاثاء-الخميس فقط) كجني أرباح ضمني من خلال تسطيح المركز في نهاية النافذة النشطة.

الأنسب لـ

الحد الأدنى للرصيد الموصى به: 100 دولار (حجم اللوت الثابت 0.01 يحافظ على استخدام الهامش منخفضاً على حسابات التجزئة). الاستراتيجية مبنية لزوج XAUUSD على النطاق M1-H1 — عند H1 مناطق 22/93 لـ RSI نادرة، فتُولِّد حفنة من الإعدادات أسبوعياً؛ عند M1 نفس المناطق تُفعَّل بشكل أكثر وفترة التهدئة البالغة 209 ثانية تصبح الخانق الرئيسي. يجب أن يستهدف إعداد الوسيط حساب ECN أو سبريد خام بزمن استجابة منخفض، لأن وقف الخسارة المتحرك يُعيد التسعير كل تيكة ومخارج RSI تعتمد على طبعات تيكة دقيقة؛ تحمل الانزلاق البالغ 3 نقاط ضيق افتراضياً. مرشح يوم الثلاثاء-الخميس ونافذة 07:00-19:00 بتوقيت الخادم يعنيان أن المتداولين الذين يعملون على خوادم بفارق توقيت UTC (مثل GMT+2 أو GMT+3) يجب أن يوافقوا جلستهم المحلية مع تقاطع أوروبا + أوائل الولايات المتحدة.

منطق الاستراتيجية

Pipsgrowth EX18103 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: TrendFollow الماجيك: 22218103 الإصدار: 2.00

الوصف: RSI + EMA reversal strategy that buys on oversold crossover and sells on overbought crossover, filtered by EMA slope and price-to-EMA distance. Includes trailing stop, cooldown, day-of- week filter, and trading hour windows. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • WeekDays_Init()
  • WeekDays_Check()
  • Close_Position_MN()
  • ApplyTrailingStop()
  • TimeHour()
  • TryClose_EX18103()
  • TryClosePartial_EX18103()
  • TryModify_EX18103()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18103 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// RSI + EMA reversal strategy that buys on oversold crossover and sells on overbought crossover, filtered by EMA slope and price-to-EMA distance. Includes trailing stop, cooldown, day-of- week filter, and trading hour windows. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: standard set
    Initialize state variables
    Detect broker GMT offset

ON_TICK:
    1. Refresh indicator buffers (closed-bar shift=1)
    2. Manage existing positions:
       - Break-even check
       - ATR trailing stop
       - Profit lock ratchet
       - Time-based exit
       - Opposite-signal exit
    3. If new bar:
       a. ClassifyRegime() — ADX/ATR/BB regime detection
       b. NoTradeGate() checks:
          - Market open + session filter
          - Spread limit
          - Cooldown after loss
          - Consecutive loss limit
          - Kill switch
          - Max drawdown
          - Max concurrent positions
          - Daily/weekly loss limits
       c. GenerateSignal() — strategy-specific entry logic
       d. CheckConfirm() — HTF alignment + R:R + ADX minimum
       e. Calculate position size from risk %
       f. Execute with retry logic
       g. Mark bar to prevent duplicates

ON_TESTER:
    Custom fitness = weighted(RecoveryFactor, ROI, ProfitFactor, TradeCount, Sharpe, Drawdown)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M1H1

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
MagicNumber22218103Magic Number
InpTradeComment"Psgrowth.com Expert_18103"Trade Comment
rsiPeriod19RSI period
overboughtLevel93Overbought level (RSI > 70 for sell)
oversoldLevel22Oversold level (RSI < 30 for buy)
lotSize0.01Trade lot size
slippage3Slippage for orders
cooldownSeconds209Cooldown period in seconds
TimeFrame11Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // RSI Timeframe
TimeFrame21Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // EMA Timeframe
BarTimeFrame5Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // EMA Timeframe
emaPeriod140EMA period
emaSlopeThreshold105EMA slope threshold for trend strength
SundayfalseSunday
MondayfalseMonday
TuesdaytrueTuesday
WednesdaytrueWednesday
ThursdaytrueThursday
FridayfalseFriday
SaturdayfalseSaturday
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18103.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18103 RSI_EMA_Reversal — RSI reversal with EMA slope filter and trailing stop, full 12-layer stack."

#include <Trade\Trade.mqh>

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
ENUM_TIMEFRAMES g_TimeFrame1 = PERIOD_H1;
ENUM_TIMEFRAMES g_TimeFrame2 = PERIOD_H1;
ENUM_TIMEFRAMES g_BarTimeFrame = PERIOD_H1;
input group "=== Trade Management ==="
input int MagicNumber = 22218103;    // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_18103"; // Trade Comment
input int rsiPeriod = 19;           // RSI period
input int overboughtLevel = 93;     // Overbought level (RSI > 70 for sell)
input int oversoldLevel = 22;       // Oversold level (RSI < 30 for buy)
input double entryRSIBuySpread = 0;
input double entryRSISellSpread = 0;
input double lotSize = 0.01;        // Trade lot size
input int slippage = 3;            // Slippage for orders
input int cooldownSeconds = 209;   // Cooldown period in seconds
input int TimeFrame1 = 1; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // RSI Timeframe
input int TimeFrame2 = 1; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // EMA Timeframe
input int BarTimeFrame = 5; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // EMA Timeframe
input int emaPeriod = 140;           // EMA period
input double emaSlopeThreshold = 105; // EMA slope threshold for trend strength
input double exitBuyRSI = 86;
input double exitSellRSI = 10;
input double TrailingStop  = 295;
input double emaDistanceThreshold = 165;
input int tradingHourOneBegin = 24;
input int tradingHourOneEnd = 22;
input int tradingHourTwoBegin = 6;
input int tradingHourTwoEnd = 19;

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex18103trendfollowpipsgrowthfreemt5xauusd

تحذير صريح: لأغراض تعليمية فقط

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

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX18103.mq5
حجم الملف15.0 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةمتابعة الاتجاه
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M1H1
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100