P
PipsGrowth
الاختراقمفتوح المصدر - مجاني

Pipsgrowth EX02006 Breakout — إكسبرت أدفايزر اختراق

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

Pipsgrowth EX02006 Breakout — Price CLOSED bar closes outside an ATR-offset Gaussian EMA band (breakout-close, shift=1). 12 layers: REGIME, SIGNAL, EN. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يركز Pipsgrowth EX02006 على نوع محدد جداً من الاختراقات على الرسم البياني لخمس دقائق لزوج XAUUSD. بدلاً من استخدام قناة دونتشيان أو نطاق بعرض ثابت، يرسم المؤشر متوسطاً متحركاً أسياً موزوناً بنظام غاوسي على إغلاق كل شمعة، ويضع حوله نطاقاً يعتمد على متوسط النطاق الحقيقي ATR. يجعل التنعيم الغاوسي الخط المركزي أقل ارتجافاً من المتوسط المتحرك الأسي التقليدي، بحيث يعكس النطاق الاتجاه الفعلي الحديث بدلاً من أن يتفاعل مع آخر شمعة أو اثنتين. عندما تغلق شمسة مكتملة فوق النطاق العلوي — أي أن الافتتاح والإغلاق معاً يتجاوزان الخط — يُطلق إشارة شراء. والصورة المعكوسة تعطي إشارة بيع: الافتتاح عند أو فوق النطاق السفلي والإغلاق تحته. هذه القاعدة، التي تُقيَّم على إغلاق الشمعة (shift=1)، تستبعد عمداً حالات الاختراق الزائف التي يلامس فيها ظل الشمعة النطاق ثم يتراجع الجسم. النطاق الافتراضي هو 0.85 من مضاعفات ATR(14) حول متوسط غاوسي أسي مدته 10 شموع، وهو ضيق بما يكفي لإيقاع XAUUSD داخل اليوم، وواسع بما يكفي لأن الضوضاء العشوائية نادراً ما تغلق خارجه.

قبل إرسال أي أمر، يجب اجتياز ثلاثة مرشحات. تسحب ConfirmEntry() متوسطاً متحركاً أسياً على إطار زمني أعلى — افتراضياً 50 فترة على M15 — وترفض الشراء إذا كان السعر تحت ذلك الخط، أو البيع إذا كان فوقه. الهدف قطع كل إشارة تعاكس الاتجاه الأكبر. ثم على مصنّف DetectRegime() أن يصنّف السوق بأي شيء عدا Choppy. يبني المصنف خريطة بسبع حالات من ADX(14) ومئين ATR على 100 شمعة ونسبة عرض بولنجر على 50 شمعة: اتجاه قوي عندما يتجاوز ADX 30 ويقع ATR في أعلى 40 بالمئة من نطاقه الأخير، اتجاه ضعيف بين 20 و30، نطاق حين يهبط ADX تحت 12، انضغاط حين يتقلص عرض بولنجر إلى أقل من 85 بالمئة من متوسط 50 شمسة، توسع حين يكون ADX مرتفعاً وعرض بولنجر يتجاوز 15 بالمئة فوق المتوسط، اختراق حين يكون ADX متوسطاً لكن النطاق يتسع، وChoppy حين تختلف المؤشرات. Choppy حظر صارم — لا يدخل المؤشر حتى يحدد ADX أو عرض بولنجر اتجاهاً. وأخيراً يجب أن يتجاوز مئين ATR 20، مما يقتل الإشارات المولودة في سوق خامل.

