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

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

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

Pipsgrowth EX18031 TrendFollow — Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يبني Pipsgrowth EX18031 منطق تداوله على ملاحظة بصرية قابلة للتكرار: على الإطار الزمني السريع، يقضي السعر معظم وقته متكتلاً حول المتوسط المتحرك الأسي قصير الفترة، واللحظات التي يبتعد فيها فعلاً عن هذا التكتل هي وحدها الجديرة بالتداول. يعرّف EA هذا التكتل كحزمة عرضها InpBandMult * ATR(14) على جانبي متوسط أسي طوله InpEMALength = 10 — متوسط مُنعَّم بأسلوب غاوسي لعشرة أعمدة. تُفعَّل إشارة الشراء عند أول عمود مغلق يدفع إغلاقه فوق الحزمة العلوية بمقدار InpBreakDistATR = 0.30 * ATR على الأقل، وبحيث يكون جسم الشمعة 60% على الأقل من المدى الكامل للعمود. يجب أن يبقى الإغلاقان السابقان تحت الحزمة ليكون الاختراق جديداً وليس استمراراً متأخراً، وأن يميل المتوسط الأسي نفسه للأعلى. تعكس إشارة البيع نفس الشرط ضد الحزمة السفلية. تُعيد ComputeSignal() قيمة ±1 مع درجة ثقة افتراضية 60، تُضاف إليها 15 نقطة إذا كان النظام الحالي مؤهلاً كترند، و15 نقطة إضافية إذا كان هذا الترند قوياً.

قبل السماح بأي أمر، يمر EA بيئة الشمعة الحالية عبر مصنف نظام من 7 حالات داخل UpdateRegime(). تُقرأ قيم ADX(14) وATR(14) وحزمة بولينجر للفترة 20 بانحراف 2.0 على العمود المغلق. يجب أن يتجاوز الـ ATR بوحدات السعر InpATRMinPrice = 0.30 لإبقاء EA بعيداً عن جلسات الذهب منخفضة التذبذب حيث يأكل السبريد الحركة. إذا كانت قراءة ADXInpADXMinTrend = 20.0 وكان عرض بولينجر يتسع (بأكثر من 5% مقارنة بالعمود السابق)، يكون النظام REG_STRONG_TREND. ADX ≥ 20 وحده يعني REG_WEAK_TREND. اتساع العرض بلا ADX يعني REG_EXPAND. انضغاط العرض يعني REG_COMPRESS. نسبة width/ATR أعلى من 3 تعني REG_BREAKOUT. أي شيء آخر هو REG_RANGE، والحالة الوحيدة المحظورة حظراً قاطعاً هي REG_CHOPPY التي تُضبط تلقائياً عند سقوط الـ ATR تحت الحد الأدنى. تذكر NoTradeReason() سبب REGIME_CHOPPY صراحة، مما يفرض وضعاً مسطحاً في السوق الهادئ.

لا تُحاول أي صفقة إلا إذا كانت بوابة عدم التداول نظيفة. تجمع البوابة بين حد أقصى InpMaxConcurrent = 3 صفقات مفتوحة وEX_MAX_SYMBOL_POS = 3 صفقات لكل رمز، ونافذة خادم من EX_SESSION_START إلى EX_SESSION_END بين 08:00 و22:00، ومفتاح InpKillSwitch اليدوي، وسقف سبريد InpMaxSpreadPoints = 50، وحد خسارة يومية 3% بالنسبة إلى رأس المال الفعال، وفترة تهدئة مدتها ساعة تُفعَّل بعد EX_COOLDOWN_LOSSES = 3 خسائر متتالية. تضيف NewsBlock() نافذتين ثابتتين للتعتيم — 12:30 و14:00 بتوقيت الخادم، كل منها بحاشية EX_NEWS_BLOCK_MIN = 30 دقيقة — وهي تقريب بسيط لأشهر أوقات إصدارات البيانات الأمريكية من دون الحاجة إلى موجز أخبار خارجي. عندما يكون العمود قيد المعالجة (تُرجع IsNewBar() القيمة false)، يُحدِّث EA منطق التتبع فقط، لكن يتم حجب الدخول الجديد — محاولة واحدة فقط لكل عمود مغلق عبر حارس g_lastEntryBarTime.

