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

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

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

Pipsgrowth EX02008 Breakout — Self-contained Donchian breakout. Channel built inline from CopyHigh/CopyLow over lookback window. 12 layers: REGIME, SI. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX02008 Breakout هو نظام اختراق قناة دونشيان لزوج XAUUSD على إطار 5 دقائق، مبني حول قناة داخلية بدلاً من مؤشر مدمج. يعيد الإكسبرت بناء الحد العلوي والسفلي لقناة دونشيان في كل تقييم بقراءة تاريخ الأسعار عبر CopyHigh() وCopyLow() على نافذة استرجاع قابلة للتهيئة (الافتراضي InpLength = 20 شمعة)، ثم يدخل عندما تخترق شمعة 5 دقائق مغلقة هذه القناة. الرقم السحري 22202008، الإصدار 2.00، 59 مُعطى إدخال، 34 دالة مخصصة. الكود المصدري الكامل متاح كملف Pipsgrowth_com_EX02008.mq5 بدون أي اعتماديات على مكتبات DLL.

إشارة دونشيان هي جوهر الاستراتيجية. تقرأ DonchianSignal() الحد العلوي والسفلي والنقطة الوسطى للشمعة المغلقة الأخيرة (إزاحة 1) وتقارنها بنفس المقاييس للشمعة السابقة (إزاحة 2). إعداد الشراء يتطلب الإغلاق > الحد العلوي، ونقطة وسطى ذات ميل صاعد (إذا كان InpUseSlopeFilter مفعّلاً)، ونسبة جسم/مدى لا تقل عن InpStrongCandleRatio = 0.6 على شمعة الاختراق، وأن يكون الإغلاق على بُعد InpBreakoutATR = 0.3 × ATR(14) على الأقل من منتصف القناة. إعداد البيع يعكس هذه الشروط. تحمل الإشارة المرجعة أيضاً درجة ثقة تُحسب كـ 50 + 50 × (الجسم / المدى) لشمعة الاختراق، محدودة بـ 100. تُسجَّل الثقة في طباعة الدخول لكنها لا تحجب الصفقة — موجودة لرصدك وتحليلك اللاحق.

مصنّف النظام يضيف طبقة إذن فوق الإشارة. تقرأ ClassifyRegime() مؤشر ADX(14) وATR(14) وBollinger Bands(20, 2.0) لتوسم السوق بإحدى سبع حالات: STRONG_TREND أو WEAK_TREND أو RANGE أو BREAKOUT أو COMPRESS أو EXPAND أو CHOPPY. تُوسم أقوى الحالات (ADX ≥ 25 وATR في المئين ≥ 60) كـ STRONG_TREND. تنطلق حالة الأهلية للاختراق عندما يكون ADXInpADXMinBreakout = 18 ويقع ATR الحالي في النصف العلوي من آخر 100 شمعة (InpATRPctMinBreakout = 50). الانضغاط (عرض بولنجر ضيق) والتقطع (ADX منخفض) حالتا عدم تداول صريحتان. يغذي المصنّف دالة NoTradeReason() التي تقطع الإدخالات الجديدة عندما يكون النظام CHOPPY أو RANGE، أو عند تجاوز حد الخسارة اليومي (InpMaxDailyLossPct = 3%)، أو عند تجاوز الحد الأسبوعي (InpMaxWeeklyLossPct = 9%)، أو عند هبوط رأس المال الفعلي تحت InpCapitalCapFloor = 50.

يتم فرض توافق الإطار الزمني الأعلى عند تفعيل InpRequireHTFAgree (الافتراضي مفعّل). تنظر HTFTrend() في سعر الإغلاق والفتح لشمعة H1 (إعداد InpHTF = 7 يُحوَّل إلى H1 عبر MapTimeframe_EX02008) ولا توافق على إشارة شراء إلا إذا كان الإغلاق فوق الفتح قبل خمس شموع، والعكس صحيح. الإطار الافتراضي هو H1، لكن يمكن تبديله إلى M15 أو M30 أو H4 بإدخال واحد إذا أراد الاختبار الخلفي تحيزاً مختلفاً.