عندما يُفتح الباب أخيراً، يمر تحديد الحجم عبر EffectiveCapital() التي تُرجع أقل من حقوق الحساب أو InpCapitalCapAmount. لاحظ أن الحد الأقصى ليس معطلاً افتراضياً هنا: قيمته 500، لذا يعامل المؤشر حساباً بـ 20,000 دولار مثل حساب بـ 500 دولار لأغراض المخاطرة ما لم يرفعه المشغّل. يجب أن تتجاوز حقوق الأرضية 50، وإلا جُمّدت الدخول. يستخدم حساب اللوت 0.5 بالمئة من رأس المال الفعلي تحت المخاطرة، مقسوماً على خسارة الدولار لكل لوت عند مسافة الوقف. مسافة الوقف هي الأكبر بين 1.5× ATR(14) أو 1.5× مسافة مستوى الوقف عند الوسيط زائد نقطة واحدة، فلا يمكن للوقف أن يقع داخل منطقة الحد الأدنى للوقف. يُضبط جني الأرباح عند ضعف مسافة الوقف بالضبط، مما يضمن نسبة مخاطرة إلى عائد 1:2. تُفحص الهامش مسبقاً عبر OrderCalcMargin قبل خروج الأمر، ويُعيد المؤشر محاولة الإرسال حتى ثلاث مرات في حالات إعادة التسعير أو انحراف السعر أو انتهاء المهلة بفاصل 150 مللي ثانية. InpDryRun مفعّل افتراضياً — يطبع المؤشر سطر DRY-RUN ويتخطى الصفقة بالكامل حتى يقلب المشغّل هذا العلم.

ManageExits() هي الجهة النشطة في المؤشر وتعمل قبل التفكير في أي دخول جديد. تُماشى كل صفقة مفتوحة على الرقم السحري عند كل تكة. إذا بقيت الصفقة 240 شمعة مغلقة (20 ساعة على M5) تُغلق قسرياً كخروج زمني. إذا أُطلقت إشارة معاكسة منذ فتح الصفقة، تُغلق فوراً. إذا انقلب النظام إلى Choppy والصفقة خاسرة، تُقطع — لكن إذا كانت رابحة في Choppy، يتركها المؤشر ويعهد بالعمل إلى وقف الخسارة المتحرك. عندما يصل الربح إلى 1R (1.5× ATR، نفس المرجع المستخدم عند الدخول)، يرتفع وقف الخسارة إلى نقطة التعادل بالإضافة إلى مسافة الوقف لدى الوسيط. عند 1.5R، يُغلق نصف الصفقة — بشرط أن يفي النصف المتبقي بحد الحجم الأدنى لدى الوسيط. بعد 1.5R، يتولى وقف الخسارة المتحرك المسؤولية، ويجلس على بعد 2.0× ATR(14) خلف السعر. كل تعديلات الوقف تمر عبر TryModify_EX02006 التي تعيد المحاولة حتى ثلاث مرات في إعادة التسعير أو انتهاء المهلة بفاصل 100 مللي ثانية. إغلاق المراكز يستخدم نفس النمط عبر TryClose_EX02006 وTryClosePartial_EX02006.

الهرمة مصممة بتحفظ. تفحص PyramidAllowed() المراكز المفتوحة في الاتجاه نفسه وترفض إضافة وحدة ثانية ما لم تكن الأولى رابحة ووقفها مقفل عند الافتتاح أو أبعد. الحد الأقصى الثابت هو InpPyramidHardCap، افتراضياً 3، لكن InpMaxOpenPositions افتراضياً 1، لذا افتراضياً لن يضيف المؤشر أبداً إلى صفقة. على المستخدم رفع المدخلين معاً إذا أراد أي تحجيم. يصف الملخص في رأس الكود التصميم كطبقة من 12: REGIMESIGNALENTRYCONFIRMNO-TRADECAPITAL CAPRISKSIZINGMANAGEEXITSCALINGOnTester، وهذا هو تماماً الترتيب الذي تعمل به الدوال في OnTick(). بوابة NO-TRADE هي دالة مستقلة IsSafeToTrade_EX02006 تحيط بكل شيء قبل التداول: فتح السوق، الجلسة، الأخبار، أرضية رأس المال، أرضية الحقوق، عدد الصفقات اليومي، حد الخسارة اليومي، التهدئة، حد المراكز، فحص السبريد الديناميكي، ومفتاح إيقاف الانخفاض 20 بالمئة.

