Pipsgrowth EX16104 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16104 Trend — Expert Advisor that trades using four Hull V7 indicators with advanced exit strategies and multi-layer risk management. . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكسبرت EX16104 من PipsGrowth يقدّم بنية غير مألوفة: مسار إشارات مبنيّ على مؤشرات Hull V7، وفوقه كومة من ثماني وحدات لإدارة المخاطر. معظم إكسبرتات تتبع الاتجاه تركّز الفلاتر على الدخول وتترك الجانب الخلفي رقيقاً؛ هذا الإكسبرت يفعل العكس. النتيجة استراتيجية بعدد صفقات قليل نسبياً، لكن كل صفقة تُدار من قبل ما يشبه دائرة صغيرة لمراقبة المخاطر تعمل على كل تيكة.
مسار الإشارة مبني على صنف CHullV7Calculator المخصّص. ثلاث نسخ نشطة من هذا الصنف في لوحة المدخلات: Hull1 وHull3 وHaps4. كل نسخة تحمل فترة وقاسماً وسعراً مطبقاً ومرشح ADX اختيارياً وحساسية الكشف عن التسطح. الحساب يقوم بعملية Hull V7 بالكامل داخلياً دون استدعاء iCustom. عند أي بار، يسحب سلسلة الأسعار للخلف بالقدر الكافي لبناء الحد الداخلي 2*WMA(period/divisor) - WMA(period)، ثم يملّسه بـ WMA بطول sqrt(period)، ويعيد 1 أو -1 أو 0 بحسب ما إذا كانت القيمة المملّسة ترتفع أو تنخفض أو ثابتة. اختبار التسطح هو ما يميّز هذا المؤشر عن Hull العادي: إذا كان ميل قيمة المؤشر عبر m_flatBars أقل من m_flatSensitivity * point، تعود النسخة بصفر وتمتنع عن التصويت. مرشح ADX الاختياري يعمل بالطريقة نفسها: ADX هادئ يجعل النسخة محايدة بدلاً من أن تدلي بصوت مشوش.
النسخ الثلاث تصوّت على كل بار مغلق (InpSignalBarShift=1 يمنع إعادة رسم البارات الحية). دالة HullConsensusAtShift تجمع أصوات الشراء وأصوات البيع، وتُصدر إشارة دخول شراء عندما longVotes ≥ g_minInitialAgreement (افتراضياً 1، مضبوط على 2 في الإصدار) وshortVotes = 0؛ والعكس صحيح للبيع. المعامل g_minAdditionalAgreement (افتراضياً 1) يخفض العتبة بمجرد فتح صفقة في نفس الاتجاه، فيسمح بتكديس صفقات إضافية باتفاق أضعف. دالة SignalIsStable تفرض الاستقرار بتمشيط InpStableBarsRequired (افتراضياً 2) بارات سابقة واشتراط بقاء نفس الاتفاقية عبرها كلها — انعكاس تيكة واحدة لا يكفي لفتح صفقة.
الإعدادات الافتراضية للنسخ الثلاث متعمّدة الاختلاف. Hull1 تستخدم فترة 65 وقاسم 16.5 وسعر مرجّح وإطار M1 — نسخة سريعة تستجيب للتحرّك الأول. Hull3 تستخدم فترة 48 وقاسم 6.2 وسعر متوسط وSMA وإطار D1 مع مرشح ADX(101) عند عتبة 84. Hull4 تستخدم فترة 185 وقاسم 13.4 وسعر عالي وLWMA وإطار D1 مع مرشح ADX(116) عند عتبة 192 (عتبة مرتفعة لا تنشط إلا في اتجاهات يومية قوية). المزج مقصود: إشارة M1 سريعة، متوسط يومي يرشّح التذبذب، وLWMA يومي بسعر High لا يؤكّد إلا حين يكون التحرّك قوياً بما يكفي لدفع السعر فوق غلاف LWMA. قاعدة 2 من 3 تعني أن مرتكزي الإطار اليومي يجب أن يتفقا مع إشارة M1 قبل أي دخول.
جانب الخروج هو ما يكسر قالب إكسبرتات الاتجاه المعتادة. بدلاً من الاعتماد على جني أرباح ثابت أو trailing stop واحد، يدير محرّك الخروج سبع استراتيجيات مستقلة: تباعد CCI (ExitCheckCCI)، ميل MACD (ExitCheckMACDSlope)، كسر القمة/القاع (ExitCheckSwing)، ستوكاستيك (ExitCheckStochastic)، معدّل التغيّر (ExitCheckROC)، تأكيد الأطر المتعددة (ExitCheckMTF)، والبارابوليك SAR (ExitCheckSAR). غلاف التوافق (ExitCheckAll) يطلب InpMinExitsAgreeProfit (افتراضياً 1) أصواتاً لإغلاق صفقة رابحة، وInpMinExitsAgreeLoss (افتراضياً 1) لإغلاق صفقة خاسرة. مفتاح InpAllowIndividualExits يعطّل التوافق ويسمح لأي استراتيجية منفردة بالإغلاق. تصويت Hull معاكس يضيف مسار خروج ثالث: اتفاق 3 من 3 يغلق أي صفقة رابحة بأكثر من 80 نقطة؛ اتفاق 4 من 4 يغلق حتى الخاسرة عندما يكون InpCloseOnOppositeEvenIfInLose مفعّلاً.
بالتوازي مع توافق الخروج تعمل وحدات إدارة الصفقات القياسية: CheckProfitScalingExit وCheckTimeBasedExit وCheckBreakEvenAndLock وCheckVolatilitySpikeExit. CheckSRExit يستخدم GetSwingHigh وGetSwingLow لإغلاق الصفقات التي تتعثّر عند دعم أو مقاومة. الـtrailing stop يشدّ وقف الخسارة بخطوات 20 نقطة بعد محفّز ربح 550 نقطة (InpTrailingTriggerPts/InpTrailingStepPts)؛ التعادل ينقل الوقف إلى entry+35 عند وصول الربح إلى 288 نقطة. قفل الربح الاختياري يدفع الوقف للأمام 20 نقطة كل 500 نقطة ربح جديدة — مفيد على XAUUSD حيث 500 نقطة حركة عادية في اليوم.
إدارة المخاطر هي الجزء الذي يستهلك أكبر عدد من المعاملات. نموذج حجم الصفقة افتراضياً MM_MODE_PERCENT_RISK عند 5.5% من الرصيد لكل صفقة، مع تقريب LOT_ROUND_NEAREST وتقييد ضمن حدود الوسيط. طبقة الإيقاف الدائم تراقب ثلاثة محفّزات: تراجع رصيد 20%، أو تراجع عملة 2,000$، أو 10 خسائر متتالية. طبقة الإيقاف المؤقت تعكس ذلك عند 10% / 1,000$ / 5 خسائر، ثم تفرض 60 دقيقة تهدئة قبل الاستئناف. طبقة خسارة اليوم تحدّ التراجع اليومي عند 500$ أو 5% من الرصيد (إعادة ضبط تلقائية في اليوم التالي). طبقة حماية التسلسل توقف الإكسبرت 12 ساعة إذا سجّل 5 صفقات متتالية في نفس الاتجاه، أو انخفضت نسبة الربح في آخر 10 صفقات تحت 40%. طبقة حماية التذبذب تستخدم عيّنة 20 باراً لاكتشاف ما إذا كان التذبذب الحالي أكثر من 2.5× المتوسط فتوقف الإدخالات، مع تضخيم اختياري لتحمل الانزلاق حتى 3×. طبقة تقييد التعرّض تحدّ القيمة الإجمالية للصفقات عند 15% منEquity وتفرض عتبة 0.95 لنسبة equity/balance. طبقة وضع التعافي تنشط عند تراجع 10% وتُنصّف حجم اللوت ولا تخرج من التعافي إلا بعد 3 صفقات رابحة. طبقة مراقبة الاتصال تُعيد محاولة الأوامر الفاشلة 3 مرات بفاصل ثانية، بميزانية تنفيذ ثانية واحدة؛ إن تعذّر الاتصال تُغلق الصفقات المفتوحة قسراً.
مراقب الارتباط (ConfigureCorrelationMonitor / CorrelationMonitorHandlePositions) يتابع الارتباط اللحظي بين XAUUSD و7 أزواج رئيسية — USDJPY افتراضياً مع EURUSD وGBPUSD وAUDUSD وNZDUSD وUSDCAD وUSDCHF القابلة للتفعيل — على إطار H1 بنظرة خلفية 35 باراً. يُفرض ارتباط مطلق أدنى 3.975 (القيم مُقياسة لا Pearson خام)، وانبعاث 0.25 عبر نافذة النظر يستحث إما حظر دخول أو إغلاق قسري بحسب مفتاح InpCorrelationClosePositions. فوق ذلك يضيف نظام EventPause نوافذ أخبار مدفوعة بملف CSV، مع كشف الجمعة الأولى لـNFP وأوقات lead/lag قابلة للضبط (15 دقيقة افتراضياً) ومفتاح رمز افتراضي USDJPY — غيّر اسم الملف والمفتاح لمتابعة سلسلة أحداث مختلفة. حارس الجمعة الأولى يعمل أيضاً باستقلالية فيوقف الإدخالات من 8:30 بتوقيت الوسيط ±30 دقيقة حول صدور NFP.
كثافة شبكة الأمان تأتي بتكلفة إعداد. المصدر يعرّف 480 معامل إدخال عبر 66 مجموعة. أغلب فلاتر التأكيد مطفأة افتراضياً (InpEnableRsiConfirmation هو الوحيد المفعّل بجانب تصويت Hull)، فيتعامل المتداول العملي مع أقسام إدارة الصفقات والمخاطر وHull — نحو 80 إلى 100 معامل نشط. وحدة لوحة المعلومات (CDashboardGuard) ترسم لوحة حالة تتحدّث على كل تيكة لعرض الفلتر الحاجب الحالي، مجموع تصويت Hull المباشر، هامش التوافق، وسلسلة حالة توقف الأحداث.
في الباك تيست، يعكس النموذج ما تتوقعه من إعداد 5.5% مخاطرة للصفقة و1:10 ربح/خسارة مع توافق 2 من 3 من Hull ومحرّك مخاطر من ثماني طبقات. تكرار الصفقات منخفض — مرتكزا D1 نادراً ما يتفقان على رسوم M5 السريعة، فينتظر الإكسبرت توافقاً نظيفاً متعدد الأطر قبل الإطلاق. منحنى Equity يميل إلى الدرَج مع سحب حادّ عرضي عند انفجار قاطع 5 أو 10 خسائر. نسبة 5.5% مخاطرة للصفقة مرتفعة، وأرصدة 1,000$+ تمنح طبقات المخاطر الثماني مساحة للعمل دون تفعيل الإيقاف الدائم باكراً، فيما تعامل طبقة التعرّض الأرصدة دون 200$ كغير قابلة للتداول.
تفاصيل الاستراتيجية
صنف CHullV7Calculator يحسب قيمة Hull V7 بالكامل داخلياً من مدخلات WMA(period/divisor) وWMA(period) الأولية، ويعيد لكل نسخة 1 (شراء) أو -1 (بيع) أو 0 (محايد)، ويضمّ مرشح ADX واختبار ميل التسطح ضمن استدعاء GetDirection(shift) نفسه. HullConsensusAtShift تجمع الأصوات، وg_minInitialAgreement (افتراضياً 1، مضبوط على 2) يتحكم في عتبة الدخول، وSignalIsStable تمشط InpStableBarsRequired بارات سابقة لرفض انعكاسات تيكة واحدة. جانب الخروج تتولاه CheckProfitScalingExit وCheckTimeBasedExit وCheckMomentumExit وCheckBreakEvenAndLock وCheckVolatilitySpikeExit وCheckSRExit وتوافق ExitCheckAll السباعي. CorrelationMonitorHandlePositions يتفاعل عندما ينحرف XAUUSD عن 7 أزواج رئيسية؛ ثماني وحدات مخاطر — الإيقاف الدائم والإيقاف المؤقت وحد خسارة اليوم وحماية التسلسل وحماية التذبذب وتقييد التعرّض ووضع التعافي ومراقب الاتصال — تعمل جميعها كحواجز عدم-تدخل على كل تيكة.
يُفعَّل دخول الشراء عندما تصوّت نسختان على الأقل من نسخ Hull V7 الثلاث النشطة (Hull1 على M1 وHull3 على D1 وHull4 على D1) لصالح الشراء ولا تصوّت أيّ منهن لصالح البيع، مع بقاء نفس التوافق مستقراً عبر آخر باراتين مغلقتين (InpSignalBarShift=1 وInpStableBarsRequired=2). بعد فتح صفقة في الاتجاه نفسه، تنخفض العتبة إلى 1 من 3 للإدخالات الإضافية (g_minAdditionalAgreement=1). يمكن لمحاذاة الاتجاه متعدد الأطر وADX وRSI(41) وأربعة عشر فلتراً آخر أن تلغي كلٌّ منها الإدخال باستقلالية؛ فقط تصويت Hull وتأكيد RSI مفعّلان في الإعداد الافتراضي.
يتحكم في الخروج محرّك توافق من 7 استراتيجيات: تباعد CCI وميل MACD وكسر القمة/القاع وستوكاستيك وROC وMTF والبارابوليك SAR، يطلب صوتاً واحداً على الأقل (افتراضي InpMinExitsAgreeProfit=1) قبل إغلاق صفقة رابحة ونفس العدد للخاسرة. يضيف تصويت Hull معاكس مساراً ثانياً: اتفاق 3 من 3 مغلق أي صفقة رابحة بأكثر من 80 نقطة، بينما اتفاق 4 من 4 يغلق الخاسرة عندما يكون InpCloseOnOppositeEvenIfInLose مفعّلاً. CheckSRExit يغلق الصفقات التي تتعثّر عند دعم أو مقاومة؛ الخروج المعتمد على الوقت وحماية نهاية الأسبوع يعملان بالتوازي.
وقف الخسارة الابتدائي 200 نقطة من الدخول (InpStopLossPoints=200.0)، يُشدّد إلى entry+35 عند وصول الربح إلى 288 نقطة (InpBreakEvenTrigger=288 وInpBreakEvenOffset=35). الـtrailing stop يشدّ الوقف بخطوات 20 نقطة بعد محفّز ربح 550 نقطة (InpTrailingTriggerPts=550 وInpTrailingStepPts=20). وضع قفل الربح الاختياري يدفع الوقف للأمام 20 نقطة كل 500 نقطة ربح جديدة.
جني الأرباح الابتدائي 2000 نقطة (InpTakeProfitPoints=2000.0)، بنسبة مخاطرة/مكافأة 1:10 مقابل وقف 200 نقطة. فلسفة الإكسبرت القائمة على الـtrailing stop تسمح للصفقات الرابحة بتجاوز TP بكثير؛ توافق الخروج من 7 استراتيجيات وإشارات Hull المعاكسة عادةً تغلق الصفقة قبل الوصول إلى جني الأرباح الأصلي.
الحد الأدنى الموصى به للرصيد 100$ على وسيط XAUUSD بفارق سعر منخفض، بحجم يناسب مستوى المخاطرة MEDIUM؛ مخاطرة 5.5% لكل صفقة ومحرّك المخاطر من 8 طبقات يفترضان أرصدة أعلى من 1,000$ لإعطاء وحدتي الإيقاف المؤقت والدائم مساحة للعمل. الأنسب على الرسوم البيانية M5 وH1 حيث يمكن لنسخة Hull1 على M1 أن تقترن مع مرتكزي Hull3 وHull4 على D1 لتحقيق محاذاة متعددة الأطر. تنفيذ ECN أو RAW-SPREAD مهم لأن حارس التذبذب في الإكسبرت يراقب الفارق اللحظي، وInpEnableMarginGuard عند 240% يحظر الإدخالات حين يكون هامش الحساب ضيّقاً.
منطق الاستراتيجية
Pipsgrowth EX16104 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216104
الإصدار: 2.00
الوصف:
Expert Advisor that trades using four Hull V7 indicators with advanced exit strategies and multi-layer risk management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
tfRsiHandletfEmaFastHandletfEmaSlowHandle
الدوال الرئيسية:
PrepareTradeComment()ExitShouldClosePosition()ExitGetPositionProfitPoints()ExitSortPositionsByAge()ExitFindRecentPivots()ExitDetectCCIDivergence()ExitCalculateROC()ExitGetSwingHighLow()ExitDeinit()ExitInit()
// Pipsgrowth EX16104 Trend — Execution Flow (from source analysis)
// Family: Trend
// Expert Advisor that trades using four Hull V7 indicators with advanced exit strategies and multi-layer risk management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
ON_INIT:
Create indicator handles: tfRsiHandle, tfEmaFastHandle, tfEmaSlowHandle
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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpLots | 0.10 | Fixed lot size (0.01,0.01,50.0) |
| InpSlippagePoints | 20 | Max slippage (points) (0,1,100) |
| InpMagicNumber | 22216104 | Magic number (1,1,99999999) |
| InpTradeComment | "Psgrowth.com Expert_16104" | Trade comment for new positions |
| InpMoneyManagementMode | MM_MODE_PERCENT_RISK | Money management mode |
| InpRiskPerTradePercent | 5.5 | Risk per trade (% of balance) (0.1,0.1,10.0) |
| InpLotRoundingMode | LOT_ROUND_NEAREST | Lot rounding mode |
| InpStopLossPoints | 200.0 | Initial stop loss (points) (10.0,1.0,5000.0) |
| InpTakeProfitPoints | 2000.0 | Initial take profit (points) (10.0,1.0,10000.0) |
| InpEnableMarginGuard | true | Enforce minimum margin level before new trades |
| InpMinMarginLevelPerc | 240.0 | Minimum margin level (%) (100.0,1.0,1000.0) |
| InpEnableFreeMarginGuard | false | Enforce minimum free margin before new trades |
| InpMinFreeMarginCurrency | 0.0 | Minimum free margin (account currency) |
| InpEnableTrailingStop | true | Master toggle for trailing stop management |
| InpTrailingTriggerPts | 550.0 | Trailing stop trigger (points) (5.0,1.0,500.0) |
| InpTrailingStepPts | 20.0 | Trailing stop step (points) (10.0,1.0,2000.0) |
| InpEnableBreakEven | true | Move SL to break-even |
| InpBreakEvenTrigger | 288.0 | Profit trigger (points) (5.0,1.0,500.0) |
| InpBreakEvenOffset | 35.0 | Offset from entry (points) (0.0,1.0,100.0) |
| InpEnableProfitLock | false | Lock profits |
| InpProfitLockIncrement | 500.0 | Lock every X points (10.0,1.0,500.0) |
| InpProfitLockStep | 20.0 | Distance from current price (1.0,1.0,200.0) |
| InpEnableProfitGate | true | Require existing trades be in profit |
| InpProfitGatePoints | 10.0 | Minimum profit (points) per trade (1.0,1.0,500.0) |
| InpMaxOpenPositions | 0 | Maximum open positions (0=unlimited) (0,1,100) |
| InpEnablePermanentStop | false | Enable permanent stop (hard shutdown) |
| InpPermanentStopUseDrawdownPercent | true | Use drawdown % threshold for permanent stop |
| InpPermanentStopDrawdownPercent | 20.0 | Max drawdown % to trigger permanent stop (1.0,0.5,50.0) |
| InpPermanentStopUseDrawdownCurrency | true | Use drawdown currency threshold for permanent stop |
| InpPermanentStopDrawdownCurrency | 2000.0 | Max drawdown $ to trigger permanent stop (10.0,10.0,10000.0) |
| InpPermanentStopUseConsecutiveLosses | true | Use consecutive loss threshold for permanent stop |
| InpPermanentStopConsecutiveLosses | 10 | Max consecutive losses to trigger permanent stop (1,1,20) |
| InpPermanentStopCloseAll | true | Close all positions on permanent stop |
| InpPermanentStopNotify | true | Send alert on permanent stop |
| InpEnableTemporaryPause | false | Enable temporary pause (recoverable) |
| InpPauseUseDrawdownPercent | true | Use drawdown % trigger for temporary pause |
| InpPauseDrawdownPercent | 10.0 | Drawdown % to trigger pause (1.0,0.5,50.0) |
| InpPauseUseDrawdownCurrency | true | Use drawdown currency trigger for temporary pause |
| InpPauseDrawdownCurrency | 1000.0 | Drawdown $ to trigger pause (10.0,10.0,10000.0) |
| InpPauseUseConsecutiveLosses | true | Use consecutive loss trigger for temporary pause |
| InpPauseConsecutiveLosses | 5 | Consecutive losses to trigger pause (1,1,20) |
| InpPauseUseCooldown | true | Apply cooldown timer for temporary pause |
| InpPauseCooldownMinutes | 60 | Cooldown period before auto-resume (0,10,1440) |
| InpPauseClosePositions | true | Close positions when pause triggers |
| InpPauseNotify | true | Send alert when pause triggers |
| InpEnableDailyLimit | false | Enable daily loss limit |
| InpDailyLimitUseCurrency | true | Use currency-based daily loss limit |
| InpDailyLossLimitCurrency | 500.0 | Max daily loss in account currency (50.0,10.0,10000.0) |
| InpDailyLimitUsePercent | true | Use percentage-based daily loss limit |
| InpDailyLossLimitPercent | 5.0 | Max daily loss as % of balance (0.5,0.1,25.0) |
| InpDailyLimitResumeNextDay | true | Auto-resume at next market day |
| InpDailyLimitNotify | true | Send alert when daily limit triggers |
| InpEnableSequenceProtection | false | Enable trade sequence monitoring |
| InpSequenceUseConsecutiveSameSide | true | Use consecutive same-side trades trigger |
| InpMaxConsecutiveSameSide | 5 | Max consecutive trades in same direction (3,1,15) |
| InpSequenceUseWinRate | true | Use win-rate trigger |
| InpRequiredWinRatePercent | 40.0 | Minimum required win rate % (25.0,1.0,75.0) |
| InpWinRateMonitoringTrades | 10 | Trades to monitor for win rate (5,5,50) |
| InpPauseOnLowWinRate | true | Pause trading on low win rate |
| InpPauseDurationHours | 12 | Pause duration in hours (1,1,48) |
| InpEnableVolatilityGuard | false | Pause during extreme volatility |
| InpVolatilityMultiplier | 2.5 | Volatility threshold vs average (1.5,0.1,5.0) |
| InpVolatilitySamplePeriod | 20 | Bars to measure volatility (10,5,50) |
| InpVolatilityAdaptSlippage | true | Adjust max slippage based on volatility |
| InpVolatilityMaxSlippageFactor | 3.0 | Maximum slippage multiplier (1.5,1.0,10.0) |
| InpEnableExposureLimit | false | Limit total risk exposure |
| InpExposureUsePositionPercent | true | Use exposure percentage limit |
| InpMaxPositionValuePercent | 15.0 | Max position size % of equity (5.0,1.0,50.0) |
| InpExposureUseEquityRatio | false | Use equity/balance ratio floor |
| InpEquityToBalanceMinRatio | 0.95 | Min equity/balance ratio (0.80,0.50,1.0) |
| InpReducePositionSizeOnDrawdown | false | Reduce position sizing during drawdown |
| InpPositionSizeReduceFactor | 0.5 | Position size reduction factor (0.5,0.1,0.9) |
| InpEnableRecoveryMode | false | Use recovery after drawdown |
| InpRecoveryStartPercent | 10.0 | Drawdown % to activate recovery (5.0,1.0,25.0) |
| InpRecoveryLotMultiplier | 0.5 | Position size reduction factor (0.5,0.1,1.0) |
| InpRecoverySuccessTrades | 3 | Profitable trades to exit recovery (2,1,10) |
| InpRecoveryReduceRisk | true | Use tighter stops in recovery mode |
| InpEnableConnectionMonitor | false | Monitor connection stability |
| InpMaxExecutionTimeMS | 1000 | Max execution time in ms (500,100,5000) |
| InpMaxOrderRetries | 3 | Max order retries on failure (2,1,10) |
| InpOrderRetryDelayMS | 1000 | Delay between retries in ms (500,100,5000) |
| InpForceCloseOnTimeout | true | Close positions on persistent timeouts |
| InpEnableDebugTree | false | Enable tree-style debug logging |
| InpDebugTreeIncludeTimestamp | true | Include timestamps in debug output |
| InpmainSignal | "=== Main Signal ===" | Section header for inputs |
| InpUseExitConsensus | true | Use coordinated exit consensus |
| InpEnableProfitConsensus | true | Require consensus for profitable exits |
| InpMinExitsAgreeProfit | 1 | Min exits agreeing to close profitable (1,1,7) |
| InpEnableLossConsensus | true | Require agreement for loss exits |
| InpMinExitsAgreeLoss | 1 | Min exits agreeing to close losing (1,1,7) |
| InpExitConsensusProfitThreshold | 45.0 | Min profit (points) for consensus exit (0.0,1.0,100.0) |
| InpAllowIndividualExits | false | Allow individual strategies to exit independently |
| InpIndividualExitsProfitOnly | false | Individual exits require profit |
| InpIndividualExitMinProfit | 30.0 | Min profit for individual exit (0.0,1.0,100.0) |
| InpSignalBarShift | 1 | Signal bar shift (0=current,1=closed) |
| InpMinIndicatorsAgreeForInitialTrades | 2 | Minimum Hulls agreeing for initial entries (1,1,4) |
| InpMinIndicatorsAgreeForAdditonalTrades | 1 | Minimum Hulls agreeing for additional entries (1,1,4) |
| InpRequireStableSignal | true | Require consensus to persist |
| InpStableBarsRequired | 2 | Consecutive bars with same consensus (1,1,10) |
| Hull1_Enabled | true | Enable Hull 1 |
| Hull1_Period | 65 | Hull period (2,1,600) |
| Hull1_Divisor | 16.5 | Hull divisor ("speed") |
| Hull1_Price | 7 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price |
| Hull1_Timeframe | 1 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Evaluation timeframe (PERIOD_CURRENT=chart) |
| Hull3_Enabled | true | Enable Hull 3 |
| Hull3_Period | 48 | Hull Period (9,1,600) |
| Hull3_Divisor | 6.2 | Hull Divisor (2.0,0.1,25.0) |
| Hull3_Price | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| Hull3_Timeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| Hull3_FlatSensitivity | 2.5 | Flat Sensitivity (1.0,0.5,40.0) |
| Hull3_FlatBars | 1 | Flat Bars (1,1,20) |
| Hull3_AdxTimeframe | 5 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| Hull3_AdxPeriod | 101 | ADX Period (7,1,100) |
| Hull3_AdxThreshold | 84.0 | ADX Threshold (20.0,0.5,80.0) |
| Hull3_MomentumLookback | 40 | Momentum Lookback (3,1,50) |
| Hull3_MomentumPoints | 12.0 | Momentum Points (5.0,0.5,100.0) |
| Hull4_Enabled | true | Enable Hull 4 |
| Hull4_Period | 185 | Hull Period (9,1,1000) |
| Hull4_Divisor | 13.4 | Hull Divisor (1.0,0.1,40.0) |
| Hull4_Price | 3 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| Hull4_Timeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| Hull4_FlatSensitivity | 6.0 | Flat Sensitivity (1.0,0.5,40.0) |
| Hull4_FlatBars | 7 | Flat Bars (1,1,20) |
| Hull4_AdxTimeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| Hull4_AdxPeriod | 116 | ADX Period (7,1,50) |
| Hull4_AdxThreshold | 192.0 | ADX Threshold (10.0,0.5,60.0) |
| Hull4_MomentumLookback | 20 | Momentum Lookback (3,1,50) |
| Hull4_MomentumPoints | 41.0 | Momentum Points (1.0,0.5,40.0) |
| InpCloseOnOpposite | true | Close trades on opposite agreement if in profit |
| InpMinIndicatorsAgreeCloseProfit | 3 | Minimum Hulls to close in profit (1,1,4) |
| InpCloseProfitPoints | 80.0 | Minimum profit (points) to close on opposite (0.0,1.0,200.0) |
| InpCloseOnOppositeEvenIfInLose | true | Close trades on opposite agreement even if losing |
| InpMinIndicatorsAgreeCloseLoss | 4 | Minimum Hulls to close even if losing (1,1,4) |
| InpFilters | "=== Start of Filters ===" | Section header for inputs |
| InpEnableRsiConfirmation | true | Require RSI confirmation for entries |
| InpRsiTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpRsiPeriod | 41 | RSI Period (5,1,30) |
| InpRsiPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| InpRsiBuyMin | 36.0 | RSI Buy Min (0.0,1.0,50.0) |
| InpRsiBuyMax | 70.0 | RSI Buy Max (50.0,1.0,80.0) |
| InpRsiSellMin | 40.0 | RSI Sell Min (20.0,1.0,50.0) |
| InpRsiSellMax | 53.0 | RSI Sell Max (70.0,1.0,100.0) |
| InpEnableHtfRsiFilter | false | Enable HTF RSI confirmation filter |
| InpHtfRsiUseForInitialTrades | true | Use for initial trade entries |
| InpHtfRsiUseForAdditionalTrades | false | Use for additional trades (same direction) |
| InpHtfRsiTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF RSI timeframe |
| InpHtfRsiPeriod | 34 | HTF RSI Period (5,1,200) |
| InpHtfRsiPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // HTF RSI applied price |
| InpHtfRsiBuyMin | 35.0 | HTF RSI Buy Min (0.0,1.0,50.0) |
| InpHtfRsiBuyMax | 70.0 | HTF RSI Buy Max (50.0,1.0,80.0) |
| InpHtfRsiSellMin | 30.0 | HTF RSI Sell Min (20.0,1.0,50.0) |
| InpHtfRsiSellMax | 60.0 | HTF RSI Sell Max (70.0,1.0,100.0) |
| InpEnableMacdFilter | false | Enable MACD confirmation filter |
| InpMacdUseForInitialTrades | true | Use for initial trade entries |
| InpMacdUseForAdditionalTrades | false | Use for additional trades |
| InpMacdTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MACD timeframe |
| InpMacdFastEma | 12 | MACD Fast EMA (5,1,50) |
| InpMacdSlowEma | 26 | MACD Slow EMA (10,1,100) |
| InpMacdSignalPeriod | 9 | MACD Signal Period (5,1,30) |
| InpMacdPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MACD Applied Price |
| InpMacdRequireHistogramPositive | true | Histogram must be positive for BUY |
| InpMacdRequireMainAboveSignal | true | Main line must be above signal for BUY |
| InpMacdRequireZeroCross | false | Require recent zero-line cross |
| InpMacdCrossBarsLookback | 5 | Max bars since zero cross (1,1,20) |
| InpMacdRequireMinHistogram | false | Require minimum histogram strength |
| InpMacdMinHistogramValue | 0.0001 | Min histogram absolute value (0.0,0.00001,0.01) |
| InpMacdRequireIncreasingMomentum | false | Histogram must be growing |
| InpMacdMomentumBarsCheck | 2 | Bars to check momentum growth (1,1,5) |
| InpEnableHTFEmaFilter | false | Enable HTF EMA confirmation filter |
| InpHTFEma_UseForInitialTrades | true | Use for initial trade entries |
| InpHTFEma_UseForAdditionalTrades | false | Use for additional trades (same direction) |
| InpHTFEma_Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF EMA timeframe |
| InpHTFEma_FastPeriod | 21 | Fast EMA period (5,1,200) |
| InpHTFEma_SlowPeriod | 50 | Slow EMA period (10,1,500) |
| InpHTFEma_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // EMA applied price |
| InpHTFEma_Mode | HTF_EMA_ALL_ALIGNED | EMA confirmation mode |
| InpHTFEma_CrossoverBars | 5 | Max bars since crossover (1,1,20) |
| InpHTFEma_RequireMinSeparation | false | Require minimum EMA separation |
| InpHTFEma_MinSeparationPoints | 10.0 | Min separation in points (1.0,1.0,500.0) |
| InpHTFEma_RequirePriceDistance | false | Require price distance from EMAs |
| InpHTFEma_MinPriceDistancePoints | 5.0 | Min distance in points (1.0,1.0,200.0) |
| InpHTFEma_RequireSlope | false | Require EMA slope alignment |
| InpHTFEma_SlopeLookback | 3 | Bars for slope calculation (2,1,10) |
| InpHTFEma_MinSlopePoints | 1.0 | Min slope in points (0.1,0.1,50.0) |
| InpHTFEma_WaitForPullback | false | Wait for price pullback to fast EMA |
| InpHTFEma_PullbackTolerancePoints | 20.0 | Pullback tolerance in points (5.0,1.0,100.0) |
| InpHTFEma_UseAdaptiveThresholds | false | Use ATR-based adaptive thresholds |
| InpHTFEma_AdaptiveAtrPeriod | 14 | ATR period for adaptive mode (5,1,50) |
| InpHTFEma_AdaptiveMultiplier | 1.5 | Multiplier for adaptive thresholds (0.5,0.1,5.0) |
| InpEnablePriceActionFilter | false | Enable price action confirmation |
| InpPA_UseForInitialTrades | true | Use for initial trade entries |
| InpPA_UseForAdditionalTrades | false | Use for additional trades (same direction) |
| InpPA_RequireEngulfing | false | Require engulfing candle pattern |
| InpPA_RequirePinBar | false | Require pin bar/rejection pattern |
| InpPA_PinBarWickRatio | 2.0 | Min wick/body ratio for pin bar (1.5,0.5,5.0) |
| InpPA_RequireInsideBar | false | Require inside bar breakout |
| InpPA_AllowAnyPattern | true | Accept trade if ANY pattern matches (vs ALL) |
| InpPA_RequireBodySize | true | Require minimum candle body |
| InpPA_MinBodyPercent | 50.0 | Min body % of total range (30.0,5.0,90.0) |
| InpPA_BlockDoji | true | Block doji/spinning top patterns |
| InpPA_DojiThreshold | 30.0 | Max body % for doji (10.0,5.0,40.0) |
| InpPA_RequireCloseInDirection | true | Close must be in trade direction |
| InpPA_MinClosePositionPercent | 60.0 | Min close position in range % (50.0,10.0,90.0) |
| InpPA_RequireMinBarSize | true | Require minimum bar size |
| InpPA_MinBarSizePoints | 8 | Minimum bar size in points (2,1,50) |
| InpPA_UseATRForBarSize | true | Use ATR-based dynamic sizing |
| InpPA_MinATRMultiplier | 0.3 | Min bar size as ATR multiple (0.1,0.1,2.0) |
| InpPA_ATRPeriod | 14 | ATR period for bar sizing (10,5,50) |
| InpPA_RequireConsecutiveBars | false | Require consecutive bars in direction |
| InpPA_ConsecutiveCount | 2 | Number of consecutive bars (2,1,5) |
| InpPA_RequireHigherClose | true | BUY: close > prev close | SELL: close < prev |
| InpPA_RequireHigherHigh | false | BUY: high > prev high | SELL: low < prev low |
| InpPA_LimitWickSize | true | Limit opposing wick size |
| InpPA_MaxOpposingWickPercent | 40.0 | Max opposing wick % of range (20.0,10.0,70.0) |
| InpPA_RequireStrongClose | true | Close in top/bottom third of bar |
| InpPA_StrongClosePercent | 70.0 | Min % threshold for strong close (60.0,50.0,90.0) |
| InpEnableMTFTrendFilter | false | Enable MTF trend alignment |
| InpMTFTrend_UseForInitialTrades | true | Use for initial trade entries |
| InpMTFTrend_UseForAdditionalTrades | false | Use for additional trades |
| InpMTFTrend_Timeframe1 | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trend timeframe 1 (intermediate) |
| InpMTFTrend_Timeframe2 | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trend timeframe 2 (higher) |
| InpMTFTrend_Timeframe3 | 10 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trend timeframe 3 (daily) |
| InpMTFTrend_MA1Period | 20 | TF1 MA period (10,1,200) |
| InpMTFTrend_MA2Period | 50 | TF2 MA period (10,1,200) |
| InpMTFTrend_MA3Period | 100 | TF3 MA period (10,1,200) |
| InpMTFTrend_MAMethod | MODE_EMA | MA calculation method |
| InpMTFTrend_MAPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA applied price |
| InpMTFTrend_MinAligned | 2 | Min timeframes aligned (1,1,3) |
| InpMTFTrend_RequirePriceAbove | true | Price must be above/below all MAs |
| InpMTFTrend_RequireSlope | false | Require MA slope in direction |
| InpMTFTrend_SlopeLookback | 3 | Bars for slope calculation (2,1,10) |
| InpEnableAdxTrendFilter | false | Enable ADX trend filter |
| InpAdxTrend_UseForInitialTrades | true | Use for initial trade entries |
| InpAdxTrend_UseForAdditionalTrades | false | Use for additional trades |
| InpAdxTrend_Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ADX timeframe |
| InpAdxTrend_Period | 14 | ADX period (7,1,50) |
| InpAdxTrend_MinStrength | 25.0 | Min ADX value for trend (15.0,5.0,50.0) |
| InpAdxTrend_RequireDIAlignment | true | Require DI+/DI- directional confirmation |
| InpAdxTrend_MinDISeparation | 5.0 | Min DI+/DI- separation (0.0,1.0,20.0) |
| InpAdxTrend_RequireRising | false | Require ADX to be rising (strengthening trend) |
| InpAdxTrend_RisingBars | 2 | Bars to confirm ADX rise (1,1,5) |
| InpEnableSupertrendFilter | false | Enable Supertrend filter |
| InpSupertrend_UseForInitialTrades | true | Use for initial trade entries |
| InpSupertrend_UseForAdditionalTrades | false | Use for additional trades |
| InpSupertrend_Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Supertrend timeframe |
| InpSupertrend_Period | 10 | ATR period (7,1,50) |
| InpSupertrend_Multiplier | 3.0 | ATR multiplier (1.0,0.5,10.0) |
| InpSupertrend_RequireConsecutiveBars | false | Require X bars in same trend state |
| InpSupertrend_ConsecutiveCount | 2 | Consecutive bars required (1,1,5) |
| InpEnableIchimokuFilter | false | Enable Ichimoku filter |
| InpIchimoku_UseForInitialTrades | true | Use for initial trade entries |
| InpIchimoku_UseForAdditionalTrades | false | Use for additional trades |
| InpIchimoku_Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Ichimoku timeframe |
| InpIchimoku_TenkanPeriod | 9 | Tenkan-sen period (5,1,20) |
| InpIchimoku_KijunPeriod | 26 | Kijun-sen period (10,1,50) |
| InpIchimoku_SenkouPeriodB | 52 | Senkou Span B period (20,1,100) |
| InpIchimoku_RequireAboveCloud | true | BUY: price above cloud, SELL: below |
| InpIchimoku_RequireTKCross | false | Require Tenkan/Kijun crossover |
| InpIchimoku_CrossLookback | 5 | Max bars since TK cross (1,1,20) |
| InpIchimoku_RequireChikouClear | true | Chikou must be clear (not in price) |
| InpEnableVwapFilter | false | Enable VWAP filter |
| InpVwap_UseForInitialTrades | true | Use for initial trade entries |
| InpVwap_UseForAdditionalTrades | false | Use for additional trades |
| InpVwap_Timeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // VWAP timeframe |
| InpVwap_Period | 20 | VWAP period (10,1,100) |
| InpVwap_RequirePriceAbove | true | BUY: price > VWAP, SELL: price < VWAP |
| InpVwap_RequireSlope | true | VWAP must slope in trade direction |
| InpVwap_SlopeLookback | 3 | Bars for slope calculation (2,1,10) |
| InpVwap_RequireMinDistance | false | Require min distance from VWAP |
| InpVwap_MinDistancePoints | 5.0 | Min distance in points (1.0,1.0,100.0) |
| InpEnableCorrelationMonitor | true | Enable correlation monitoring |
| InpCorrelationBlockEntries | true | Block new entries on correlation breakdown |
| InpCorrelationClosePositions | false | Close positions when correlation breaks down |
| InpCorrelationTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Correlation timeframe |
| InpCorrelationLookback | 35 | Bars to evaluate correlation (10,1,500) |
| InpCorrelationMinThreshold | 3.975 | Minimum absolute correlation allowed (0.1,0.01,0.99) |
| InpCorrelationDivergenceTrigger | 0.25 | Minimum change to flag breakdown (0.05,0.01,1.0) |
| InpCorrelationConfirmBars | 1 | Consecutive bars required to confirm breakdown (1,1,10) |
| InpCorrelationSymbolSuffix | "m" | Broker symbol suffix (auto-appended) |
| InpCorrWatch_EURUSD | false | Monitor EURUSD correlation |
| InpCorrWatch_GBPUSD | false | Monitor GBPUSD correlation |
| InpCorrWatch_AUDUSD | false | Monitor AUDUSD correlation |
| InpCorrWatch_NZDUSD | false | Monitor NZDUSD correlation |
| InpCorrWatch_USDJPY | true | Monitor USDJPY correlation |
| InpCorrWatch_USDCAD | false | Monitor USDCAD correlation |
| InpCorrWatch_USDCHF | true | Monitor USDCHF correlation |
| InpCorrWatch_XAUUSD | false | Monitor XAUUSD correlation |
| InpEnableBarRangeFilter | false | Require minimum average bar range |
| InpBarRangeLookback | 5 | Number of bars to average (2,1,50) |
| InpMinBarRangePoints | 50.0 | Minimum average range (points) (1.0,1.0,1000.0) |
| InpEnableNFPFilter | true | Block trading on first Friday (NFP) |
| InpNFPStartHour | 8 | NFP release hour (broker time) (0,1,23) |
| InpNFPStartMinute | 30 | NFP release minute (0,1,59) |
| InpNFPAvoidMinutesBefore | 30 | Stop trading X min before NFP (5,1,120) |
| InpNFPAvoidMinutesAfter | 30 | Resume trading X min after NFP (5,1,120) |
| InpNFPClosePositions | false | Close positions before NFP |
| InpNFPCloseMinutesBefore | 10 | Close X min before NFP (1,1,60) |
| InpNFPCloseProfitOnly | true | Only close profitable positions |
| InpEnableEventPauseFilter | false | Enable CSV-driven event blackout |
| InpEventPauseCsvFile | "USDJPY.csv" | CSV filename located in MQL5\Files |
| InpEventPauseReloadMinutes | 60 | Reload CSV every N minutes (0=load once) |
| InpEventPauseLeadMinutes | 15 | Start blocking N minutes before pause window |
| InpEventPauseLagMinutes | 15 | Continue blocking N minutes after pause window |
| InpEventPauseDefaultYear | 0 | Override year if CSV omits it (0=auto) |
| InpEventPauseSymbolKey | "USDJPY" | Symbol keyword to match events |
| InpEnableAtrFilter | true | Require minimum ATR |
| InpAtrTimeframe | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpAtrPeriod | 60 | ATR period (5,1,50) |
| InpAtrAveragePeriod | 185 | ATR average period (10,1,200) |
| InpAtrMultiplierMin | 0.69 | ATR must be >= average*multiplier (0.5,0.1,5.0) |
| InpEnableSpreadFilter | true | Block trades during wide spreads |
| InpMaxSpreadPoints | 20.0 | Maximum allowed spread (points) (1.0,1.0,200.0) |
| InpEnableVolumeFilter | true | Enable volume filter for entries |
| InpVolumeType | VOLUME_TICK | Volume type to analyze |
| InpVolumeTimeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Volume data timeframe |
| InpVolumeThreshold | 0 | Minimum volume threshold (0=disabled) |
| InpUseVolumeAverage | true | Compare to average volume |
| InpVolumeAvgPeriod | 10 | Volume average period (5,1,100) |
| InpVolumeMultiplier | 0.65 | Volume must be >= average*multiplier (0.1,0.1,5.0) |
| InpEnableSessionFilters | true | Enable session-based trading |
| InpUseServerTime | true | Use broker server time (vs local) |
| InpTesterIgnoreMarketClosures | true | Ignore market closure guards while running in Strategy Tester |
| InpAsianSessionEnabled | true | Enable trading during Asian session |
| InpAsianSessionStartHour | 4 | Asian session start hour (0,1,23) |
| InpAsianSessionStartMinute | 20 | Asian session start minute (0,1,59) |
| InpAsianSessionEndHour | 19 | Asian session end hour (0,1,23) |
| InpAsianSessionEndMinute | 40 | Asian session end minute (0,1,59) |
| InpEuropeanSessionEnabled | true | Enable trading during European session |
| InpEuropeanSessionStartHour | 4 | European session start hour (0,1,23) |
| InpEuropeanSessionStartMinute | 0 | European session start minute (0,1,59) |
| InpEuropeanSessionEndHour | 17 | European session end hour (0,1,23) |
| InpEuropeanSessionEndMinute | 0 | European session end minute (0,1,59) |
| InpUSSessionEnabled | true | Enable trading during US session |
| InpUSSessionStartHour | 0 | US session start hour (0,1,23) |
| InpUSSessionStartMinute | 0 | US session start minute (0,1,59) |
| InpUSSessionEndHour | 10 | US session end hour (0,1,23) |
| InpUSSessionEndMinute | 0 | US session end minute (0,1,59) |
| InpCustomSessionEnabled | false | Enable trading during custom session |
| InpCustomSessionStartHour | 22 | Custom session start hour (0,1,23) |
| InpCustomSessionStartMinute | 0 | Custom session start minute (0,1,59) |
| InpCustomSessionEndHour | 23 | Custom session end hour (0,1,23) |
| InpCustomSessionEndMinute | 59 | Custom session end minute (0,1,59) |
| InpEnableEndOfDayClose | false | Close all trades at specific time |
| InpEndOfDayCloseHour | 23 | Close hour (0,1,23) |
| InpEndOfDayCloseMinute | 45 | Close minute (0,1,59) |
| InpEndOfDayProfitOnly | false | Only close profitable positions |
| InpEndOfDayBlockNewTrades | true | Block new trades after close time |
| InpEnableChoppinessFilter | true | Enable choppiness detection and filtering |
| InpChopRequireLayers | 1 | Layers required to confirm choppiness (1,1,4) |
| InpChopUseChopIndex | false | Enable Choppiness Index layer |
| InpChopIndexTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CHOP indicator timeframe |
| InpChopIndexPeriod | 134 | CHOP calculation period (10,1,50) |
| InpChopIndexThreshold | 52.5 | Choppy when CHOP > threshold (50.0,1.0,80.0) |
| InpChopUseAdx | false | Enable ADX trend strength layer |
| InpChopAdxTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ADX timeframe |
| InpChopAdxPeriod | 45 | ADX period (7,1,50) |
| InpChopAdxMinTrend | 82.5 | Choppy when ADX < threshold (15.0,1.0,40.0) |
| InpChopUseRangeCompression | true | Enable range compression detection |
| InpChopRangeTimeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Range compression timeframe |
| InpChopRangeLookback | 18 | Bars to compare range compression (3,1,20) |
| InpChopRangeAtrPeriod | 28 | ATR period for range comparison (10,1,50) |
| InpChopRangeCompressionRatio | 0.75 | Choppy when range < ATR*ratio (0.2,0.1,1.0) |
| InpChopUseAdaptiveThresholds | false | Dynamically adjust thresholds based on volatility |
| InpChopAdaptiveAtrPeriod | 50 | ATR period for adaptive scaling (20,1,100) |
| InpChopAdaptiveMultiplier | 1.5 | Volatility multiplier for adaptive mode (0.5,0.1,3.0) |
| InpENDOFFILTERS | "=== END OF Filters ===" | Section header for inputs |
| InpExitSectionHeader | "=== EXIT STRATEGIES ===" | Section header for inputs |
| InpEnableProfitScaling | false | Enable partial profit taking |
| InpScalingLevels | 3 | Number of scaling levels (1,1,5) |
| InpScalingTargets | "50,100,200" | Profit targets (points), comma-separated |
| InpScalingPercents | "30,30,40" | % to close at each level |
| InpEnableMaxHoldingTime | false | Enable position time limits |
| InpMaxHoldingHours | 14 | Maximum holding time (hours) (1,1,240) |
| InpCloseProfitableOnly | true | Close only profitable positions |
| InpMinProfitThreshold | 0.0 | Profit threshold (points) (0.0,1.0,500.0) |
| InpEnableMomentumExit | false | Exit on momentum loss |
| InpMomTimeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpMomRsiPeriod | 124 | RSI period for momentum exit (5,1,30) |
| InpMomRsiOverbought | 70.0 | RSI exit for buys (60.0,1.0,100.0) |
| InpMomRsiOversold | 40.0 | RSI exit for sells (0.0,1.0,40.0) |
| InpMomAdxPeriod | 14 | ADX period for exit (7,1,30) |
| InpMomAdxWeakThreshold | 0.0 | Exit when ADX drops below (5.0,1.0,40.0) |
| InpEnableVolatilityExit | false | Exit on ATR spike |
| InpVolExitAtrTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpVolExitAtrPeriod | 79 | ATR period (5,1,50) |
| InpVolExitAtrAvgPeriod | 25 | ATR average period (10,1,200) |
| InpVolSpikeMultiplier | 1.8 | ATR spike threshold vs avg (1.0,0.1,10.0) |
| InpVolExitProfitOnly | true | Require profit before ATR spike exit |
| InpEnableSRExit | false | Exit at key levels |
| InpSRLookbackBars | 50 | Bars to find swing points (5,1,500) |
| InpSRDistancePoints | 20.0 | Distance to trigger exit (1.0,1.0,1000.0) |
| InpSRExitProfitOnly | false | Only if profitable |
| InpEnableCCIExit | true | Enable CCI exhaustion exit |
| InpCCITimeframe | 5 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CCI timeframe |
| InpCCIPeriod | 28 | CCI period (10,1,50) |
| InpCCIPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // CCI applied price |
| InpCCIOverbought | 345.0 | Overbought level (100.0,10.0,300.0) |
| InpCCIOversold | -585.0 | Oversold level (-300.0,10.0,-100.0) |
| InpCCIUseDivergence | true | Detect divergence |
| InpCCIDivergenceBars | 32 | Divergence lookback bars (3,1,20) |
| InpCCICloseProfit | true | Close profitable positions |
| InpCCICloseLoss | false | Close losing positions too |
| InpCCIMinProfitPoints | 51.0 | Min profit to close (0.0,1.0,100.0) |
| InpEnableMACDSlopeExit | false | Enable MACD slope exit |
| InpMACDTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MACD timeframe |
| InpMACDFastEMA | 12 | Fast EMA (5,1,50) |
| InpMACDSlowEMA | 26 | Slow EMA (10,1,100) |
| InpMACDSignal | 9 | Signal line (5,1,20) |
| g_InpMacdPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MACD applied price |
| InpMACDWatchHistogram | true | Monitor histogram slope |
| InpMACDSlopeBars | 2 | Bars for slope calculation (1,1,5) |
| InpMACDWaitZeroCross | false | Wait for zero line cross |
| InpMACDCloseProfit | true | Close profitable positions |
| InpMACDCloseLoss | false | Close losing positions too |
| InpMACDMinProfitPoints | 5.0 | Min profit to close (0.0,1.0,100.0) |
| InpMACDMinSlopeThreshold | 0.0001 | Min histogram change (0.0,0.00001,0.001) |
| InpEnableSwingExit | false | Enable swing reversal exit |
| InpSwingLeftBars | 3 | Left bars for swing (2,1,10) |
| InpSwingRightBars | 2 | Right bars for swing (1,1,10) |
| InpSwingMinSize | 20.0 | Min swing size points (5.0,1.0,100.0) |
| InpSwingPartialClose | true | Close half positions first |
| InpSwingCloseProfit | true | Close profitable positions |
| InpSwingCloseLoss | false | Close losing positions too |
| InpSwingMinProfitPoints | 15.0 | Min profit to close (0.0,1.0,100.0) |
| InpSwingMaxAge | 3 | Max bars ago for swing (1,1,10) |
| InpEnableStochExit | true | Enable stochastic exit |
| InpStochTimeframe | 5 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Stochastic timeframe |
| InpStochKPeriod | 47 | %K period (5,1,50) |
| InpStochDPeriod | 27 | %D period (2,1,20) |
| InpStochSlowing | 23 | Slowing (1,1,10) |
| InpStochOverbought | 512.0 | Overbought (70.0,5.0,100.0) |
| InpStochOversold | 110.0 | Oversold (0.0,5.0,30.0) |
| InpStochWaitCross | true | Wait for %K/%D crossover |
| InpStochCloseProfit | false | Close profitable positions |
| InpStochCloseLoss | true | Close losing positions too |
| InpStochMinProfitPoints | 26.0 | Min profit to close (0.0,1.0,100.0) |
| InpEnableROCExit | false | Enable ROC momentum exit |
| InpROCTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ROC timeframe |
| InpROCPeriod | 12 | ROC lookback period (5,1,50) |
| InpROCThreshold | 0.5 | Min ROC to stay in (0.0,0.1,5.0) |
| InpROCWeakBars | 2 | Consecutive weak bars (1,1,5) |
| InpROCCloseNewest | false | Close newest positions first |
| InpROCCloseProfit | true | Close profitable positions |
| InpROCCloseLoss | false | Close losing positions too |
| InpROCMinProfitPoints | 0.0 | Min profit to close (0.0,1.0,100.0) |
| InpEnableMTFExit | false | Enable MTF trend exit |
| InpMTFTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher timeframe to monitor |
| InpMTFMAPeriod | 50 | MA period for trend (20,1,200) |
| InpMTFMAMethod | MODE_EMA | MA method |
| InpMTFCloseOnCross | true | Close when price crosses MA |
| InpMTFPartialExit | true | Close oldest 50% first |
| InpMTFCloseProfit | true | Close profitable positions |
| InpMTFCloseLoss | false | Close losing positions too |
| InpMTFMinProfitPoints | 20.0 | Min profit to close (0.0,1.0,100.0) |
| InpEnableSARExit | false | Enable SAR flip exit |
| InpSARTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // SAR timeframe |
| InpSARStep | 0.02 | SAR step (0.01,0.001,0.1) |
| InpSARMaximum | 0.2 | SAR maximum (0.1,0.01,0.5) |
| InpSARCloseAll | true | Close all positions on flip |
| InpSARCloseProfit | true | Close profitable positions |
| InpSARCloseLoss | false | Close losing positions too |
| InpSARMinProfitPoints | 0.0 | Min profit to close (0.0,1.0,100.0) |
| InpExitSectionHeaderEND | "=== END OF EXIT STRATEGIES ===" | Section header for inputs |
| InputDashboardSectionHeader | "=== DASHBOARD AND Visualization ===" | Section header for inputs |
| InpShowDashboard | false | Display on-chart dashboard |
| InpDashboardX | 8 | Dashboard X position (pixels) |
| InpDashboardY | 28 | Dashboard Y position (pixels) |
| InpDashboardWidth | 360 | Dashboard width (pixels) |
| InpDashboardBgColor | (color)525572 | Dashboard background color |
| InpDashboardBgOpacity | 245 | Dashboard fill opacity (0 transparent, 255 solid) (0,1,255) |
| InpDashboardTextColor | (color)16777215 | Dashboard text color |
| InpDashboardAccentColor | (color)16748574 | Dashboard header/accent color |
| InpAttachHullIndicators | false | Show Hull indicator overlays on chart |
| InpHullIndicatorSubwindow | 1 | Subwindow index for Hull overlays (0=main chart, 1+=subwindows) |
| InpShowRsiIndicator | false | Display RSI indicator visualization |
| InpRsiIndicatorSubwindow | 2 | Subwindow index for RSI visualization (1+=subwindows) |
| InpShowAdxIndicator | false | Display ADX indicator visualization |
| InpAdxIndicatorSubwindow | 3 | Subwindow index for ADX visualization (1+=subwindows) |
| InpShowAtrIndicator | false | Display ATR indicator visualization |
| InpAtrIndicatorSubwindow | 4 | Subwindow index for ATR visualization (1+=subwindows) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16104 Hull2EA — four Hull V7 indicator trend EA with advanced exits, full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
//+------------------------------------------------------------------+
//| Internal Hull V7 Calculator Class |
//+------------------------------------------------------------------+
class CHullV7Calculator
{
private:
string m_symbol;
ENUM_TIMEFRAMES m_timeframe;
int m_period;
double m_divisor;
ENUM_APPLIED_PRICE m_price;
double m_flatSensitivity;
int m_flatBars;
bool m_useAdx;
int m_adxHandle;
double m_adxThreshold;
double CalculateWMA(const double &price[], int n, int shift)
{
if(n <= 0) return 0.0;
double sum = 0.0;
double weightSum = 0.0;
int size = ArraySize(price);
for(int i = 0; i < n; i++)
{
int idx = shift + i;
if(idx >= size) break;
double w = (double)(n - i);
sum += price[idx] * w;
weightSum += w;
}
return (weightSum > 0.0) ? sum / weightSum : 0.0;
}
public:
CHullV7Calculator() : m_adxHandle(INVALID_HANDLE) {}
~CHullV7Calculator()
{
if(m_adxHandle != INVALID_HANDLE)
IndicatorRelease(m_adxHandle);
}
bool Init(string symbol, int period, double divisor, ENUM_APPLIED_PRICE price,
ENUM_TIMEFRAMES timeframe, double flatSensitivity, int flatBars,
bool useAdx, ENUM_TIMEFRAMES adxTf, int adxPer, double adxThresh)
{
m_symbol = symbol;
m_period = period;
m_divisor = divisor;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.