التأكيد داخل Confirm() قصير لكنه منضبط. يجب أن يتفق متوسط الاتجاه للإطار الزمني الأعلى (hHTF = iMA(InpTrendEMA = 50) على الإطار الزمني المختار من InpHTF = 6PERIOD_H4) مع اتجاه الإشارة: الشراء يتطلب أن يكون سعر العرض فوق EMA(50) للإطار H4، والبيع يتطلب أن يكون تحته. يجب أن تكون نسبة مضاعفات TP/SL InpATR_TP_Mult / InpATR_SL_Mult على الأقل 1.0 (الإعدادات الافتراضية 1.5 / 1.2 = 1.25 تجتاز طبيعياً). يجب أن يبقى ATR(14) للشمعة المغلقة فوق الحد الأدنى. إذا فشل أي فحص، تُعيد Confirm() سبباً نصياً ويُتخطى الدخول.

حجم الصفقة هو نسبة المخاطر القياسية: تقسم CalcLot() قيمة effective_capital * InpRiskPercent / 100 على خسارة اللوت الواحد بالدولار عند مسافة ATR للدخول، ثم تُقيِّد بخطوة حجم الرمز وحدوده. يكون EffectiveCapital() هو min(InpCapitalCapAmount, equity) عندما يكون InpCapitalCapAmount > 0، وإلا فهو كامل حقوق الملكية؛ مع الافتراضي 0.0 يكون السقف معطلاً ويُستخدم كامل الرصيد. لا يزال InpCapitalCapFloor = 50.0 يحجب الدخول الجديد عندما تكون حقوق الملكية صغيرة جداً لحجم لوت منطقي. تتحقق MarginOK() من كفاية الهامش قبل إرسال trade.Buy() / trade.Sell(). يعيد المساعد التجاري المحاولة مرة واحدة في حالة إعادة التسعير أو انتهاء المهلة.

بمجرد الدخول في الصفقة، تعمل ManagePositions() على كل تيك. يُغلق الخروج من الإشارة المعاكسة (EX_OPP_EXIT) المركز فوراً عند الانعكاس. يُغلق الخروج من تغير النظام (EX_REGIME_EXIT) المركز إذا انتقل النظام إلى REG_RANGE أو REG_CHOPPY — أي عندما يموت الترند الذي بُررَّ به الدخول. يُفعَّل الخروج الزمني عند InpMaxBarsInTrade = 240 شمعة (20 ساعة على M5). يُفعَّل وقف التعادل عندما يصل السعر إلى 1R: يُنقل وقف الخسارة إلى سعر الدخول مضافاً إليه مستوى الوقف عند الوسيط بالسعر. يُغلق جني الأرباح الجزئي نصف المركز عند 0.5 * InpATR_TP_Mult * ATR(14) من سعر الدخول (أي 0.75× ATR للإعدادات الافتراضية). يتدرج وقف التتبع عند InpATRTrailMult = 2.0 × ATR، مع احترام مستوى وقف الوسيط. تمر كل استدعاءات التعديل عبر TryModify_EX18031() مع حلقة من 3 محاولات تنام 100 مللي ثانية في حالة إعادة التسعير/انتهاء المهلة. EX_PYRAMID_ON مُعطَّل برمجياً بشكل ثابت، لذا فإن الإضافة إلى صفقة رابحة معطلة عمداً — كل دخول إشارة جديدة مستقلة.

للضبط، أهم الروافع هي مضاعف الحزمة (InpBandMult) ومسافة الاختراق (InpBreakDistATR). رفع InpBandMult إلى 1.21.5 يقلل الإشارات إلى أشد حالات الانفصال؛ خفضه إلى 0.5 يزيد التكرار. حد ADX (InpADXMinTrend) هو مفتاح التشغيل/الإيقاف لتحمل الترند — اتركه عند 20 لنطاق ADX المعتاد للذهب 18–28، ارفعه إلى 25–30 لطلب حركة مؤكدة قبل الدخول. اختيار الإطار الزمني الأعلى (InpHTF = 6 = H4) مناسب لـ M5: EMA(50) للإطار H1 يميل لأن يكون مفرط التفاعل على الذهب، بينما يعمل الإطار اليومي لكنه يولد إشارات على حدود اليوم فقط. يعطي زوج TP/SL (InpATR_TP_Mult = 1.5، InpATR_SL_Mult = 1.2) نسبة مخاطرة إلى عائد 1.25:1 على مستوى الصفقة، لكن مجموعة BE+الجزئي+التتبع تحوّل ذلك إلى نسبة محققة أفضل بكثير عند الربح. توقع نسبة إصابة في نطاق 35–50%، مع أداء الجزء الأكبر من العمل على جانب الربح عبر الجزئي والتتبع.