نافذة الجلسة هي اتحاد لندن (07:00–16:00 بتوقيت GMT) ونيويورك (12:00–21:00 بتوقيت GMT)، وهو ما يغطي التداخل الكامل بين الجلستين. السبت والأحد مغلقان. مرشح الأخبار مفعّل افتراضياً ويسحب CalendarValueHistory() للأحداث عالية التأثير في نافذة ±30 دقيقة حول الوقت الحالي، ويمنع الدخول عند وجود حدث ضمن هذا النطاق. مرشح السبريد ديناميكي: يقارن السبريد الحالي بمتوسط 50 تكة متحرك ويرفض الدخول إذا كان أكثر من ضعف المتوسط، أو أكثر من خمسة أضعاف مسافة مستوى الوقف بالنقاط — أيهما أوسع. تُرجع OnTester() (صافي × عامل الربح) / (1 + الانخفاض في الرصيد) فقط إذا أنتج الاختبار 30 صفقة على الأقل، وكان الصافي موجباً، وبقي انخفاض الحقوق بالنسبة المئوية داخل InpMaxDDPct. الأثر الصافي لكل هذه الحراسات نظام اختراق ضيق بنكهة M5 على XAUUSD يعاقب الإشارات الضعيفة لكنه يدع القوية منها تتدفق عبر نسبة عائد 1:2 مع نقطة التعادل والإغلاق الجزئي والوقف المتحرك بـ ATR وكلها تعمل بالتسلسل.

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

تمشي OnTick() خط أنابيب ثابتاً. تصنّف DetectRegime() السوق في واحدة من سبع حالات بدمج ADX(14) ومئين ATR على 100 شمعة ونسبة عرض بولنجر على 50 شمعة. تتحقق GaussianBandSignal() بعدها مما إذا كانت الشمعة M5 المغلقة السابقة قد اخترقت غلاف Gaussian-EMA(10) ± 0.85× ATR(14) — إغلاق فوق الخط العلوي مع افتتاح عنده أو تحته للشراء، والصورة المعكوسة للبيع — وتُرجع درجة ثقة مبنية على بُعد الإغلاق عن النطاق. تعمل ManageExits() قبل قرار الدخول: تغلق قسرياً كل صفقة تجاوز عمرها 240 شمعة، وكل صفقة على الجانب الخاطئ من إشارة جديدة، وكل صفقة خاسرة انحدرت إلى نظام Choppy، وترفع نقاط الوقف (نقطة التعادل عند 1R، إغلاق 50% جزئي عند 1.5R، ثم الوقف المتحرك بـ ATR). تحجب ConfirmEntry() الإشارات التي تعاكس EMA(50) على M15، أو وُلدت في نظام Choppy، أو تشكّلت بينما كان مئين ATR دون 20. تضيف IsSafeToTrade_EX02006() بقية طبقة الحراسة: فحص عطلة نهاية الأسبوع، نافذة جلستي لندن-نيويورك، مخزن 30 دقيقة للأخبار حول أحداث التقويم عالية التأثير، أرضية رأس المال، أرضية الحقوق (70% من الرصيد الأولي)، حد الصفقات اليومي، حد الخسارة اليومي، تهدئة 5 خسائر متتالية → 4 ساعات، مرشح السبريد الديناميكي (السبريد الحالي مقابل متوسط 50 تكة متحرك)، ومفتاح إيقاف الانخفاض 20%. تحسب SizeByRisk() أخيراً اللوتات من 0.5% من رأس المال الفعلي (المحدود بـ InpCapitalCapAmount الذي يساوي 500 افتراضياً) مقسوماً على خسارة اللوت عند مسافة وقف ATR(14)×1.5، تفحص MarginOk() الهامش الحر مسبقاً، وترسل ExecMarket() الأمر حتى ثلاث محاولات بفاصل 150 مللي ثانية. لن تكدّس PyramidAllowed() وحدة ثانية إلا عندما تكون الأولى رابحة ووقفها مقفلاً بعد الافتتاح، وInpMaxOpenPositions=1 يحول دون قيام المؤشر بذلك افتراضياً.

إشارة الدخول