المخاطرة وإدارة الصفقات مكتوبة بإحكام. وقف الخسارة هو ATR(14) × InpATRStopMult (الافتراضي 2، أي 2× ATR = 1R) وجني الأرباح هو ATR(14) × InpATRTPMult (الافتراضي 4، أي 4× ATR = 2R). تفرض MinRROK() حداً أدنى للمكافأة/المخاطرة بأعشار عبر InpMinRR = 12 (1.2R) قبل إرسال الأمر. يُحسب حجم اللوت من InpRiskPercent = 0.5% من رأس المال الفعلي مقسوماً على مسافة الوقف لكل لوت، ثم يُطبَّع على خطوة اللوت لدى الوسيط ويُحدَّد بـ InpMaxLot = 10.0. رأس المال الفعلي نفسه هو min(equity الحساب, InpCapitalCapAmount) — حد رأس المال الافتراضي 500 دولار، لذا حساب بـ 5,000 دولار يتداول كما لو كان 500 دولار حتى ترفع هذا المُعطى. هذا خيار تصميم مقصود للحفاظ على سلوك الحسابات الصغيرة متّسقاً عبر أحجام الحسابات المختلفة.

تدير الصفقات المفتوحة في كل تيكة داخل ManageOpenPositions(). عند +1R ينتقل الوقف إلى نقطة التعادل (InpUseBreakEven = true). عند نفس علامة +1R، يُغلَق نصف المركز إذا كان الحجم المتبقي لا يقل عن ضعف الحد الأدنى للوسيط (InpUsePartialTP = true). بعد أن تكون الصفقة رابحة وتجاوزت سعر الفتح، يعمل وقف متحرك قائم على ATR بمقدار 2 × ATR(14) على رفع الوقف فقط دون إنزاله. فوق ذلك توجد ثلاثة شروط خروج إضافية: إشارة دونشيان معاكسة تغلق الصفقة (InpExitOppositeSignal)، انتقال النظام إلى CHOPPY أو RANGE يغلق الصفقة (InpExitRegimeChange)، وخرج زمني عند InpMaxBarsInTrade = 240 شمعة (20 ساعة على M5) يغلق أي مركز لم يُحسم. التوسيع الهرمي مُنفَّذ لكنه معطّل افتراضياً؛ عند تفعيل InpUsePyramid، تسمح PyramidAllowed() بما يصل إلى InpPyramidMaxLevels = 3 إضافات مفصولة بـ 1.5 × ATR من الحركة لصالح الصفقة.

تقف حزمة الأمان خلف كل محاولة دخول. تتحقق IsSafeToTrade_EX02008() من: ساعات GMT (لندن 7–16، نيويورك 12–21)، إغلاق عطلة نهاية الأسبوع (لا السبت، لا الأحد)، نافذة الأخبار عالية التأثير (InpUseNewsWindow = true، 15 دقيقة قبل وبعد)، الحد الأقصى للسبريد (InpMaxSpreadPoints = 35 نقطة)، الحد الأدنى من الأسهم (InpMinEquityPct = 70% من الرصيد الأولي)، الحد الأقصى لعدد الصفقات اليومي (InpMaxTradesPerDay = 10)، وقاطع الدائرة للسحب الإجمالي (InpMaxDDPct = 20% من الرصيد الأولي). تُتابَع الخسائر المتتالية في OnTradeTransaction: عند 3 خسائر يطبّق الإكسبرت فترة تهدئة 60 دقيقة (InpCooldownLosses، InpCooldownMinutes)، وعند 5 خسائر تبدأ فترة تهدئة 4 ساعات (InpMaxConsecLosses، InpCooldownHours). علم التشغيل التجريبي InpDryRun افتراضيه true — اضبطه على false قبل ربط الإكسبرت بحساب مباشر أو تجريبي مع توجيه الأوامر.

ملاحظات التنفيذ والوسيط. إعادة محاولة إرسال الأمر تصل إلى 3 مرات على استجابات requote وtimeout وprice-changed وprice-off، مع تراجع 150 مللي ثانية بين المحاولات. عمليات الإغلاق والإغلاق الجزئي والتعديل أيضاً لها حلقة 3 محاولات بتراجع 100–200 مللي ثانية. تُقرأ مستويات الوقف من SYMBOL_TRADE_STOPS_LEVEL لدى الوسيط وتُحترم حتى لو كان وقف الخسارة المعرّف من المستخدم ينتهكها؛ في هذه الحالة يُوسَّع الوقف إلى الحد الأدنى من المسافة. تُستدعى OrderCalcMargin() قبل الإرسال لرفض الأوامر التي لا يحتملها الحساب. XAUUSD على إطار 5 دقائق استراتيجية حساسة للسبريد، لذا يتوقع الإكسبرت حساب ECN أو RAW بسبريد منخفض. حسابات السنت القياسية أو ذات السبريد المرتفع ستشغّل حارس السبريد في معظم الاختراقات وتُنتج عدداً قليلاً جداً من التنفيذات. دالة لياقة Strategy Tester هي (صافي الربح × عامل الربح) / (1 + أقصى سحب للرصيد)، مع بوابات صلبة على 30 صفقة على الأقل، وصافي ربح موجب، وسحب للأكويتي ≤ InpMaxDDPct.