حالة الاستخدام العملية هي تداخل لندن–نيويورك على الذهب، حيث يتجاوز ATR 0.30 بشكل موثوق وتعطي حزم الاختراق 2–4 إشارات لكل جلسة. عادةً ما تتوافق نافذة 08:00–22:00 للخادم في هذا EA مع هذا التداخل بحسب فرق توقيت GMT للوسيط، وتساعد حالات التعتيم عند 12:30/14:00 على تجنب الوقوع في ارتفاع مفاجئ عند صدور البيانات الأمريكية. هذه ليست استراتيجية تتطلب سبريد منخفض — سقف 50 نقطة سبريد متساهل — لكن على حسابات ECN الرفيعة يمكن تضييق فلتر السبريد إلى 25–30 لتجنب اتساع ما بعد ساعات التداول الذي يشتهر به الذهب.

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

يقيس EX18031 الفجوة بين EMA(10) وسعر إغلاق العمود المغلق، ثم يُفعِّل الإشارة عندما تتجاوز تلك الفجوة 0.85× ATR(14) مع شمعة ذات جسم قوي وظل الإغلاقان السابقان داخل الحزمة. تقرأ UpdateRegime() قيم ADX(14) وATR(14) وعرض بولينجر(20, 2.0) على نفس العمود لاختيار إحدى الحالات السبع — STRONG_TREND أو WEAK_TREND أو RANGE أو BREAKOUT أو COMPRESS أو EXPAND أو CHOPPY — وCHOPPY هي الحالة الوحيدة التي تحجب الدخول حظراً قاطعاً. حد خسارة يومية 3%، وتهدئة ساعة بعد ثلاث خسائر متتالية، ونافذة الخادم 08:00–22:00، وحالات تعتيم الأخبار 12:30/14:00، وسقف سبريد 50 نقطة، وحد أقصى 3 مراكز مفتوحة على الرمز — كل ذلك يحرس الدخول، بينما يعمل EMA(50) للإطار H4 كفلتر اتجاه. تعمل إدارة الصفقة على كل تيك: إغلاق من الإشارة المعاكسة، إغلاق من تغير النظام إلى RANGE/CHOPPY، خروج زمني عند 240 شمعة، نقطة تعادل عند 1R، إغلاق نصفي 50% عند 0.75× ATR، ووقف تتبع 2.0× ATR إلى الأمام فقط — كل ذلك عبر حلقات إعادة محاولة من 3 محاولات عند إعادة التسعير وانتهاء المهلة.

إشارة الدخول

تُفعَّل عند عمود مغلق يدفع إغلاقه فوق حزمة ATR العلوية (EMA(10) ± 0.85 × ATR(14)) بمقدار لا يقل عن 0.30 × ATR، مع جسم شمعة قوي (60% على الأقل من مدى العمود) وظل الإغلاقان السابقان داخل الحزمة. تعكس إشارة البيع نفس الشرط على الحزمة السفلية. يجب أن يتفق EMA(50) للإطار الزمني الأعلى على H4 مع اتجاه الإشارة، وتُسجَّل درجة الثقة عند 60 افتراضياً، +15 إذا كان النظام ترنداً، +15 إضافية إذا كان ترنداً قوياً.

إشارة الخروج

يُغلق بناءً على ثلاثة محفزات تعمل بالتوازي: الخروج من الإشارة المعاكسة عندما تنقلب إشارة ComputeSignal()، والخروج من تغير النظام عندما يهبط المصنف إلى REG_RANGE أو REG_CHOPPY، والخروج الزمني عند 240 شمعة على M5 (نحو 20 ساعة). يُغلق جني الأرباح الجزئي نصف المركز عند 0.75× ATR(14) من سعر الدخول، ثم يتدرج وقف التتبع عند 2.0× ATR إلى الأمام فقط فوق سعر الدخول.

وقف الخسارة

وقف الخسارة الأولي على بعد 1.2× ATR(14) تحت سعر الدخول للشراء / فوقه للبيع، مع تطبيق حد أدنى لمستوى وقف الوسيط عبر StopsLevelPoints(). يُنقل بعد ذلك وقف الخسارة إلى نقطة التعادل (الدخول ± مستوى الوقف بالسعر) بمجرد أن يصل السعر إلى +1R، ثم يتولى وقف التتبع عند 2.0× ATR المهمة. البيرميد معطل برمجياً بشكل ثابت، لذا فإن وقف الخسارة لا يُحكم إلا على دخول واحد.

جني الأرباح