تطلق إشارات الشراء عندما تغلق شمعة M5 مكتملة فوق النطاق العلوي لمتوسط غاوسي أسي مدته 10 (إغلاق > EMA + 0.85× ATR(14) مع افتتاح الشمسة عند أو تحت ذلك الخط). يجب أن يتفق المتوسط الأسي على الإطار الزمني الأعلى EMA(50) على M15 (السعر فوقه للشراء، تحته للبيع)، وعلى مصنّف النظام تصنيف السوق بأي شيء عدا Choppy مع مئين ATR فوق 20، ويجب أن تجتاز الصفقة بوابة IsSafeToTrade الكاملة (الجلسات، الأخبار، أرضية الحقوق، حد الصفقات اليومي، مفتاح إيقاف الانخفاض، مرشح السبريد الديناميكي).

إشارة الخروج

تُغلق المراكز عند أول محفز من أربعة: 240 شمعة مغلقة (20 ساعة على M5)، إشارة اختراق معاكسة على الشمعة المغلقة، انقلاب النظام إلى Choppy مع كون الصفقة خاسرة، أو تفعيل وقف الخسارة المتحرك. كل عملية إغلاق تستخدم TryClose_EX02006 مع ما يصل إلى ثلاث محاولات لإعادة التسعير أو انتهاء المهلة بفاصل 200 مللي ثانية.

وقف الخسارة

يُوضع وقف الخسارة على بعد 1.5× ATR(14) تحت سعر الدخول للشراء وفوقه للبيع، أو 1.5× مسافة مستوى الوقف لدى الوسيط زائد نقطة واحدة، أيهما أوسع. عندما يصل الربح إلى 1R، يرتفع الوقف إلى نقطة التعادل زائد مسافة الوقف، وبعد 1.5R يتولى وقف ATR(14)×2.0 المتحرك المسؤولية.

جني الأرباح

يُضبط جني الأرباح عند ضعف مسافة وقف الخسارة بالضبط، مما يضمن نسبة مخاطرة إلى عائد 1:2. عند 1.5R يُغلق نصف الصفقة (بشرط أن يفي النصف المتبقي بحد الحجم الأدنى لدى الوسيط) ويتولى الوقف المتحرك إدارة الباقي.

الأنسب لـ

متداولو XAUUSD الذين يشغّلون رسوم M5 على وسيط ECN أو منخفض السبريد (يقارن مرشح السبريد الديناميكي السبريد المباشر بمتوسط 50 تكة ويرفض الدخول عند الارتفاعات)، برصيد ابتدائي لا يقل عن 100 دولار، لكن عملياً 500 دولار أو أكثر لإشراك حد رأس المال الافتراضي بشكل مفيد. تعني أرضية الحقوق 70% ومفتاح إيقاف الانخفاض 20% أن رصيد 1,000 دولار يمنح نحو 300 دولار من هامش الانخفاض قبل أن يجمد المؤشر الدخول. تجعل تهدئة 4 ساعات بعد خمس خسائر متتالية هذا المؤشر ملائماً للجلسات — الأفضل تشغيله خلال تداخل لندن-نيويورك (07:00–21:00 بتوقيت GMT) على وسيط يمكن التحقق من توقيت خادمه مقابل إزاحة GMT المكتشفة تلقائياً، ويجب تشغيله على حساب تجريبي أو بحجم لوت صغير أولاً لأن InpDryRun مفعّل افتراضياً.

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

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

العائلة: Breakout الماجيك: 22202006 الإصدار: 2.00

الوصف: Price CLOSED bar closes outside an ATR-offset Gaussian EMA band (breakout-close, shift=1). 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester. ATR SL, BE @1R, partial 50% @1.5R, ATR trail, regime-change/opposite-signal/time exits