ما يمكن توقعه في اختبار خلفي. مع InpCapitalCapAmount = 500 الاستراتيجية مُحجَّمة لحسابات الميكرو وتحديات شركات التداول المموّلة. الإعدادات الافتراضية تفترض حركة سعر XAUUSD بمقدار 1–3× ATR(14) في الساعة خلال لندن وتداخل لندن-نيويورك؛ سيتم ترشيح اختراقات الجلسة الآسيوية الهادئة من قبل كلٍّ من مصنّف النظام وحارس الجلسة. إذا رأيت الاختبار الخلفي يُنتج عدداً قليلاً جداً من الصفقات، اخفض InpADXMinBreakout أو وسّع ساعات الجلسة؛ إذا رأيت إفراطاً في التداول، شدّد عتبة ADX وقلّل InpMaxTradesPerDay.

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

في كل تيكة يعيد الإكسبرت قراءة الحد العلوي والسفلي لقناة دونشيان بتمرير آخر 20 شمعة M5 عبر CopyHigh() وCopyLow()، ثم يقيّم الشمعة المغلقة الأخيرة مقابل الشمعة السابقة: يجب أن يكون الإغلاق خارج القناة، ونسبة الجسم/المدى لا تقل عن 0.6، والنقطة الوسطى تميل في اتجاه الاختراق، ويقع الإغلاق على بُعد 0.3×ATR(14) على الأقل من المنتصف. يمرّر الناتج إلى NoTradeReason() التي تتحقق من مصنّف النظام (تنجو فقط STRONG_TREND وWEAK_TREND وBREAKOUT وEXPAND؛ CHOPPY وRANGE يحظران)، واتجاه H1 بين الإغلاق والفتح، وسقف السبريد 35 نقطة، وحدود الخسارة اليومية/الأسبوعية 3%/9%، وأرضية الأسهم 50$، وإزالة ازدواجية شريط واحد حتى لا يطلق الإكسبرت مرتين على نفس الشمعة. يعيد إرسال الأمر 3 مرات على استجابات requote أو price-changed؛ إدارة الصفقة المفتوحة تعمل كل تيكة وتُسلسِل نقطة التعادل والإغلاق الجزئي والوقف المتحرك بـ ATR والخروج بإشارة معاكسة والخروج بانتقال النظام والوقف الزمني عند 240 شمعة.

إشارة الدخول

دخول شراء عندما تغلق شمعة M5 المغلقة فوق الحد العلوي لقناة دونشيان (InpLength=20) مع ميل صاعد للنقطة الوسطى، ونسبة جسم/مدى لا تقل عن 0.6، وإغلاق على بُعد 0.3×ATR(14) على الأقل من منتصف القناة — وفقط عندما لا يكون مصنّف النظام CHOPPY/RANGE، والسبريد أقل من 35 نقطة، وإغلاق H1 فوق فتحة قبل 5 شموع، ورأس المال الفعلي فوق عتبة 50$. دخول البيع يعكس نفس الشروط هبوطياً.

إشارة الخروج

الخروج الأساسي هو جني الأرباح عند 4×ATR(14) فوق الدخول (2R). عند +1R يُغلَق نصف المركز إذا سمح الحجم، وينتقل الوقف إلى نقطة التعادل، ويبدأ وقف متحرك قائم على ATR بمقدار 2×ATR(14) في رفع الوقف فقط. ثلاثة مخارج إضافية: إشارة اختراق دونشيان معاكسة، انتقال النظام إلى CHOPPY أو RANGE، ووقف زمني عند 240 شمعة (20 ساعة على M5).

وقف الخسارة

وقف الخسارة هو 2×ATR(14) تحت الدخول في الشراء (مرجع 1R)، يُوسَّع تلقائياً إلى SYMBOL_TRADE_STOPS_LEVEL لدى الوسيط إذا كان الحد الأدنى لدى الوسيط أكبر. ينتقل الوقف إلى نقطة التعادل عند +1R، والوقف المتحرك بـ ATR يرفعه إلى الأمام فقط — ولا يتسع أبداً.

جني الأرباح