جني الأرباح الأولي على بعد 1.5× ATR(14) من سعر الدخول (1.25:1 R:R مع وقف 1.2× ATR)، لكن الخروج المحقق يأتي عادةً من الإغلاق النصفي عند 0.75× ATR مع وقف التتبع عند 2.0× ATR. نسبة 1.25:1 الاسمية هي قاعدة منخفضة — معظم الصفقات الرابحة ستصبح 2–4× ATR بمجرد تفعيل التتبع، وتتجمع الخاسرات قرب وقف 1.2× ATR.

الأنسب لـ

الأفضل نشره على XAUUSD M5 مع وسيط ECN أو سبريد منخفض (سقف 50 نقطة سبريد متساهل، لكن تضييقه إلى 25–30 يساعد خارج ساعات الذروة). تستهدف نافذة الخادم 08:00–22:00 تداخل لندن–نيويورك وصباح جلسة نيويورك، مع حالات تعتيم مدمجة مدتها 30 دقيقة حول 12:30 و14:00 بتوقيت الخادم لتفادي إصدارات البيانات الأمريكية. الحد الأدنى الموصى به للرصيد: 100 دولار (يتطابق مع حد رأس المال البالغ 50 دولاراً في الاستراتيجية بالإضافة إلى هامش لحجم المخاطرة 0.5%). مستوى المخاطرة: متوسط — مخاطر 0.5% لكل صفقة، وحد يومي 3%، وعتبة خسارة أسبوعية 9% تحمي من يوم سيئ واحد يخرج عن السيطرة، لكن نسبة R:R الأساسية 1.25:1 تعني أن EA يحتاج إلى نسبة إصابة ≥45% لتحقيق صافي ربح، لذا فإن كومة التتبع تؤدي عملاً ذا معنى على الصفقات الرابحة.

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

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

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

الوصف: Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal fires on closed-bar close crossing the ATR band with strong body; HTF trend + candle strength + R/R confirm; ATR-based SL/TP with break-even, partial TP, ATR trail, regime-change and opposite-signal exits; capital allocation cap governs all risk; pyramid OFF by default. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • NormPrice()
  • ClampVolume()
  • StopsLevelPoints()
  • EffectiveCapital()
  • TodayRealizedPnL()
  • CountMyPositions()
  • CountSymbolPositions()
  • IsNewBar()
  • InSession()
  • NewsBlock()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18031 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal fires on closed-bar close crossing the ATR band with strong body; HTF trend + candle strength + R/R confirm; ATR-based SL/TP with break-even, partial TP, ATR trail, regime-change and opposite-signal exits; capital allocation cap governs all risk; pyramid OFF by default. 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
الأطر الزمنية المُحسّنة:
M5

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpDryRuntrueDry-run mode (no live orders)
InpKillSwitchfalseGlobal kill switch
InpMagic22218031Magic number
InpTradeComment"Psgrowth.com Expert_18031"Trade comment
InpEMALength10Gaussian EMA length (bars)
InpBandMult0.85ATR band multiplier (ratio)
InpTrendEMA50HTF trend EMA period (bars)
InpHTF6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend EMA
InpADXMinTrend20.0Min ADX for StrongTrend (ratio)
InpATRMinPrice0.30Min ATR price units (volatility floor)
InpBreakDistATR0.30Min breakout distance (ATR multiples)
InpRiskPercent0.5Risk per trade (% effective_capital)
InpATR_SL_Mult1.2ATR SL multiplier (ratio)
InpATR_TP_Mult1.5ATR TP multiplier (ratio)
InpMaxConcurrent3Max concurrent positions (int)
InpDailyLossLimitPct3.0Daily loss limit (% effective_capital)
InpCapitalCapAmount0.0Cap amount (REAL $, not notional)
InpCapitalCapFloor50.0Floor below which no new entries
InpATRTrailMult2.0ATR trailing multiplier (ratio)
InpMaxBarsInTrade240Max bars in trade (int, 0=off)
InpMaxSpreadPoints50.0Max allowed spread (points)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18031.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18031 EX20 — Trend-following breakout above ATR band around an EMA, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

//=== INPUTS (TOTAL = 22) ============================================
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_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_TIMEFRAMES g_InpHTF = PERIOD_H1;
input group "=== System ==="
input bool   InpDryRun              = true;     // Dry-run mode (no live orders)
input bool   InpKillSwitch          = false;    // Global kill switch
input long   InpMagic               = 22218031; // Magic number
input string InpTradeComment        = "Psgrowth.com Expert_18031"; // Trade comment

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;

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

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

الوسوم:ex18031trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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