المؤشرات:

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

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

  • NormPrice()
  • StopsDistancePrice()
  • ClampVolume()
  • InSession()
  • EffectiveCapital()
  • TodayRealizedPnL()
  • CountOpenForMagic()
  • CountOpenByType()
  • LastClosedBarTime()
  • CurrentSpreadPoints()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02006 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Price CLOSED bar closes outside an ATR-offset Gaussian EMA band (breakout-close, shift=1). 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester. ATR SL, BE @1R, partial 50% @1.5R, ATR trail, regime-change/opposite-signal/time exits

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اسحب الإكسبرت على رسم H1 أو H4
  7. 7حدد فترة رصد النطاق وهامش الاختراق وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagic22202006Magic number (unique per EA) [1-999999999, step 1]
InpTradeComment"Psgrowth.com Expert_02006"Trade comment
InpDeviation20Slippage tolerance (points) [0-100, step 1]
InpEnableLoggingtrueEnable non-critical logging
InpDryRuntrueDry-run (signal+log only, no orders)
InpKillSwitchfalseKILL: halt all new entries
InpRiskPercent0.5Risk per trade (% of effective capital) [0.1-10.0, step 0.1]
InpDailyLossLimitPct3.0Daily loss limit (% of effective capital) [0.5-20.0, step 0.5]
InpCapitalCapAmount500.0Capital cap ($ equity, 0 = disabled) [0-100000, step 100]
InpCapitalCapFloor50.0Floor below which new entries are blocked ($) [0-10000, step 10]
InpMaxLot5.0Max lot cap (lots) [0.01-100, step 0.01]
InpMaxOpenPositions1Max concurrent positions (count) [1-20, step 1]
InpMaxDDPct20.0Max total drawdown % (0=disabled, triggers kill switch)
InpLength10Gaussian EMA period (bars) [2-200, step 1]
InpDistanceMultiplier0.85Band ATR multiplier (x) [0.1-5.0, step 0.05]
InpATRPeriod14ATR period (bars) [2-100, step 1]
InpADXPeriod14ADX period (bars) [2-100, step 1]
InpADXMinTrend20.0Min ADX for trend regimes (level) [5-50, step 0.5]
InpBBPeriod20Bollinger period (bars) [2-100, step 1]
InpHTF5HTF timeframe: 1=M1,2=M3,3=M5,4=M10,5=M15,6=M30,7=H1,8=H4,9=D1 [1-9, step 1]
InpHTFEMA50HTF EMA period (bars) [5-500, step 1]
InpTrailATRMult2.0ATR trailing multiplier (x) [0.5-10.0, step 0.1]
InpMaxBarsInTrade240Max bars in trade before time-exit [10-2000, step 10]
InpATRPctileLookback100ATR percentile lookback (bars) [20-500, step 10]
InpBBWidthLookback50BB width lookback (bars) [10-200, step 10]
InpPyramidHardCap3Hard cap on pyramid positions [1-10, step 1]
InpMaxTradesPerDay10Max trades per calendar day (0=unlimited) [0-100, step 1]
InpMinEquityPct70.0Min equity as % of initial balance to trade [0-100, step 1]
InpMaxConsecLosses5Max consecutive losses before cooldown [0-20, step 1]
InpCooldownHours4Cooldown duration after max consec losses (hours) [0-72, step 1]
InpUseGMTSessionstrueUse GMT-based session filtering
InpLondonStartGMT7London session start (GMT hour) [0-23, step 1]
InpLondonEndGMT16London session end (GMT hour) [0-23, step 1]
InpNewYorkStartGMT12New York session start (GMT hour) [0-23, step 1]
InpNewYorkEndGMT21New York session end (GMT hour) [0-23, step 1]
InpFilterNewstrueBlock trades near high-impact news
InpNewsBufferMinutes30News buffer (minutes before/after) [5-120, step 5]
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02006.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02006 GB1.5 XAUUSD 5M — Gaussian EMA + ATR band breakout-close, full 12-layer stack."

#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/AccountInfo.mqh>

//================== INPUTS (22 total) ==================
input group "=== Identity ==="
input int            InpMagic              = 22202006;   // Magic number (unique per EA) [1-999999999, step 1]
input string         InpTradeComment       = "Psgrowth.com Expert_02006"; // Trade comment
input int            InpDeviation          = 20;         // Slippage tolerance (points) [0-100, step 1]
input bool           InpEnableLogging      = true;       // Enable non-critical logging
input bool           InpDryRun             = true;       // Dry-run (signal+log only, no orders)
input bool           InpKillSwitch         = false;      // KILL: halt all new entries