جني الأرباح هو 4×ATR(14) فوق الدخول في الشراء (2R). يُؤخذ إغلاق جزئي 50% عند +1R عندما لا يزال الحجم المتبقي ضعف الحد الأدنى لدى الوسيط على الأقل. الحد الأدنى للمكافأة/المخاطرة مُحجَّز بـ 1.2R قبل إرسال الأمر، لذا يتطلب الأمر سبريداً ضيقاً وATR صحياً لتجاوز البوابة.

الأنسب لـ

الحد الأدنى الموصى به للرصيد 100$، لكن الإكسبرت يحدّ رأس المال الفعلي بـ 500$ افتراضياً لذا يُحجَّم الحساب الأكبر كما لو كان 500$ — ارفع InpCapitalCapAmount لفتح المزيد. الأفضل على XAUUSD M5 مع وسيط ECN/RAW بسبريد منخفض. شغّله خلال نافذة لندن 7–16 GMT وتداخل لندن-نيويورك 12–21 GMT؛ الجلسة الآسيوية مُرشَّحة افتراضياً. اضبط InpDryRun على false قبل ربط الإكسبرت بحساب مباشر.

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

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

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

الوصف: Self-contained Donchian breakout. Channel built inline from CopyHigh/CopyLow over lookback window. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester. BE, partial TP, ATR trail

المؤشرات:

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

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

  • AskP()
  • BidP()
  • Pt()
  • Digits_()
  • StopsLvl()
  • FreezeLvl()
  • NormPrice()
  • NormLot()
  • SpreadPts()
  • Donchian()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02008 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Self-contained Donchian breakout. Channel built inline from CopyHigh/CopyLow over lookback window. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester. BE, partial TP, ATR trail

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

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

المعاملالافتراضيالوصف
InpMagic22202008Magic number (unique per EA) [1-999999999, step 1]
InpTradeComment"Psgrowth.com Expert_02008"Trade comment
InpEnableLoggingtrueEnable non-critical logging
InpDryRuntrueDry-run (signal+log only, no orders)
InpKillSwitchfalseKILL: halt all new entries
InpLength20Donchian period (bars) [2-200, step 1]
InpBreakoutATR0.3Min excursion beyond band (x ATR) [0.0-2.0, step 0.05]
InpUseSlopeFiltertrueFilter on Donchian middle slope
InpStrongCandleRatio0.6Min body/range ratio of breakout bar [0.0-1.0, step 0.05]
InpHTFBarShift1HTF bar shift for trend (1 = last closed) [1-10, step 1]
InpADXPeriod14ADX period [2-100, step 1]
InpADXMinBreakout18.0Min ADX for Breakout/StrongTrend [5-50, step 0.5]
InpATRPeriod14ATR period [2-100, step 1]
InpATRPctLookback100ATR percentile lookback (bars) [20-500, step 10]
InpATRPctMinBreakout50.0Min ATR percentile for Breakout [0-100, step 5]
InpBBPeriod20Bollinger period [2-100, step 1]
InpBBDev2.0Bollinger deviation [0.5-5.0, step 0.1]
InpBBWCompressRatio0.6BBW < avg*ratio => Compress [0.1-1.0, step 0.05]
InpMaxEntriesPerBar1Max entries per bar (dedup) [1-10, step 1]
InpRequireHTFAgreetrueRequire HTF trend agreement
InpHTF7HTF timeframe: 1=M1,2=M3,3=M5,4=M10,5=M15,6=M30,7=H1,8=H4,9=D1 [1-9, step 1]
InpMinRR12Min reward:risk in tenths (12 = 1.2) [5-50, step 1]
InpRiskPercent0.5Risk % per trade [0.1-10.0, step 0.1]
InpATRStopMult2SL = ATR x mult [1-10, step 1]
InpATRTPMult4TP = ATR x mult [1-20, step 1]
InpMaxLot10.0Hard cap on lot size [0.01-100, step 0.01]
InpMaxDDPct20.0Max total drawdown % (0=disabled, triggers kill switch)
InpMaxOpenTrades5Max concurrent trades [1-20, step 1]
InpMaxSymbolExposure3Max positions on this symbol [1-20, step 1]
InpMaxDailyLossPct3Daily loss limit % of effective cap [1-20, step 1]
InpMaxWeeklyLossPct9Weekly loss limit % of effective cap [1-50, step 1]
InpCooldownLosses3Cooldown after N consecutive losses [0-20, step 1]
InpCooldownMinutes60Cooldown duration (min) [0-720, step 10]
InpCapitalCapAmount500.0Capital cap amount ($ equity, 0 = disabled) [0-100000, step 100]
InpCapitalCapFloor50.0Floor below which no new entries ($) [0-10000, step 10]
InpUseBreakEventrueMove SL to break-even at +1R
InpUsePartialTPtrueTake 50% off at TP1 (+1R)
InpUseATRTrailtrueATR-based trailing stop
InpTrailATRMult2Trail distance = ATR x mult [1-10, step 1]
InpMaxBarsInTrade240Time-based exit (bars) [10-2000, step 10]
InpExitOppositeSignaltrueExit on opposite breakout
InpExitRegimeChangetrueExit if regime turns Choppy/Range
InpUsePyramidfalsePyramid (default OFF)
InpPyramidMaxLevels3Max pyramid levels (<=5) [1-5, step 1]
InpPyramidATRSpacing1.5Spacing between adds (x ATR) [0.5-5.0, step 0.1]
InpMaxSpreadPoints35Max spread (points) [1-200, step 1]
InpSlippagePoints20Max deviation (points) [0-100, step 1]
InpUseNewsWindowtrueBlock trades near high-impact news
InpNewsBeforeMin15Block N min before [5-120, step 5]
InpNewsAfterMin15Block N min after [5-120, step 5]
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]
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02008.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02008 GB10 Donchian XAUUSD 5M — inline Donchian channel breakout, 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                                                           |
//+------------------------------------------------------------------+
input group "=== Identity ==="
input long   InpMagic                = 22202008; // Magic number (unique per EA) [1-999999999, step 1]
input string InpTradeComment         = "Psgrowth.com Expert_02008"; // Trade comment
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 "=== Donchian Core ==="
input int    InpLength               = 20;       // Donchian period (bars) [2-200, step 1]
input double InpBreakoutATR          = 0.3;      // Min excursion beyond band (x ATR) [0.0-2.0, step 0.05]
input bool   InpUseSlopeFilter       = true;     // Filter on Donchian middle slope
input double InpStrongCandleRatio    = 0.6;      // Min body/range ratio of breakout bar [0.0-1.0, step 0.05]
input int    InpHTFBarShift          = 1;        // HTF bar shift for trend (1 = last closed) [1-10, step 1]

input group "=== Regime Filter ==="
input int    InpADXPeriod            = 14;       // ADX period [2-100, step 1]
input double InpADXMinBreakout       = 18.0;     // Min ADX for Breakout/StrongTrend [5-50, step 0.5]
input int    InpATRPeriod            = 14;       // ATR period [2-100, step 1]
input int    InpATRPctLookback       = 100;      // ATR percentile lookback (bars) [20-500, step 10]
input double InpATRPctMinBreakout    = 50.0;     // Min ATR percentile for Breakout [0-100, step 5]
input int    InpBBPeriod             = 20;       // Bollinger period [2-100, step 1]
input double InpBBDev                = 2.0;      // Bollinger deviation [0.5-5.0, step 0.1]
input double InpBBWCompressRatio     = 0.6;      // BBW < avg*ratio => Compress [0.1-1.0, step 0.05]

input group "=== Entry & Triggers ==="
input int    InpMaxEntriesPerBar     = 1;        // Max entries per bar (dedup) [1-10, step 1]
input bool   InpRequireHTFAgree      = true;     // Require HTF trend agreement
input int    InpHTF                  = 7;        // 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    InpMinRR                = 12;       // Min reward:risk in tenths (12 = 1.2) [5-50, step 1]

input group "=== Risk & Sizing ==="
input double InpRiskPercent          = 0.5;      // Risk % per trade [0.1-10.0, step 0.1]
input int    InpATRStopMult          = 2;        // SL = ATR x mult [1-10, step 1]
input int    InpATRTPMult            = 4;        // TP = ATR x mult [1-20, step 1]
input double InpMaxLot               = 10.0;     // Hard cap on lot size [0.01-100, step 0.01]
input double InpMaxDDPct             = 20.0;     // Max total drawdown % (0=disabled, triggers kill switch)
input int    InpMaxOpenTrades        = 5;        // Max concurrent trades [1-20, step 1]
input int    InpMaxSymbolExposure    = 3;        // Max positions on this symbol [1-20, step 1]
input int    InpMaxDailyLossPct      = 3;        // Daily loss limit % of effective cap [1-20, step 1]
input int    InpMaxWeeklyLossPct     = 9;        // Weekly loss limit % of effective cap [1-50, step 1]
input int    InpCooldownLosses       = 3;        // Cooldown after N consecutive losses [0-20, step 1]
input int    InpCooldownMinutes      = 60;       // Cooldown duration (min) [0-720, step 10]

input group "=== Capital Allocation Cap ==="

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

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

الوسوم:ex02008breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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