input group "=== Risk & Sizing ==="
input double         InpRiskPercent        = 0.5;        // Risk per trade (% of effective capital) [0.1-10.0, step 0.1]
input double         InpDailyLossLimitPct  = 3.0;        // Daily loss limit (% of effective capital) [0.5-20.0, step 0.5]
input double         InpCapitalCapAmount   = 500.0;      // Capital cap ($ equity, 0 = disabled) [0-100000, step 100]
input double         InpCapitalCapFloor    = 50.0;       // Floor below which new entries are blocked ($) [0-10000, step 10]
input double         InpMaxLot             = 5.0;        // Max lot cap (lots) [0.01-100, step 0.01]
input int            InpMaxOpenPositions   = 1;          // Max concurrent positions (count) [1-20, step 1]
input double         InpMaxDDPct           = 20.0;       // Max total drawdown % (0=disabled, triggers kill switch)

input group "=== Signal: Gaussian EMA + ATR Bands ==="
input int            InpLength             = 10;         // Gaussian EMA period (bars) [2-200, step 1]
input double         InpDistanceMultiplier = 0.85;       // Band ATR multiplier (x) [0.1-5.0, step 0.05]
input int            InpATRPeriod          = 14;         // ATR period (bars) [2-100, step 1]

input group "=== Regime & Confirm ==="
input int            InpADXPeriod          = 14;         // ADX period (bars) [2-100, step 1]
input double         InpADXMinTrend        = 20.0;       // Min ADX for trend regimes (level) [5-50, step 0.5]
input int            InpBBPeriod           = 20;         // Bollinger period (bars) [2-100, step 1]
input int            InpHTF                = 5;          // HTF timeframe: 1=M1,2=M3,3=M5,4=M10,5=M15,6=M30,7=H1,8=H4,9=D1 [1-9, step 1]
input int            InpHTFEMA             = 50;         // HTF EMA period (bars) [5-500, step 1]

input group "=== Trade Management ==="
input double         InpTrailATRMult       = 2.0;        // ATR trailing multiplier (x) [0.5-10.0, step 0.1]
input int            InpMaxBarsInTrade     = 240;        // Max bars in trade before time-exit [10-2000, step 10]
input int            InpATRPctileLookback  = 100;        // ATR percentile lookback (bars) [20-500, step 10]
input int            InpBBWidthLookback    = 50;         // BB width lookback (bars) [10-200, step 10]
input int            InpPyramidHardCap     = 3;          // Hard cap on pyramid positions [1-10, step 1]

input group "=== Hardening: GMT Sessions & Safety ==="
input int            InpMaxTradesPerDay    = 10;         // Max trades per calendar day (0=unlimited) [0-100, step 1]
input double         InpMinEquityPct       = 70.0;       // Min equity as % of initial balance to trade [0-100, step 1]
input int            InpMaxConsecLosses    = 5;          // Max consecutive losses before cooldown [0-20, step 1]
input int            InpCooldownHours      = 4;          // Cooldown duration after max consec losses (hours) [0-72, step 1]
input bool           InpUseGMTSessions     = true;       // Use GMT-based session filtering
input int            InpLondonStartGMT     = 7;          // London session start (GMT hour) [0-23, step 1]
input int            InpLondonEndGMT       = 16;         // London session end (GMT hour) [0-23, step 1]
input int            InpNewYorkStartGMT    = 12;         // New York session start (GMT hour) [0-23, step 1]
input int            InpNewYorkEndGMT      = 21;         // New York session end (GMT hour) [0-23, step 1]
input bool           InpFilterNews         = true;       // Block trades near high-impact news
input int            InpNewsBufferMinutes  = 30;         // News buffer (minutes before/after) [5-120, step 5]

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

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

الوسوم:ex02006breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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